我在admin中有一个现有模块,并在system.xml中为该模块添加了一个新字段。标签不会被翻译,但会添加该字段。实际上,只显示字段的名称而不是翻译文本。
问题是什么(缓存已清除)?
这是xml:
<fields>
<active translate="label">
<label>Enabled</label>
<frontend_type>select</frontend_type>
<source_model>adminhtml/system_config_source_yesno</source_model>
<sort_order>10</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</active>
... many fields ...
<MODULE_SH_TNT_RATES_DISCOUNT>
<label>MODULE_SH_TNT_RATES_DISCOUNT_1</label>
<comment>MODULE_SH_TNT_RATES_DISCOUNT_2</comment>
<frontend_type>textarea</frontend_type>
<sort_order>690</sort_order>
<show_in_default>1</show_in_default>
<show_in_website>1</show_in_website>
<show_in_store>1</show_in_store>
</MODULE_SH_TNT_RATES_DISCOUNT>
这是一个自己编写的管理运输模块,运行多年,但我为客户添加了一个新字段。我有语言.csv文件,其中此标签被翻译为字段的所有其他标签。当我更改现有字段的现有标签时,它们将被替换,但新字段的新标签似乎不会被翻译。所以在我的情况下,只显示MODULE_SH_TNT_RATES_DISCOUNT_1和MODULE_SH_TNT_RATES_DISCOUNT_2而不从.csv文件转换。
答案 0 :(得分:2)
查看核心模块的system.xml
<!-- ... -->
<catalog translate="label" module="catalog">
<class>separator-top</class>
<label>Catalog</label>
<!-- ... -->
请参阅translate="label"
?这就是告诉Magento <label/>
节点需要翻译的原因。
请参阅module="catalog"
?这告诉Magento哪个模块的帮助对象用于翻译。
$translated_string = Mage::helper('catalog')->__('Catalog');
你看起来像XML缺少那些节点。我从那里开始。