Wiki Translation

From OpenEMR Project Wiki

Wiki Translation is a vital way for the project to grow internationally. The next OpenEMR release will include 20 languages, so this mechanism was added for the project to also supports internationalization.

Community cohesion

Unlike wikipedia, we are not aiming to capture vast amounts of knowledge in the wiki. Wikipedia decided that the best way to build their encyclopaedia was to split the communities up by language, and run them as almost entirely separate projects. The situation here is entirely different. The wiki is not the project. Translating wiki pages should be an exercise in improving community cohesion, helping everyone to understand each other, and ultimately helping to build the maps!

We want the small fledging groups of people who do not speak English to feel welcome, and to have all the information they need, but we also want the community as a whole to stay together and stay focussed.

Wiki translation progress

Wiki translation is taking place on a somewhat ad-hoc basis, and you are encouraged to join in, but we also need to try and get more organised about this.

Translation efforts are still in very early stages in many languages. There are some wiki pages which are more important than others, so concentrate on these pages first.

Wiki translations HOWTO

Find the English version of a page in the main namespace.
(If there is no english version, you create one by following the HOWTO).

If the languages tool bar is not displayed at the top (as you see on this page for example) then edit the page, and add the following wiki text:


While you're editing, copy the wiki text of the entire page to your clipboard. 'Save'

Where it says 'other languages', click 'show' and follow a red link to begin creating the new wiki page. Paste in the english text and start rewriting it in your language. The new page title should have a language prefix.

Note: due to technical reasons (limitations in the parser functions defined in the MediaWiki software showing this wiki), not all pages with existing translations will show by default in the list of available languages, but only languages for major languages of the world. The many other languages will be displayed in the second list of 'Other languages' without being tested for their existence, so this list may show both red links (missing major or minority languages), and blue links (missing minority languages). A solution is being developed and tested to solve this problem of inequal visibility, without using "costly" parser functions.

Note: before saving the new page, your language is shown as a missing language in the preview. However, after you have saved it, your language is still shown in the missing language box with black colour and bold type. This strange thing is caused by a template cache. Purge cache to rescan the available languages. Your language will be shown as available.

Instructions for the Languages template

This is a template that lists all languages available. It is based on parser functions from mediawiki and the ISO 639-1 language code.

Brief instruction

  1. All page names are in English.
    Every translated page needs a page name with a language code as a prefix, followed by a colon and the english page name.
    If the "plain" english page name content is written in English, the english page name does not have a prefix in the file name. If the "plain" english page name content is written in some other language (ie WikiProject France), the english translated page does need a prefix of "en" (ie en:WikiProject France).
    Example:Page_name - fr:Page-name - de:Page_name
  2. the following has to be included in each page: {{Languages|Page_name}}

If you click on "missing languages", and then you click on a red link, it automatically opens a new page with the right suffix and the right page name. Copy the original text to this page and translate it. In the first line you put {{Languages|Page_name}}

Example for actually implemented namespaces and languages (2009-6):


This automatically generates a language menu consisting of links to the original page (in English) and all translated pages. The links are written in the respective language: Deutsch, English, Français, etc.

Translated pages with a title in a non-English language

Pages with names in a national language or other names can create the automatic menu by redirect:

  • Let's suppose that the English page name is "Page_name". Then,
  • Start translating that page in "XX:Page_name", where "XX" is the target language code for your translation (follow the red link present in the top header of the English page, if your language is already listed there).
  • Rename that page into XX:Translated title of Page_name (please keep the language code prefix to avoid collisions with similar titles in other languages). You'll see that :
    1. in the page named "XX:Page_name":
      #REDIRECT [[XX:Translated title of Page_name]]
    2. in the translated page named now "XX:Translated title of Page_name", the English title has to be added as parameter in the template:

Interface selection

This procedure is no longer needed. The standard template can now autodetect the language used on the page where it is inserted and provide the necessary description and help in that language. See Template:Available languages and Template:Missing languages if you want to translate these two titles.

Language prefixes and namespaces

All languages are currently supported merely as a wiki page naming convention. There is an option to support some of the more widely used ones are set up as proper namespaces within the wiki software, allowing features like tickboxes on the advanced search. Pages could then be listed by prefix (for any language) using Special:PrefixIndex.

This wiki should progressively be updated to use autotranslatable templates (in a way similar to Wikimedia Commons), instead of having to maintaining a lot of separate pages for each language, for contents that can be maintained in one place independantly of the language displayed.

All translated pages are currently stored in the main namespace, using a language-code prefix that should be written in lowercase (only the first letter of the prefix will be automatically uppercased, but this letter case is not significant). This wiki may still contain a few languages for which the language code was uppercased. But to ease the maintenance of links be consistant with the letter case of codes already used in the Languages template shown at the top of translated pages.

