Drupal I18N - Язык по умолчанию для элементов View - PullRequest
0 голосов
/ 18 ноября 2010

Я работаю на двуязычном сайте в последней версии Drupal 6. Я установил модуль Интернационализации и модуль перевода Views, среди многих других.

Проблема: On / admin / build / translate /При поиске некоторые элементы (например, заголовок представления) появляются в текстовой группе «Представления», и Drupal предполагает, что они на немецком языке, что требует перевода на английский язык.

Другие элементы (например, открытые метки фильтров) появляются в текстовой группе«Встроенный интерфейс» и Drupal предполагают, что они на английском языке, что требует перевода на немецкий язык.Но на самом деле все строки на немецком языке:

alt text

Чтобы было ясно, я не вижу проблемы с выбором языка или отображением представления.Проблема заключается в том, что страница сначала анализируется языковой системой, и любые переводимые строки вставляются в таблицу перевода.Drupal назначает разные исходные языки для элементов на одной странице.В результате получается сочетание языков, когда эти строки переводятся.

Я подумал, что, возможно, это языковые предпочтения пользователя, который первым попадает на страницу, что мешает этому, но как только я начал его менять, ястолкнулся с этой проблемой (чтение темы было откровением - это должно быть обязательным чтением для всех, кто рассматривает Drupal для решений корпоративного класса).Хорошо, теперь у меня есть префикс URL в миксе, что означает, что когда пользователь изменяет языковые предпочтения, язык сайта не изменяется, пока они не изменят URL вручную.Как только мне удалось отобразить страницу на английском языке, оказалось, что Drupal не берет строки перевода, когда язык отображения равен исходному языку.Так что не повезло.

Я готов кодировать свое представление на двух языках, в зависимости от того, что Drupal считает исходным языком для различных элементов, но даже это не сработает.Кто-нибудь еще испытывал это?

1 Ответ

3 голосов
/ 19 ноября 2010

Я думаю, что вы, вероятно, допустили основную ошибку в работе многоязычной системы Drupal.Я сделал ту же ошибку на первом многоязычном сайте Drupal, который я создал.

Самое важное, что нужно сделать, - если один из ваших языков - английский, - используйте английский в своем коде.если вам нужно вставить слово «комната» в один из шаблонов, используйте t («комната»), а не t («циммер»).Вы просматриваете заголовки?использовать английский.Названия тегов и описание?использовать английский.Основной язык должен быть английский.После настройки сайта на английском языке вы можете перевести свой сайт с помощью интерфейса перевода.Я знаю, для одного странно звучит, что его родной язык отличается от английского, но я сделал несколько мультиязычных сайтов с i18n, и это правильный способ сделать это с минимальными сложностями.

Изменение языка интерфейса администратора только изменениеИнтерфейс - не значение.Если вы измените интерфейс на немецкий (т.е. yoursite.com/de/admin/views), это не означает, что вы находитесь на «взглядах на немецкий».Это то же самое представление.

Есть некоторые исключения - Многоязычная переменная, как я объяснил здесь: Как я могу установить другую домашнюю страницу для языка в Drupal?

Я надеюсьэто полезно.

...