I'm having a hard time getting to grips with menus when using the Internationalisation (i18n) suite for Drupal 7.
I have two languages set up for the site I'm working on - English and Welsh.
In the Multilingual Options for Main Menu, I've set it to Translate and Localise.
This appears to be fine, but creating the Welsh versions of pages creates nodes that themselves are not linked to the menu, so when they're displayed on the front-end, the menu structure is lost.
However if you do create a menu link for the translated page, you create a new menu item that essentially doubles up the menu size.
Which method is one meant to use? Do you have one menu structure per language and therefore try and work the code displaying the menus to only show the current language or can you somehow let Drupal know that English page N and Welsh page Y both attach to the same menu item?
As ever, any and all assistance given is greatly appreciated.
~Matt
2 Answers
Your best help will come from the drupal docs. There are a few ways to setup multilingual websites and it wouldn't be possible to cover it all here.
https://drupal.org/node/275705
Follow the above tutorial as you will need to install quite a few modules. My guess is you may have to revisit your Drupal structure before being able to solve your issue.
I've had to work on a lot of French/English websites and the best thing I find is having separate menus for each language. Then use blocks to show your menus using the Language visibility settings. One better is to use the Menu Block module.
With this method you can end up having a lot of menus (as each menu needs to be duplicated per language). However I find content editors can much better grasp this separation, over the confusion of mixing menu items from different languages in the same menu.