I had trouble finding this (in fact a friend ended up finding some of it for me) so I thought that it was worth contributing to the forum...

The instructions on how to translate menu items using the internationalisation module you first have to install the post Dec 2nd version of i18n (internationalization).... then enable the i18n AND i18nmenu modules... then follow the instructions found in [your domain]/admin/help/i18nmenu which I have included here...

  • Create menus as usual, with names in English. If the menu is already created, no changes are needeed
  • Show the menu in some block
  • Switch language to some non english one -while viewing the block-, so the locales table is populated with the new strings
  • Use the localization system to translate menu item strings

Comments

GN’s picture

I enabled i18n, i18nmenu and localization modules, it works OK with nodes, but when I create a new menu block for navigation with some "blablabla" inside, then switch to the second language, then go to localization - manage strings and search for "blablabla", it does not find anything. Running cron.php does not help.

Also, when I try to display all untranslated strings (to find the new one among them), I get a list of many pages, but I can view only the first page: when I click on a link to view any other page, it takes me back to the search page.

Thank you!

omar’s picture

for the fact that, as far as I can tell, there still a major limitation to this approach. While it does translate the text of the menu item, it does not take care of pointing to different pages. For example, the text "About us" can be translated into "À propos" but in both cases the link will point to a single path and the i18n module will simply add the language selector... e.g. http://mysite/en/AboutUs

In other words, for this to work, one is forced to pick a language for the paths. Therefore instead of being able to have an English "About Us" page with the path "en/AboutUs" and a French version "fr/APropos", one has to use "en/AboutUs" and a French version "fr/AboutUs" respectively.

This isn't the end of the world or anything, but it bothers me enough that I'll opt for setting up seperate menus/blocks for each language and get them to display on the right pages... although I'm still running into a few problems with this.)

lukask’s picture

I have the same problems with the translated menus. So I decided to disable the i18menu module again. But now the language code is not inserted in the menu items anymore, for instance mysite/about tries to find the node "mysite/about" instead of "mysite/nl/about" or "mysite/en/about", like it did before.

How can I repair this?

Lukas