Мультиязычность в Drupal 7. Меню

в 16:10, , рубрики: cms, drupal, мультиязычность, метки: , ,

Ранее я рассказал как быстро и легко можно переводить контент (ноды) в D7.
Сейчас я расскажу про 2 способа перевода меню.

В обоих случаях мы будем использовать модули i18n, i18n_menu. На этот раз Entity translation нам не помошник, так как он может переводить только entity. В Drupal 6 для этого использовался Menu Translation, позже он был объеденен с Internationalization.

Предполагается что модуль i18n уже включен и настроено определения языка (если нет, то вам сюда.
Первым делом давайте включим подмодуль для перевода меню, воспользуемся drush.
drush en -y i18n_menu

Способ первый

На странице редактирования меню «admin/structure/menu/manage/%menu%/edit» выбираем пункт «Translate and Localize».
Мультиязычность в Drupal 7. Меню

Как видим, на странице меню появилась новая вкладка «Translate».
Мультиязычность в Drupal 7. Меню

С помощью неё можно перевести название и описание этого меню.
Мультиязычность в Drupal 7. Меню

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

На странице «admin/structure/menu/item/%menu_item_id%/translate» можно добавить новый перевод к этой ссылке, а можно указать существующую в качестве перевода.
Мультиязычность в Drupal 7. Меню

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

Способ второй

Во втором способе мы будет использовать эти же модуля, но другому.

Важно: при создании новой ссылки необходимо выбрать нейтральный язык
Мультиязычность в Drupal 7. Меню

Все, теперь можно переводить. Это делается на одной из двух страниц, на ваш выбор:
Через вкладку «Translate» на странице редактирования ссылки. Мультиязычность в Drupal 7. Меню

Либо на странице «admin/config/regional/translate/translate». Мультиязычность в Drupal 7. Меню

При использовании второго способа сами ссылки не дублируются

Результат

Английский: Мультиязычность в Drupal 7. Меню
Немецкий: Мультиязычность в Drupal 7. Меню

Автор: dkiselev

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js