Ранее я рассказал как быстро и легко можно переводить контент (ноды) в 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».
Как видим, на странице меню появилась новая вкладка «Translate».
С помощью неё можно перевести название и описание этого меню.
При создании новой ссылки в меню появляется поле выбора языка.
Важно: язык нужно обязательно выбрать, иначе эту ссылку будет нельзя перевести этим способом.
На странице «admin/structure/menu/item/%menu_item_id%/translate» можно добавить новый перевод к этой ссылке, а можно указать существующую в качестве перевода.
В результате перевода ссылки дублируются, но с разными языками.
Способ второй
Во втором способе мы будет использовать эти же модуля, но другому.
Важно: при создании новой ссылки необходимо выбрать нейтральный язык
Все, теперь можно переводить. Это делается на одной из двух страниц, на ваш выбор:
Через вкладку «Translate» на странице редактирования ссылки.
Либо на странице «admin/config/regional/translate/translate».
При использовании второго способа сами ссылки не дублируются
Результат
Английский:
Немецкий:
Автор: dkiselev