我需要的语言环境不包含在标准的Magento语言扩展中,所以我需要创建自己的语言环境。
这将是es-us - 美国的西班牙语。
我发现了这篇文章:http://kb.magenting.com/content/14/50/en/translate-magento-interface-magento-localization-tips.html
它说:
“如果您的语言环境没有本地化软件包,您可以通过简单地从英语或任何其他翻译复制本地化目录来创建它。”
有人可以告诉我如何从该引用中获得西班牙语(美国)的语言环境下拉菜单吗?
非常感谢你的帮助!
答案 0 :(得分:11)
我在调查Mage_Core_Model_Locale_Config时得到了这个答案,我能够提出一个完全不需要任何代码更改的解决方案。
Mage_Core_Model_Locale_Config确实包含硬编码的语言环境列表,但getAllowedLocales()方法将此与
的输出结合起来Mage::getConfig()->getNode(Mage_Core_Model_Locale::XML_PATH_ALLOW_CODES);
1.4.2中的Mage_Core_Model_Locale :: XML_PATH_ALLOW_CODES的值是
'global/locale/allow/codes'
所以你需要做的就是将以下xml添加到你的'global'标签中的app / etc / local.xml中:
<locale>
<allow>
<codes>
<en_IE/>
</codes>
</allow>
</locale>
英语(爱尔兰)语言环境将显示在您的语言环境下拉列表中。唯一的限制是语言环境代码必须是Zend Framework文档中定义的代码之一: http://framework.zend.com/manual/1.12/en/zend.locale.appendix.html
'es_US'是这些受支持的代码之一。我希望能帮助别人。
_Pez
答案 1 :(得分:2)
不幸的是,看起来好像是Mage_Core_Model_Locale_Config
中的区域设置名称是硬编码的。不仅如此,在安装过程中还会在数据库中安装语言代码。
我建议做的不是重写该类来定义自己的自定义语言,而是“捎带”在另一个语言环境中并将其代码用于自定义语言包。例如,在app / locale中,您可以放置文件夹gl_ES
,复制西班牙语语言包,然后对该语言进行修改。然后,对于商店的下拉菜单(系统&gt;配置&gt;常规&gt;区域设置),您可以选择Galician (Galician)
您认为我要求的自定义解决方案会涉及重写Mage_Core_Model_Locale_Config
以将新区域设置添加到$ _allowedLocales变量中。我认为您可能需要将该语言添加到core_language
表中,但看起来该表已被弃用。