For new language, please use language codes conforming to the BCP 47 standard — check the Registry of language subtags on the site (according to the BCP 47 standard, currently in RFC 5646): generally this means using the ISO 649-1 two-letter code where it exists, otherwise the two-letter technical ISO 646-2 language code, otherwise the three-letter ISO 649-3 code; avoid using obsolete language codes that are marked in this registry as being replaced by another one, or deprecated and merged into another one; for some languages, the language code may be followed by a ISO 15924 script code; it may also be followed by a ISO 3166-1 country/region code, but this usage is no longer recommended for coding a language variant, and this wiki will prefer to be really international and edited in a way acceptable in all regions where the same language is written.

Note also that a few language codes used for Wikipedia editions (and in interwiki links) do not apply to this scheme, for historical reasons, and have still not been converted or redirected to use the recommended BCP 47 codes (which is the universal standard for the web).

OSM WP BCP 47 (RFC 5646 or later) name (in native) name (in English) wiki namespace
am am am አማርኛ Amharic No
ar ar ar العربية Arabic No
ast ast ast asturianu Asturian No
bg bg bg български Bulgarian No
br br br brezhoneg Breton No
bs bs bs bosanski Bosnian No
ca ca ca català Catalan (Valencian) No
co co co corsu Corsican No
CS cs cs čeština Czech No
da da da dansk Danish No
de de de Deutsch German No
el el el Ελληνικά Greek No
en en en English English No
eo eo eo Esperanto Esperanto No
es es es español Spanish No
et et et eesti Estonian No
eu eu eu euskara Basque No
fi fi fi suomi Finnish No
fr fr fr français French No
fy fy fy Frysk Western Frisian No
gcf NONE gcf Kréyòl gwadloupéyen Guadeloupean Creole French No
he he he עברית Hebrew No
hr hr hr hrvatski Croatian No
hu hu hu magyar Hungarian No
is is is íslenska Icelandic No
it it it italiano Italian No
ja ja ja 日本語 Japanese No
ko ko ko 한국어 Korean No
lb lb lb Lëtzebuergesch Luxembourgish No
lt lt lt lietuvių Lithuanian No
lv lv lv latviešu Latvian No
mk mk mk македонски Macedonian No
nl nl nl Nederlands Dutch/Flemish No
nn nn nn norsk nynorsk Norwegian (Nynorsk) No
no no no norsk Norwegian No
pl pl pl polski Polish No
pt pt pt português Portuguese No
pt-br NONE -> pt pt-BR português do Brasil Brazilian Portuguese No
ro ro ro română Romanian No
ro-md mo mo (deprecated) -> ro-MD молдовеняскэ Moldavian (Romanian) No
ru ru ru русский Russian No
sk sk sk slovenčina Slovak No
sl sl sl slovenščina Slovenian No
sq sq sq shqip Albanian No
sv sv sv svenska Swedish No
tr tr tr Türkçe Turkish No
uk uk uk українська Ukrainian No
vi vi vi Tiếng Việt Vietnamese No
zh-hans NONE -> zh zh-Hans 中文(简体)‎ Simplified Chinese No
zh-hant NONE -> zh zh-Hant 中文(繁體)‎ Traditional Chinese No
zh-tw (deprecated) NONE -> zh zh-TW (same as zh-Hant) 中文(台灣)‎ Taiwanese Chinese No


  • The Min Nan language spoken in Taiwan ("zh-min-nan-TW" in the old RFC 3066, or better now "nan-TW" or just "nan", see BCP 47) is normally written in the Latin script (rather than the simplified Han script, for which it is almost impossible to differentiate from Chinese written with the Simplified Han orthography), and has its own distinctive language code "nan". Taiwanese Chinese (zh-TW) is completely unrelated to Min Nan; the use of zh-TW is deprecated, use Traditional Chinese ("zh-Hant") instead. Feel free to create pages translated in Min Nan, if you need, using the standard "nan" language code.
  • See Chinese Wikipedia for informations about Chinese languages on WP ! If the transcoder is implemented here on this wiki, we would no longer need to maintain separate pages with orthographic differences between "zh-Hans" (essentially the same for the P.R. of China mainland, and Singapore) and "zh-Hant" (essentially the same for Taiwan, Hong Kong SAR, and Macau SAR)
  • Since Moldavian "ro-md"/"mo"" is not needed and should be removed! See Closure of Moldovan Wikipedia ! The only remaining difference of Moldovan was when the Romanian language was written in the Cyrillic script by people living in Moldova before its independance from USSR. The Russian minority living in the cessessionist Eastern part of Moldova, use the Russian language written in the Cyrillic scipt, not Moldovan/Romanian, but the other Moldovans do speak Romanian (with just minor vocabulary differences that have been developed when Moldova was occupied by USSR, differences that are now disappearing fast with the increased exchanges with Romanian medias and the return to the use of the Latin alphabet, and with which people of both countries can coexist with an excellent and evident mutual understanding.