I have one website with 3 languages.

I created 3 views for a set of pages that I want to list, one per language. The views work great. I see the language I expect using a filter on the node language.

However, the menus (at the root) that go to these views show up in all languages. That is definitively annoying. The only way I found to fix this issue is to move the menu entry as a sub-entry of a parent menu that points to a node of the right language. But that breaks what I've done so far!

So I looked around and just cannot see a way to tell the View, you're for English only, you're for French only or Spanish...

Did I miss something?

My take would that if the destination of a menu item is not a node, then use the language of that menu as the affecting parameter. Actually, that could always be the case and it would be a lot less trouble for me in many situations.

Thank you.
Alexis Wilke

Comments

bsimon’s picture

However, the menus (at the root) that go to these views show up in all languages. That is definitively annoying.

Possibly I'm misunderstanding you, but if menus are showing up in the wrong languages, then you should be able to set each menu item's language so that it will only appear when the user has selected a specific language

Administer › Site building › Menus › choose a menu, and click edit on one of the menu items - there should be a language dropbox at the bottom

AlexisWilke’s picture

bsimon,

Yes. And that I have done for each menu entry. It feels like that selection is not being considered.

I have several accounts to test (one per language) and it has no effect on the menu items either way.

If you let me know where in the code I could look why it would fail then I can run tests myself.

Thank you.
Alexis

bsimon’s picture

Maybe this is the same bug (see comment #11)?

http://drupal.org/node/297464#comment-999837

Also take a look at multilingual variables. See 'menu_primary_links_source', and 'menu_secondary_links_source', for a start. I suggest back up your db before you try these, because if it doesn't help, it will make things even more complicated.

http://drupal.org/node/313272
http://drupal.org/node/313302

You probably know this already, but there are three different ways to make multilingual menus in D6 (http://drupal.org/node/275705, and also Translate interface). I guess it's possible something weird could happen if you accidentally combine them on a menu item at the same time.

and as for the location in the code... I have no idea...

Jose Reyero’s picture

Status: Active » Closed (fixed)

I think menu items are working right now, and there's that handbook page, so I don't think there's anything new here that is not explained elsewhere...

askibinski’s picture

After hours of troubleshooting, I found that translatable menu items ONLY show up the way you expect when the menu is rendered through a block and NOT when you embed the menu directly using $primary_links in page.tpl.php for example.

Maybe this is by design? (though I wouldn't know why...)

boriznl’s picture

Version: 6.x-1.0-beta6 » 6.x-1.x-dev
Status: Closed (fixed) » Active

I have the same issue links to views will showup in any language. how can i change that?

rendered through a block? how

AlexisWilke’s picture

askibinski,

Good catch. That's probably what the problem is!

Although I do not use that module anymore. It's all English.

Otherwise, to solve the problem of pointing to a view, you may want to try using the Insert View in a node and make the node the destination. The node will then be translated as expected.

Thank you.
Alexis Wilke

boriznl’s picture

Thank you. Alexis Wilke soveld by using the Insert View

pshangov’s picture

Priority: Minor » Normal

Is there any progress on this issue? I have several translated menus with links to both nodes and node lists. The links to the nodes are displayed as expected, but the links to node lists show in all languages. Should I understand that menu links work only for nodes and the only workaround is to embed the list/view into a node?

asak’s picture

subscribing.

ju.ri’s picture

this is still unsolved.. I have a complex setup with eposed filter blocks and can't use the insert view option.

Jose Reyero’s picture

Status: Active » Closed (works as designed)

Yes, this is what should happen:

'After hours of troubleshooting, I found that translatable menu items ONLY show up the way you expect when the menu is rendered through a block and NOT when you embed the menu directly using $primary_links in page.tpl.php for example.'

http://drupal.org/node/313302

vojnar’s picture

Version: 6.x-1.x-dev » 6.x-1.1

I have upgraded from beta 3 version to the 1.1 version by uploading new files, but I did not change database tables for this modul, so this might not be the case on the current version.

To me it seems like i18n totally ignorant to the language selection on the menus admin page. The menu shows up regardless of the selected language at (build/menu/item/....) and only shows up if the current selected language is the same as the pages (NODE) language where the menu points to.

Spice that with a views generated page. If the menu points to that page than you will have all languages menu links shows up on all pages regardless the current selected language. Duplicate menus etc...

Solution was to this problem: Insert View

Thanks for the above post