With Drupal 6 core alone, user-defined menu items are not translatable. The Menu translation (i18nmenu) module, part of the Internationalization (i18n) package, provides the following features:
- Allows setting a language when creating a custom menu item so that the menu item will only show up for that language.
- Localizes other custom menu items without language. It does this by adding a "Limit search to: Menu" option on the Search tab of the Translate interface at Administer > Site building > Translate interface.
A menu item linked to a node, due to how the menu system works and the 'Language selection' feature in the Internationalization module, will be displayed only when the node language matches the page language. The Menu translation module relies on theming and blocks for displaying the right links for each case. Thus for uses different than displaying the menu in a block, it may not always work.
About primary / secondary links
This is a special case, as they're basically menus that can be displayed as a block but aren't always. Most of the themes display them directly instead of using a block so, for this case, the Internationalization module's multilingual menu items features won't work.
The alternate and recommended approach for having different primary / secondary links for each language is:
- Enable language-dependent variables. The one needed for this is 'menu_primary_links_source' for primary links and 'menu_secondary_links_source' for secondary links.
- Create as many menus as languages in Administer > Site building > Menus > Setting. Set up the links for each language.
- Set up the menu to be used for each language in Administer > Site building > Menus > Settings. You will need to switch languages while on this page.