Paradatabase:Multilingual implementation
Jump to navigation
Jump to search
MediaWiki pages can be written in different languages. But the system has only one main language, which is called the base language. The Paradatabase base language is English.
Each page has a parameter PageLanguage. Internal programs need it for the proper text presentation and processing. This parameter can be changed. The MediaWiki policy assumes that the page is created in the base language, and all its translations become its sub-pages by adding the "slash + language code" to the end of page name.
Problems
- Everyone has the right to create a page. And not everyone has the right to change the page language.
- Changing the page language is not a primitive operation, but a specific sequence of steps that is often ignored or forgotten.
- Pages can be created not only in the base language. In this case the Extension:Translate conflicts with the internal structure of MediaWiki.
To come over these problems, the following agreement is proposed.
Agreement on pages in other languages
- In the main namespace all pages are in English.
- There is a list of supported languages.
- For each of the supported languages, a namespace is created, the name of which is the language code. For the most common languages there is no problem. For example: Fr - French, De - German, Ru -Russian. It is easy to type three characters (for example, "Fr:") before the page name at the time of its creation.
- In the namespace created for a specific language the PageLanguage parameter is set automatically according to this language. Translation of this page into another language is its subpage. The name of the translation page is obtained by adding to the name of the source page the combination “slash + language code” (for example, “Fr:Page name/de”). The PageLanguage parameter of translation is also automatically set.
- Using Extension:Translate, it is possible to translate any of the source pages inside of any namespace. At the same time Extension:Translate correctly perceives the language of the source page and creates translations in the form of its sub-pages.
- Languages of pages created in other (language independent) namespaces follow the same rules as in the main namespace