Difference between revisions of "Paradatabase:Multilingual implementation"

From paradatabase
Jump to navigation Jump to search
(Marked this version for translation)
Line 20: Line 20:
  
 
<!--T:6-->
 
<!--T:6-->
:* In the main namespace all pages are in English.
+
:* By default the page language is English.
 
:* There is a list of supported languages.
 
:* 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.
+
:* For each of the supported languages, a prefix is used, that 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.
+
:* With the prefix used 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 [https://www.mediawiki.org/wiki/Extension:Translate 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.
+
:* Using [https://www.mediawiki.org/wiki/Extension:Translate Extension:Translate], it is possible to translate any of the source pages. 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
 
 
</translate>
 
</translate>

Revision as of 06:16, 6 May 2019

Other languages:
Deutsch • ‎English • ‎français • ‎italiano • ‎русский

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 PageLanguage.
  • 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

  • By default the page language is English.
  • There is a list of supported languages.
  • For each of the supported languages, a prefix is used, that 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.
  • With the prefix used 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. At the same time Extension:Translate correctly perceives the language of the source page and creates translations in the form of its sub-pages.