Magento自定义语言文件未被使用

时间:2014-12-04 07:41:40

标签: magento magento-1.9

我为Magento网站内置的功能创建了一个自定义语言文件。语言变量在我的本地机器上运行正常(当然),但是在我们的暂存环境中却没有。我的本地机器是Windows,登台服务器是Linux,所以明显的答案是文件名大小写的问题,但imho这些都是正确的。

我有自己的块覆盖Mage_Catalog,名为Feno_Catalog,效果很好。对于该config.xml文件,我添加了一些代码来加载Feno_Catalog.csv;

/local/Feno/Catalog/etc/config.xml:

<?xml version="1.0" encoding="iso-8859-1"?>
<config>
    <modules>
        <Feno_Catalog>
            <version>0.1.0</version>
        </Feno_Catalog>
    </modules>
    <global>
        <blocks>
            <catalog>
                <rewrite>
                    <class>Feno_Catalog_Block</class>
                </rewrite>
            </catalog>
        </blocks>
        <helpers>
            <catalog>
                <rewrite>
                    <class>Feno_Catalog_Helper</class>
                </rewrite>
            </catalog>
        </helpers>
    </global>
    <frontend>
        <translate>
            <modules>
                <Feno_Catalog>
                    <files>
                        <default>Feno_Catalog.csv</default>
                    </files>
                </Feno_Catalog>
            </modules>
        </translate>
    </frontend>
    <adminhtml>
        <translate>
            <modules>
                <Feno_Catalog>
                    <files>
                        <default>Feno_Catalog.csv</default>
                    </files>
                </Feno_Catalog>
            </modules>
        </translate>
    </adminhtml>
</config>

CSV文件已放入2个文件夹:/app/locale/[de_DE|en_US]/,并带有匹配的外壳。

正如我所提到的,它在我的本地计算机上工作正常,但在登台服务器上却没有。什么可能导致这个?我已经搜索了很多并清除了缓存(虽然缓存已关闭),切换语言(两种语言都不起作用 - 语言键类似于“poll_question_a1”)。

当我将翻译移动到Mage_Catalog.csv时,一切都运行正常(但当然这不是我想要的)。

那么如何解决?有没有办法找到原因?

1 个答案:

答案 0 :(得分:1)

也许既然您正在重写目录模块,您需要将翻译看起来像这样:

<translate>
    <modules>
        <Mage_Catalog>
            <files>
                <feno>Feno_Catalog.csv</feno> <!-- name it something other than default, to avoid conflict with Mage_Catalog -->
            </files>
        </Mage_Catalog>
    </modules>
</translate>

此外,您可以尝试在第131-134行左右查看app/code/core/Mage/Core/Model/Translate.php。这就是加载模块翻译的地方。尝试在那里及其周围进行一些Mage::log()次调用,看看你的CSV文件是否真的被加载了。