Локализация интерфейса Drupal

перевод

Давно, когда деревья были большими, при первой установке Drupal у начинающих сайтостроителей возникал ряд трудностей. Связаны они с тем, что некоторые, казалось бы простые вещи, делались не тривиальным способом. К ним относился перевод интерфейса Drupal на русский язык. Особый напряг был у тех кто не любит читать инструкции. У них было два выхода или начинать читать инструкции или учить английский. Иностранным языкам учат на других сайтах а мы перейдём к локализации, тем боле теперь это можно сделать за пару кликов.

  1. Кликать мы начнём с установки модуля Localization update. Ссылка на страницу модуля https://drupal.org/project/l10n_update
  2. Кроме скачанного модуля нужно включить модуль Locale(модуль ядра).
  3. Переходим  Configuration → Regional and language → Languages → Add languages и выбираем русский язык.
    добавляем русский язык
  4. Делаем русский язык дефолтным
    делаем русский, языком по умолчанию

После этого админка сайта стала полностью на русском. Вместе с модулями ядра были переведены на русский и установленные модули друпала. Перейдя на  Конфигурация » Регион и язык - Перевод интерфейса - Обновить вы можете увидеть результат работы. Некоторые модули могут быть не переведены. Скорее всего для них не существует переводов.

Localization update делает всё то, что раньше приходилось делать вручную. Он сам забирает переводы с сайта drupal.org, сам их добавляет и включает обновление. Чтобы настроить автоматическое обновление перейдите на  Конфигурация → Регион и язык → Языки → Обновления перевода.

Рядом с обновлениями перевода будет одна очень интересная вкладка "определение и выбор". На этой вкладке мы можем задать автоматическое определение языка интерфейса в зависимости от: настроек браузера, предпочтений пользователя, параметра сессии или по URL. Если у нас на сайте есть зарегистрированные пользователи, которые в настройках аккаунта выбрали английский язык, то интерфейс у них будет на английском, несмотря на то что по умолчанию задан русский язык. Также дефолтный язык может быть заменён если браузер (его интерфейс) настроен на английский язык. Язык может меняться в зависимости от адреса страницы. Если включить определение по сессии то к URL будет добавлен параметр
?language=(код языка)
Пример: site.com/post-name?language=en будет на английском языке.  В отличии от предыдущего способа при определении по URL код языка добавляется в URL после домена(префикс) site.com/ru/post-name или перед названием домена образуя домен третьего уровня ru.site.com/post-name. При использовании этого способа меняются URL страниц и как следствие ссылки ведущие на эти страницы станут битыми.
Приоритет метода определения можно поменять перетаскиванием или задать вес.