Last updated 18 June 2015. Created on 2 April 2011.
Edited by a.milkovsky, Heine, candelas, frederickjh. Log in to edit this page.

With Drupal core alone, user-defined menu items are not translatable. The Menu translation module, part of the Internationalization (i18n) package, allows users to select a translation mode for each menu (Figure 1).

The following modes are available:

  • No Multilingual Options
  • Translate and Localize
  • Fixed Language


Figure 1

Translate and Localize Menus

For most use cases, and especially if the structure of your menus is consistent across languages, Translate and Localize is the preferred method of translating menus. You can create one menu for all languages, and translate or localize each menu item. There are two ways that menu items will be translated:

  • You can set a language when creating a custom menu item so that the menu item will only show up for that language (Figure 1). Menu items that link to nodes in a particular language will be treated this way.
  • You can localize other custom menu items without a language (for example, menu items linking to Views pages). Use the Translate tab to translate the menu item title and description (Figure 2). Translators can also use the 'Translate interface' pages to translate these menu items (Figure 3).


Figure 2


Figure 3

Fixed Language Menus

If you choose Fixed Language, you'll have to set up a separate menu in each language. This could become tedious if have a lot of languages enabled on your site, but is useful if the content or menu structure is different for each language.

Menu Items Linked to Nodes

Useful modules:

A menu item linked to a node will be displayed only when the node language matches the page language. This is due to how the menu system works and the 'Language selection' feature in i18n. Therefore, to get translated menus items that link to nodes, you first need translated content: see Translating content to different languages.

Looking for support? Visit the Drupal.org forums, or join #drupal-support in IRC.

Comments

colan’s picture

[Removed comment as issue was handled in a newer revision.]

jeffpurtle’s picture

I am using Drupal 7 and the various Internationalization modules to redo a Drupal 6 site that has multiple languages, with translated menus and nodes.

When I go do Admin/Structure/Menus I drag the translated menus to the proper order to match the English version. When I click "Save Configuration" it all goes back to alphabetical. But, the original English version doesn't change.

What am I missing?

jeffpurtle’s picture

This is still happening after disabling the menu blocks module. The odd thing is that not all languages are re-ordered alphabetically. The primary language (English) never has an issue and some of the other languages do.

These languages get re-sorted to alphabetical:
Italian
Chinese-Simplified
French
Japanese
Korean
Persian (Farsi)
Portuguese, International

These don't:
English (primary)
Spanish

I have about mostly 2 levels of menus under the "main" menu level.
Even the order of menus at the top level of "main" get re-sorted.
They mostly get grouped by languages, but there is one stray menu that keeps getting put by itself away from it's language.

Has anyone encountered this with using multiple languages and menus?

jeffpurtle’s picture

http://drupal.org/node/1303602

This update fixed the issue.

Petroga’s picture

Hello!

I have 2 views for each language.
I've created 2 menu items for each language.

The problem is that they are displayed both at the same time, no matter in wich language i am.

Views - 7.x-3.0-rc3
Internationalization - 7.x-1.1
Menu translation - 7.x-1.1
Multilingual content - 7.x-1.1
Multilingual select - 7.x-1.1

Tnx!

jacksbarrow’s picture

Dear all, I have the same problem: 2 languages, menu items are duplicated

many thanks

jack

webmaster-eddie’s picture

Please update this to deal with recent changes in 7.x-1.7, which changes the way multilingual menu items are treated.

Thanks.

candelas’s picture

//trying to answer one question for each one that i make.
//this way, drupal will be more friendly and strong

Heine’s picture

This page deals with the i18n submodule for menu translation, not the menu translation module. I've reverted your edit.

herbiek’s picture

Where can I add this support question? Because there is no support page for this module?

I have a maybe rather silly question. I have a test website and a live website (both Drupal 7)

In the test website I have setup translations for my main-menu using the module "Menu Translation" (it is a sub-module of i18n) and at mydomain.com/admin/structure/menu/manage/main-menu I see a third column with the option to "translate" the menu options in the first column.

At my live website I want to do the same, but can't figure out what setting I have to change in order to get these " translate" links appear in the same page?

The settings in the testwebsite are done more than half a year ago and I cant remember how I did that. The Multilangual option -> Translate and Localize is set for the main-menu on both sites.

kari.kaariainen’s picture

Note that if you come from "No multilingual" scenario and wish to switch over to "Translate and localize", after enabling Menu translation, you have to resave all the nodes for this to work.

jordanddisch’s picture

Thank you for this, saved me a ton of stress