Using csv and the new menu system, I found that menus supplied through modules are translated when switching from one language to another (e.g. English -> German).

In menu.inc it reads:

 * - 'title' - The displayed title of the menu or menu item. It will already
 *   have been translated by the locale system.
 * - 'description' - The description (link title attribute) of the menu item.
 *   It will already have been translated by the locale system.

Custom menus are not translated and are not inserted into the locale system (So you cannot translate them at all). That makes using locales or i18n difficult.

I modified following lines in menu.inc in _menu_build():

        $_menu['items'][$item->mid]['title'] = t($item->title);
        $_menu['items'][$item->mid]['description'] = t($item->description);

With that patch, custom menus are inserted into locale system and can be translated. Caching for user 0 works as before.

Kurt

CommentFileSizeAuthor
menu_inc_101.patch933 byteskje

Comments

bdragon’s picture

Version: x.y.z » 6.0-beta1
Status: Active » Fixed

Drupal 6 has a rewritten menu system with much better localization support.

bdragon’s picture

Status: Fixed » Closed (fixed)