Support for the user language settings
If you want the link labels in the main navigation to match the language a user has set under their Preferences, you need to provide a separate message page for each menu item. These message pages need to reside 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:
- Create the page MediaWiki:QA and add the text for the English label (Quality assurance).Save the page.
- Create the page MediaWiki:QA/de and add the text for the German label (Qualitätssicherung).Save the page.
- 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 located in the different language message pages. 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.
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 the 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:
- 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.
- 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 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 of the menu item.
Depending on the language settings of the user, the user is now directly directed to the correct language version.