3

I'm very confused about the way Drupal 7 translates menu items. I have many modules installed, so I'm not sure which would be relevant to state; in fact, I don't have my head fully wrapped around which modules do what and what they are dependent on.

I'm working on a bi-lingual website, in English and French. I noticed two different ways to create menues with translation. Let me outline the steps and results for both, and you can explain to me why these differences exist and how to effectively apply these differences.

Method 1

  • Go to Structure>Menu>(select the menu you want)
  • Click Add Link
  • Provide a "Menu link title" and "Path"
  • Under language, select English
  • Save
  • Translate this menu item into french

Result of Method 1

  • There are TWO menu items under Structure>Menu>(select the menu you want), one for each language item. Additionally, I can no longer convert a menu's languge from English or French back to Language Neutral...what's up with that?

Method 2

  • Go to Structure>Menu>(select the menu you want)
  • Click Add Link
  • Provide a "Menu link title" and "Path"
  • Under language, select Language Neutral
  • Save
  • Go back to the edit form of the menu link you just saved, change language to English and save
  • Translate this menu item into french

Result of Method 2

  • There is ONE menu item for the link you added under Structure>Menu>(select the menu you want). But when you edit that menu item, you will see the french translation under the translate tab.

Why is the Result of Method 1 different from the Result of Method 2? Why is it that in Method 1, each translation is a new menu item, but in Method 2, translations are grouped together?

It is so easy for a user to forget to select a language when creating a menu item, which unintentionally creates a parallel track of information in the site (it's almost like a duplicate site where we lose the correlation between english and french pages ). Fixing this after the fact would be so troublesome!

3

Method 1 points to the node translation. Method 2 is a translation of the link but goes to the same path. For most people method 1 is the way to go. But method 2 could be handy as well.

Maybe life would be easier if you just build it in one language and use Google Translate Elements JS addon. It really depends on the needs of your users. For my client I had to use method 1.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.