Как перевести параметры списка выбора, используемые в открытых фильтрах представления?
У меня проблема с переводом открытых фильтров в представлениях .
На мой взгляд, я использую поле текстового списка в качестве открытого фильтра. Проблема в том, что, хотя я перевел термины списка с помощью строк (Региональный и языковой >> интерфейс перевода>> перевести), термины всегда отображаются на языке оригинала.
Я проверил, но в представлении нет опции для отображения переведенных терминов в фильтре. Есть и другие открытые фильтры переведено так же, как и на правильном языке, но это не списки выбора, а термины таксономии.
Я также проверил настройки расширенных представлений, и метод перевода локализации уже находится в "ядре". Я не знаю, что еще проверить.
Я использую Более открытые фильтры и MEFIBS - Более открытые формы в блоках для открытых фильтров (я не уверен, может ли это быть связано).
3 answers
Вариант 1
Попробуйте сделать что-то похожее на то, что упомянуто в Комментарии № 1 к выпуску № 1762488, т.е.:
... перейдите в раздел "Управление отображением" и переключитесь с "По умолчанию" на "Переведено по умолчанию".
Вариант 2
Попробуйте использовать модуль Представления интернационализации, который расширяет модуль i18n с многоязычной поддержкой представлений .
Верно, модуль Представления интернационализации имеет только версия alfa1 для D7, но сейчас более 41 тыс. пользователей используют эту версию. Поэтому я думаю, что "DEV" больше не является допустимым квалификатором выпуска для этой версии, потому что +41 тыс. пользователей не могут ошибаться, верно?
Примечание: Фильтрация результатов просмотров на многоязычном сайте иногда может быть сложной задачей, как показано также в обсуждениях, таких как , Как фильтровать результаты просмотров на текущие языковые узлы.
Я могу подтвердить эту проблему. Работая с BEF, я тоже столкнулся с такой же проблемой перевода. Вероятно, это ошибка в модуле BEF, который неправильно обрабатывает переводы. Между тем, чтобы решить эту проблему, я явно использовал hook_form_views_exposed_form_alter(), чтобы обернуть непереводимую строку в t().
Пусть это поможет вам.