Navigation based on the user language setting

Note:These instructions do not apply in a farm environment or in separate language wikis. These instructions are used for maintaining languages in as single wiki.


Link labels

If you want the link labels in the main navigation or the custom menu to match the language a user has set under their Preferences, you need to provide a separate system message page for each menu item. These message pages need to be created in the namespace MediaWiki.

In the following example, we create a menu item called Quality assurance. A user who specified German (de) or formal German (de-formal) in their preferences, should see the label Qualitätssicherung instead.

To create the labels in EN, DE and DE-formal:

  1. Create the page MediaWiki:QA and add the text for the English label (Quality assurance).Save the page.
  2. Create the page MediaWiki:QA/de and add the text for the German label (Qualitätssicherung). Save the page.
  3. Create a link on the page MediaWiki:Sidebar: **About_quality_assurance|QA This creates a link in the main navigation to the page About quality assurance and displays the label that is defined in the different language message pages for the message "QA". To test the languages, go to Preferences > User Profile in your user profile menu. In the section Internationalisation, set the language from English to German or vice versa and save the setting. The language of the menu item now displays in the correct language.

Link targets

If you have content in multiple languages, you want that users with English language preference settings not only see the corresponding menu labels. They should also be directed to an English page when they click on a menu item. Users with German language settings should see the German content after clicking on the German menu link. In this case, you also have to create separate link targets in addition to the language labels.

In the previous section, we already created the labels when a user switches languages. Now we also have to create different link targets for these pages. If the main language is English and the page is called About quality assurance, the translations can be located in subpages. For example, the German version is located under About quality assurance/de.

To create the link targets to the language pages:

  1. Create the page MediaWiki:QA-url and add the link to the English page About quality assurance. The link is entered without brackets, in plain text. Save the page.
  2. Create the page MediaWiki:QA-url/de and add the text for the German page (About quality assurance/de). The link is entered without brackets, in plain text. Save the page.

In the navigaion link to the Quality assurance page, change the link from

**About_quality_assurance|QA

to

**QA-url|QA

This achieves the language switch for the target pages (QA-url) and for the label (QA) of the menu item.

Depending on the language settings of the user, the user is now directly directed to the correct language version.

Related info

Discussions

Attachments