Magento:为现有管理模块添加新字段system.xml,标签未翻译

时间:2013-10-05 00:04:41

标签: magento module label translation admin

我在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文件转换。

1 个答案:

答案 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缺少那些节点。我从那里开始。