Переводы в индексированном поиске с собственными шаблонами

Я использую 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" />

Это не элегантно, но работает...

Другие вопросы по тегам