I have a Primary-Links menu with items for both English nodes (that each have translations) and language neutral nodes (the same node for all languages). While browsing the site, I see the appropriately translated menu items in the themed menu regardless of language. Ex: while browsing the site in Spanish, I see the translated Spanish strings, and the links now points to the appropriate Spanish nodes (for non-language-neutral nodes). Thanks! Works perfect!
However, when I view the Primary links administration page (/admin/build/menu-customize/primary-links) in one of the non-english languages, the menu links that are associated with English nodes will disappear from the UI. I can still edit the link by visiting the appropriate URL (ex: /es/admin/build/menu/item/426/edit where "/es" indicates viewing the site in Spanish).
This issue is not blocking the menu administration, as I can still edit the translated menu link by editing the translated node. It is less than ideal, however.
Comments
Comment #1
jessehsI've found an additional bug that may be related. When viewing any node edit page in one of the translated languages, the same menu items will disappear from the primary links menu as reported above. That is, items whose associated node is language specific. Ex: If the About Us page was created in English, then translated to Spanish, when viewing the node's edit screen in Spanish, the menu item will disappear (along with all other menu items whose nodes are not language neutral).
I'm marking this a critical bug, as half of the menu on the site I'm working on now disappears when a user edits his/her user account while viewing the it in a translated language!
Comment #2
plachPlease open a new bug report for the issue in #1 so it can be tracked separately.
Comment #3
jessehsThis one was tricky. I finally traced it down to a custom module that was calling the function i18n_selection_mode('reset') in hook_init().
Removing this function fixed the problem with node/[nid]/edit pages.
I was also having the problem on all node/add/[node-type] pages as well.
Calling the same function in hook_init(), but passing 'off' as the argument fixed the problem in these cases.
I'd appreciate insight into why this works. Also, is this function something that the i18nmenu_node module should perhaps call in order to deal with edge cases like this?
The custom code that was passing 'reset' noted the following:
"http://drupal.org/node/614548#comment-3009418 is causing conflicts with primary link negotiation. This change resets the selection mode to that set in the db."
Thanks plach, great module!