Файл настраиваемого языка Magento не используется

Я создал специальный языковой файл для функции, встроенной в наш веб-сайт Magento. Языковые переменные нормально работают на моем локальном компьютере (конечно), но в нашей промежуточной среде - нет. Моя локальная машина - это Windows, а промежуточный сервер - Linux, поэтому очевидным ответом будет проблема с регистром имени файла, но, по-моему, это правильно.

У меня есть собственный блок, который перезаписывает каталог 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, все также работает нормально (но, конечно, это не то, что я хочу).

Так как исправить? Есть ли способ найти причину этого?


person Richard    schedule 04.12.2014    source источник


Ответы (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>

Кроме того, вы можете попробовать поискать app/code/core/Mage/Core/Model/Translate.php в строке 131–134. Здесь он загружает переводы вашего модуля. Попробуйте сделать несколько Mage::log() вызовов там и там, чтобы проверить, действительно ли загружаются ваши CSV-файлы.

person Franklin P Strube    schedule 05.12.2014
comment
Спасибо! Запись была действительно полезной. Теперь я вижу, что локально модуль для перевода загружен, а в нашей промежуточной среде - нет. Однако ваше другое изменение не сработало :-( - person Richard; 05.12.2014