locallangXMLOverride не работает

Я пытаюсь через ext_localconf.php моего собственного расширения переопределить файлы locallang для расширения новостей. Поэтому я разместил в своем собственном расширении следующие строки:

$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['EXT:news/Resources/Private/Language/locallang.xlf'][] = 'fileadmin/template/html/news/Private/Language/locallang.xlf';
$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['sw']['EXT:news/Resources/Private/Language/locallang.xlf'][] = 'fileadmin/template/html/news/Private/Language/sw.locallang.xlf';

Это работает только для файла по умолчанию.

когда я пишу

$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['EXT:news/Resources/Private/Language/locallang.xlf'][] = 'fileadmin/template/html/news/Private/Language/locallang.xlf';
$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['EXT:news/Resources/Private/Language/locallang.xlf']['sw'] = 'fileadmin/template/html/news/Private/Language/sw.locallang.xlf';

тогда он использует второй файл для всего. Попытка переопределить EXT:news/Resources/Private/Language/sw.locallang.xlf тоже не работает.

Когда я переключаю обе строки выше, используя файл по умолчанию на каждом языке. Я также создал файл sw.locallang.xlf в расширении новостей, чтобы он существовал. Но, конечно, мне не нужен этот файл из-за проблем с обновлением.

Я пробовал много других кодов, которые мог найти, но у меня ничего не получалось.

Кто-нибудь знает, как правильно использовать эти файлы перевода? Это TYPO3 7.6


person Falk    schedule 06.12.2016    source источник
comment
Вы пытались удалить вторую строку? По моему опыту в этом нет необходимости. Как только вы определите переопределение следующим образом: $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['EXT:news/Resources/Private/Language/locallang.xlf'][] = 'fileadmin/template/html/news/Private/Language/locallang.xlf'; оно должно работать и для всех переводов, если они находятся в той же папке, что и основной файл переопределения.   -  person Viktor Livakivskyi    schedule 07.12.2016


Ответы (3)


Только реализуйте путь по умолчанию в вашем ext_localconf

 $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['EXT:news/Resources/Private/Language/locallang.xlf'][] = 'EXT:yourExtension/Resources/Private/Language/News/locallang.xlf';

затем создайте один файл locallang.xlf в каталоге и файл sw.locallang.xlf.

locallang.xlf

<xliff version="1.0">
    <file source-language="en" product-name="your_extension_news">
        <header/>
        <body>
            <trans-unit id="optin_seeMail">
                <source>thank you</source>
            </trans-unit>
        </body>
    </file>
</xliff>

sw.locallang.xlf

<?xml version="1.0" encoding="UTF-8"?>
<xliff version="1.0">
    <file source-language="en" target-language="sw" product-name="your_extension_news">
        <header/>
        <body>
            <trans-unit id="optin_seeMail">
                <target>Danke schön</target>
            </trans-unit>
        </body>
    </file>
</xliff>
person Michael Drauer    schedule 08.12.2016

Языковой ключ должен быть указан перед языковым файлом следующим образом:

$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['sw']['EXT:news/Resources/Private/Language/locallang.xlf'][] =
   'fileadmin/template/html/news/Private/Language/sw.locallang.xlf';

Я бы порекомендовал поместить языковые файлы в расширение. Примечание: расширение с языковым файлом должно быть установлено.

person Daniel    schedule 07.12.2016
comment
Эндер Никс. Zeigt immer nur die defaultsprache an. $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['EXT:news/Resources/Private/Language/locallang.xlf'][] = 'EXT:loctimize/Resources/Private/Language/News/ местный язык.xlf'; $GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['sw']['EXT:news/Resources/Private/Language/locallang.xlf'][] = 'EXT:loctimize/Resources/Private /Language/Новости/sw.locallang.xlf'; - person Falk; 08.12.2016

Я также обнаружил эту проблему при переопределении языковых файлов основных расширений. Я нашел одно решение, и оно работает для меня. Сначала создайте новый файл /typo3conf/AdditionalConfiguration.php. Этот файл будет загружаться каждый раз с помощью typo3.

Затем поместите в него этот код

$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['EXT:indexed_search/Resources/Private/Language/locallang.xlf'][] = 'fileadmin/templates/indexed_search/Language/de.locallang.xlf';

$GLOBALS['TYPO3_CONF_VARS']['SYS']['locallangXMLOverride']['fr']['EXT:indexed_search/Resources/Private/Language/locallang.xlf'][] = 'fileadmin/templates/indexed_search/Language/fr.locallang.xlf'
person gautamsinh mori    schedule 05.05.2017
comment
Какое отношение имеет человек к этому коду? Вставить в новый файл? Вы можете отредактировать свой ответ, чтобы прояснить это. - person Baum mit Augen; 05.05.2017
comment
Поскольку я знаю, что Typo3 будет загружать файл AdditionalConfiguration.php каждый раз, и если вы поместите приведенный выше код в em_localconf.php, он будет загружаться при загрузке расширения или только один раз при установке расширения Спасибо! - person gautamsinh mori; 08.05.2017