0

我在 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 文件中翻译。

4

1 回答 1

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 看起来缺少那些节点。我会从那里开始。

于 2013-10-05T20:26:50.857 回答