Многоязычность. Введение

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

Добавление языков с модулем Locale

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

Зайдите в список модулей и включите модуль ядра Locale.

Откройте Configuration | Regional and language | Languages щелкните +Add language.

Выберите из списка нужный язык, например Русский, нажмите кнопку Add language. Таким же образом добавьте другие языки. Нажмите кнопку Save configuration.

Методы определения и выбора языков

Откройте Configuration | Regional and language | Languages | Detection and selection.

Рассмотрим методы определения и выбора языков.

Переключение между языками

Вряд ли вы захотите, чтобы пользователи переключали языки, вводя префиксы в адресную строку.

Есть более удобный способ – установить переключатель в удобном для пользователей месте.

Откройте Structure | Blocks, найдите блок  Language switcher (User interface text) и поместите его в подходящий, по вашему мнению, регион, например Header. Нажмите кнопку Save blocks.

Автоматическое обновление переводов

Чтобы не утруждать себя ручной установкой переводов, воспользуемся модулем Localization Update (drupal.org/project/l10n_update).

Откройте страницу Configuration |Regional and language | Translate interface и обратите внимание, что появилась вкладка Update. Щелкните по ней и подождите несколько секунд.

Экспорт пользовательских переводов

Если вы хотите использовать сделанные вами дополнительные переводы на других сайтах, то можете их экспортировать. Откройте страницу КонфигурацияРегион и языкПеревод интерфейсаЭкспорт (admin/config/regional/translate/export).

Региональные настройки даты и времени

Откройте страницу КонфигурацияРегион и языкРегиональные настройки (admin/config/regional/settings). Здесь вы можете выбрать для вашего сайта страну по умолчанию и первый день недели, а также часовой пояс и его настройки.

Перевод интерфейса

Для того, чтобы Drupal знал, как переводить интерфейс, он должен сопоставлять  каждую строку английского языка с ее переведенным аналогом. Это обрабатывается с помощью GNU gettext версии .po файла, где po расшифровывается как переносимый объект. Выглядит это следующим образом:

#: admin_menu.inc:261

msgid "Enable developer modules"

msgstr "Entwicklermodule aktivieren"

 

Перевод переменных сайта

Drupal позволяет модулям и темам сохранять данные в таблицу глобальных переменных. Это полезно для сохранения постоянной информации без необходимости создания пользовательских таблиц базы данных. Некоторые данные в таблице переменных включают в себя текстовые строки, которые будут отображаться для пользователей. Например, название сайта и слоган - это переменные, которые могут отображаться в верхней части сайта в зависимости от настроек темы. Мы хотим иметь возможность перевести эти строки на наши языки.

Чтобы перевести переменные вашего сайта сделайте следующее:

Pages