Ant*_*ony 3 magento magento-1.5
我有默认的page.xml.
我已经添加了
<block type="core/text" name="for_everyone">
<action method="setText" translate="text"><text>Some text!</text></action>
</block>
Run Code Online (Sandbox Code Playgroud)
至
<block type="core/text_list" name="content" as="content" translate="label">
<label>Main Content Area</label>
</block>
Run Code Online (Sandbox Code Playgroud)
我得到了这个:
<block type="core/text_list" name="content" as="content" translate="label">
<label>Main Content Area</label>
<block type="core/text" name="for_everyone">
<action method="setText" translate="text"><title>Some text!</title></action>
</block>
</block>
Run Code Online (Sandbox Code Playgroud)
然后我为我的主题添加了两个文件:
app/design/frontend/default/default/locale/en_US/translate.csv
"Some text!","Some text!"
Run Code Online (Sandbox Code Playgroud)
和
app/design/frontend/default/default/locale/fr_FR/translate.csv
"Some text!","un text!"
Run Code Online (Sandbox Code Playgroud)
但每次我运行任何语言,我都会看到"有些文字!".同时选择lang for website使用正确.例如,catalog.xml中的字符串转换为完美:
<block type="core/template" name="right.permanent.callout" template="callouts/right_col.phtml">
<action method="setImgSrc"><src>images/media/col_right_callout.jpg</src></action>
<action method="setImgAlt" translate="alt" module="catalog"><alt>Keep your eyes open for our special Back to School items and save A LOT!</alt></action>
</block>
Run Code Online (Sandbox Code Playgroud)
我也试过像那样和其他标签使用smth:
<action method="setText" translate="title"><text>Some text!</title></action>
Run Code Online (Sandbox Code Playgroud)
有谁知道问题是什么?
该translate属性应包含要翻译的以空格分隔的标记名称列表.例如,如果传递给的参数Mage_Core_Block_Text::setText()被封装在`node中,那么您应该具有以下内容:
<action method="setText" translate="foo"><foo>Some text!</foo></action>
Run Code Online (Sandbox Code Playgroud)
除非尝试通过布局XML传递数组结构,否则参数节点名称无关紧要.
另外值得注意的是,如果设置了module属性,该字符串将被传递给辅助类工厂方法(Mage::helper()- 请参阅下面的时间轴).对于看到错误翻译的情况,请验证core_translate数据库表中是否没有覆盖条目,只有在使用内联翻译时才会输入该条目.
通话顺序:
Mage_Core_Controller_Varien_Action::loadLayout()
::generateLayoutBlocks()
Mage_Core_Model_Layout::generateBlocks()
::_generateBlocks()
::_generateAction()
::_translateLayoutNode()它_translateLayoutNode()处理<action />指令的translate属性:
if (isset($node['module'])) {
$args[$arg] = Mage::helper((string)$node['module'])->__($args[$arg]);
}
else {
$args[$arg] = Mage::helper('core')->__($args[$arg]);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5475 次 |
| 最近记录: |