Неверное отображение в меню переключения языков
Длительное время сайт работал в двуязычном варианте: русский - по-умолчанию, английский. Потребовалось добавить третий язык - турецкий. Конфиг следующий:
Код:
# Alternative Languages [Begin] Если перевод страницы страницы на турецком существует, а элемент страницы нет, то переведенные элементы меню выводятся на турецком, не переведенные и элемент страницы - на русском. Если перевод страницы и элемент страницы на турецком не существует, то переведенные элементы меню выводятся на турецком, не переведенные - на русском, а элемент страницы на английском. А хочется простого, чтобы для турецкого языка отсутствующий контент и меню выводились на английском и только при отсутствии английского варианта на русском. Вот такой вот зоопарк! Где тут собака порылась... Может кто сталкивался? |
Проблема решаема, почитайте поточнее здесь
|
Цитата:
Код:
sys_language_uid = P.S. Кстати, хотелось бы выразить большую благодарность всем, кто приложил свои усилия к переводу документации. |
Может как-то так:
PHP код:
|
Как раз напротив, точка с запятой заставляют эту конструкцию работать, поэтому я склоняюсь к мысли, что ошибка в синтаксисе, как раз в документации.
И эта конструкция более или менее работает когда отсутствует перевод для языка, в этом случае меню на русском (L=0), а элемент страницы (с отсутствуещей локализацией) - на английском (L=1). Но если перевод для страницы присутствует, то меню и элемент страницы (с отсутствуещей локализацией) выводятся на русском (L=0). P.S. Здесь Дмитрий Дулепов доступно объясняет, что мои тайные желания слегка неверны и вряд ли будут реализованы и, похоже, он прав! |
Честно говоря, в процессе перевода этот режим не пробовал... Поверил на слово создателю документации. Но вот в багтрекере по-моему по этой части: http://forge.typo3.org/issues/19114
|
Итак, подытожим, со слов Дмитрия Дулепова, чтобы языковая поддержка работала должным образом, нужно проверить следующие настройки:
- Корректная настройка content_fallback. - Установка config.sys_language_mode на hideIfNotTranslated (или что-то подобное, согласно TSRef), либо в 0 (смотря по тому, что нужно для Вашего сайта). - [ВАЖНО] убедитесь, что "альтернативная языковая запись" (alternative language record) для языка без содержимого не существует. Если же такая запись имеется, то система считает страницу переведенной на соответствующий язык и пытается вывести содержимое на этом языке, а содержимого-то и нет. Замещение содержимого другим языком (content fallback) происходить ТОЛЬКО в том случае, когда нет записи страницы для альтернативного языка (система считает, что страница не переведена). Именно так все и работает, хотя в TSRef говорится: "система всегда работает с выбранным языком, даже если страница не переведена при помощи замещающих записей (альтернативных языковых записей). Таким образом, например, меню остаются переведенными, а содержимое страницы может быть замещено записями на другом языке, определяемом значением ключевого слова". - [ВАЖНО] удостоверьтесь, что в Install tools отключен параметр hidePagesIfNotTranslatedByDefault=0. Если же он включен (= 1), то при удалении альтернативной языковой записи страницы будет получена ошибка 404, при обращении к странице на языке с удаленной альтернативной записью. |
Механизм работы замещения перевода стал понятен.
Единственно осталось не понятным почему для меню это правило не работает?! Почему меню не замещается?! |
Цитата:
|
Настройки, как приведены выше. Все элементы меню для которых отсутствует перевод выводятся на русском, т.е. языке по-умолчанию, для которых перевод есть, естественно на турецком. Те страницы для которых нет перевода турецкого, но есть английский, выводятся на английском, меню при этом на русском, причем особенно это напрягает для страниц на которых присутствует "Меню подстраниц выбранных страниц с резюме" особенно при отсутствии перевода на турецкий.
Выглядит это так: меню на русском, часть страницы на английском, список вложенных страниц на русском. Слегка не логично. Я вообщем то изначально об этом и писал. Чуть ушел в сторону в процессе обсуждения. |
Часовой пояс GMT +4, время: 22:43. |
Работает на vBulletin® версия 3.8.1.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot