I don't know if this is intended behaviour or not, but it appears that by default, you can only choose parent menu items that are in the current language when creating content (in node/add) if 'Select nodes by language' is enabled in config/regional/i18n/select. This is rather confusing and makes creating multi-level menus difficult.

Steps to reproduce:

  1. Download and enable the modules listed below.
  2. Add another language to your site in config/regional/language/add (keep English as the default)
  3. Enable 'Select nodes by language' in config/regional/i18n/select
  4. Enable multilingual support with translation for the Basic page content type on the Publishing options tab in admin/structure/types/manage/page/edit.
  5. Go to node/add and create a Basic page in the default language (English). Provide a menu link for it in the Menu settings tab.
  6. Go to node/add and create a Basic page in the new language you added earlier. Provide a menu link for it in the Menu settings tab.
  7. Go to node/add again and create another Basic page. Provide a menu link for it in the Menu settings tab, choosing the non-English page you created above as the parent item.

Last step, actual result: Only the default language page (step 5) is available as a parent item. The page created in step 6 is not available.
Last step, expected result: Any item in the menu can be chosen as the parent item.

Workarounds:

  • Partial: if the site language is selected by path prefix, add that path prefix to the URL (e.g. fi/node/add) and you will see only menu items in the language indicated by the prefix (N.B. now you won't see items in the default language). I imagine this also works with session variables.
  • Full (?): add node/add/* as an exception in the 'Enable for specific pages' box in admin/config/regional/i18n/select

Enabled (relevant) modules:
Core: Locale, Content translation
Multilingual - Internationalization: Block languages, Internationalization, Menu translation, Multilingual content, Multilingual select, String translation, Translation sets

Comments

Jose Reyero’s picture

Status: Active » Closed (works as designed)

Yes, this is intended behavior or at least the expected one. If you want anything to show for multiple languages with 'content selection' enabled, you should make it language neutral.

As node menu items inherit the language of the node, even if you could use them as parent, they wouldn't show up later.

Yumi’s picture

ataimist , I thought same thing,and I found a solution now.

Home » Administration » Configuration » Regional and language » Multilingual settings » selection
Off "Select nodes by language"

I hope it can help you.

florut’s picture

Version: 7.x-1.0-beta5 » 7.x-1.3
Status: Closed (works as designed) » Active

I don't know if this is intended behaviour or not, but it appears that by default, you can only choose parent menu items that are in the current language when creating content (in node/add)

Hi, this cannot be the intended behavior as says Jose.

If I create or edit a content in a different language than the admin language I expect to be able to place it in a menu which belongs to the node language and not to the admin language.

This problem is still there, and very confusing.
Of course disabling 'Select nodes by language' solves the problem but then my question is: what are the consequences of disabling this? I do not understand the what this option is doing.

Jose Reyero’s picture

Status: Active » Closed (duplicate)

Well, if you check Multilingual settings / Node options, you can read "Switch interface language to fit node language when creating or editing a translation. If not checked the interface language will be independent from node language. This may have some unintended effects like references not matching the node language."

So, for now, your solution is to mark that checkbox, "Switch interface for translating" which is core default anyway.

However, it looks like this is what you want, #1242288: Restrict parent items (menu settings) on node editing form to node language

supermoos’s picture

Status: Closed (duplicate) » Needs work

That option does not exits on my admin/config/regional/i18n/select - page, it simply isn't there - Are you sure you are working on drupal 7 and not 6?