Переводы в индексированном поиске с собственными шаблонами
Я использую Typo3 8.7.11 и расширение indexedSearch 8.7.11 с Fluid-Templates
Я создал расширение со своими собственными шаблонами жидкости для формы поиска и результатов поиска.
Теперь я также хочу использовать свои собственные переводы для этих шаблонов. Поэтому я создал следующие файлы в myTemplateExt/Resources/Private/Language
:
- locallang.xlf (по умолчанию - en - language)
- de.locallang.xlf
- fr.locallang.xlf
- it.locallang.xlf
Увы, переводы не загружены.
Я узнал, что я могу добавить весь путь к переводам, как
<f:translate key="LLL:EXT:myTemplateExt/Resources/Private/Language/locallang.xlf:sform.submit" />
Но тогда загружается только файл locallang.xlf. Все остальные языки игнорируются.
Я также попытался добавить свою переменную в настройку TS с индексированным поиском:
plugin.tx_indexedsearch.settings.langfile = EXT:myTemplateExt/Resources/Private/Language/locallang.xlf
Что, конечно, терпит неудачу (скорее всего, потому что я не могу определить свой собственный settings-var в TS для другого расширения?)
Какие-нибудь идеи, как я могу заставить расширение индексированного поиска использовать мои собственные lang-файлы?
PS Я нашел это предложение на Stackru:
Typo3 Indexed Search Local_Lang путь
Но это не то, чего я хочу - мне нужно больше гибкости для моих шаблонов, так как мне нужно добавить немного больше текста, чем просто обычные ключи, которые им предоставляет индексированный поиск (да, клиенты, вы знаете;)
1 ответ
Возможно, это не лучшее решение, но я решил проблему следующим образом:
Я устанавливаю переменную в соответствии с текущим языком:
<v:variable.set name="currentLang" value="{v:page.language(languages: 'LLL:EXT:myExt/Resources/Private/Language/de.locallang.xlf,
LLL:EXT:myExt/Resources/Private/Language/en.locallang.xlf,
LLL:EXT:myExt/Resources/Private/Language/fr.locallang.xlf,
LLL:EXT:myExt/Resources/Private/Language/it.locallang.xlf',
normalWhenNoLanguage: 'LLL:EXT:myExt/Resources/Private/Language/de.locallang.xlf')}" />
А потом для перевода:
<f:form.submit name="search[submitButton]" value="{f:translate(key: '{currentLang}:sform.submit')}" id="tx-indexedsearch-searchbox-button-submit" class="tx-indexedsearch-searchbox-button" />
Это не элегантно, но работает...