Wiki Translation

From OpenStreetMap Wiki
Jump to navigation Jump to search
About this wiki Guidelines Organisation Translation Cleanup Help
Chart of world writing systems.svg

Wiki Translation can be a good way to help develop the project across the world. The wiki holds a lot of important help content and documentation. We'd like to make at least some of this available in other languages. Note that translation efforts in other areas of the project are equally important if not more so.

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 encyclopedia 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!

With this in mind we haven't deployed exactly the same wiki technology to support translations. 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 focused.

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.

How to translate

Single page

  • Find the English version of a page in the main namespace.
    If there is no English version, create one, for example by starting a new page from a search:
    Type the name of the page you want (say English page name) in the Search box, and start the search.
    The search results will say that no such page exists, but it will also include a (red) link to the (non-existing) page. The message (and the tooltip when hovering this red link) will say (in the language defined in your preferences for this wiki):
    Create the page "English page name" on this wiki!
    👆🏻 English page name (page does not exist)
    Click on this red link and you will be starting to create the new page, in edit mode.
  • When you are reading the English version of the page, switch to edit mode.
    In order to have the languages tool bar displayed at the top (as you see on this page for example), be sure that the template {{Languages}} is present near the beginning of the page, otherwise insert the following wiki text in edit mode:
    {{Languages|English page name}}
    While you're in edit mode, copy the wiki text of the entire page to your clipboard. Save this English version with the Languages template added.
  • Where it says 'other languages', click 'show' and follow a red link to the language you want and begin creating the new wiki page. You will see that the new page will have the same title, but a language code prefix added.
  • Paste in the English text from your clipboard and now start translating it into your language and save the new translated page.
  • Finally, you may rename the new translated page with a translated title, but keep the language code prefix in the new name!
    Don't delete the redirecting page which is still needed for the interlanguage navigation bar to work properly.
    If you renamed a page that has subpages, you should also translate and rename the subpages the same way, using a consistent base page name for all subpages.

Technical notes:

  • Before saving the new page, your language is shown as a missing language in the preview. However, after you have saved it, your language may still be 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. The languages navigation bar at top of translated pages includes now the Purge link to do that in one click.

Additional steps:

  • Some templates transcluded in your translated page may need to be adapted: in some cases these are different templates rewritten in your language (also named with a language code prefix), but many templates now can autodetect the language they should display by internally using {{Langcode}} which returns the lowercase language code of the current page transcluding it, provided that this current page uses the correct language code prefix.
  • Categories listed at end of your page should to be converted to use the translated categories when they exist (see below for details about how to create them), instead of remaining in the English categories.

See also Wiki Help.

Category

  • Use "Category:<languagecode>:<Adapted title>" convention.
  • Use {{Languages|Category:Original English title}} at top of your localized version in order to display the interlanguage navigation bar.
  • You need to keep "Category:<languagecode>:<Original English title>" as a redirecting page (example: category in English, redirect in Japanese, actual category in Japanese) so that the interlanguage navigation bar works.
  • In the redirecting category (still named in English), please also add {{Category redirect|<languagecode>:<Adapted title>}} so that any page that would still be categorized with the English title will be listed in that category visible as a subcategory of the translated category and not left in an orphaned category: it will ease the maintenance of those pages whose categorisation should be edited to use the adapted title.
  • Don't delete the redirecting category named in English, even if it is empty (and it should remain empty)! It is needed for links shown in the interlanguage navigation bar (which cannot guess the translated titles).

Translated pages with a title in a non-English language

If you want that a page translated to a national language have the title translated also, it is necessary to maintain anyway a page with English title preceded by language code and colon. This page would be a simply redirect to the actual page with title in national language.

Let's suppose that the English page name is "English_page_name", and you already have got a translated page with the title "XX:English_page_name" (where XX is the target language code like Ar, Ca, DE, IT, Zh-hant, ...). Now you want the translated page to get a translated title "XX:Translated_page_name" too. Do the following steps:

  1. Go to the edit-view of the translated version (XX:English_page_name) and find the code-piece like {{Language}}
  2. Change this code-piece to the following: {{Language|English_page_name}}. That is necessary to keep the language bar working after we moved the page.
  3. Use the move function of the wiki to create a new translated title for the page: Click the small arrow next to the search bar, top right of the page, then move.
  4. On the upcoming page, use the form like this:
    To new title: type the translated title;
    Check the Move associated talk page box;
    Click the Move page button.

Now the content is moved to a page with the new translated page name "XX:Translated_page_name". And also, a redirect is automatically established, so all old links to XX:English_page_name will be redirected to the new translated page.

Sometimes there are already some pages redirecting to the old English named page (our new redirecting page). Then there would occur a double redirection, and that causes problems because the Wiki-System will stop the second redirection (see Special:DoubleRedirects). To prevent this from happening:

  1. Open again the XX:English_page_name - Oh yeah, you can't open it because you will be redirected. Just use the link in the upper left corner: (Redirected from XX:English_page_name)
  2. Now we opened the old page title which is now just a redirecting page
  3. Open the link What links here in the left menu.
  4. Check if there are any pages where is written (redirect page) in black color.
  5. Open this page, edit them and change the redirect directly to XX:Translated_page_name

This would fix the double redirect problem and you have done a clean fresh title translation.

Instructions for the Languages template

Template:Languages lists all languages available. It is based on parser functions from MediaWiki and the IETF language tags (as defined in the BCP 47 standard, based on ISO 639-1 with a few exclusions, and extensions partly borrowed from other standards). See below for a partial list.
This automatically generates a language menu consisting of links to the original page (in English) and all translated pages. The links are written in their respective native names: "Deutsch", "English", "français", etc. The list of languages is sorted alphabetically, grouped by scripts, with RTL scripts after LTR scripts.

The complete syntax is:

{{Languages|NameSpace:English page name}}

The parameter Page name is not necessary if the title of current page is equal to English page title, because his default value is assumed to be exactly the title of current page (however it is recommended to keep it to ease the translation of English pages and then renaming them in the actual target language).
Note: Now the parameter "ns=" is not required to specify a leading namespace such as Template or Category, which can be merged into the first parameter (see see here). But don't use any language code prefix or namespace in that parameter, just specify the full page name of the English page.

Example for actually implemented namespaces and languages:

Page_name (should be in English)
Ar:Page_name (Arabic)
Cs:Page_name (Czech)
DE:Page_name (German: capitalized namespace)
ES:Page_name (Spanish: capitalized namespace)
FR:Page_name (French: capitalized namespace)
IT:Page_name (Italian: capitalized namespace)
JA:Page_name (Japanese: capitalized namespace)
NL:Page_name (Dutch: capitalized namespace)
Pl:Page_name (Polish)
Pt:Page_name (Portuguese)
RU:Page_name (Russian: capitalized namespace)
Uk:Page_name (Ukrainian, not United Kingdom!!!)
Zh-hans:Page_name (Simplified Chinese)
Zh-hant:Page_name (Traditional Chinese)

Brief instruction

  1. For correct work of the template 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.
      Example: Page_name (English content) - FR:Page_name - DE:Page_name
    • If the "plain" English page name should be a redirect to a page in some other language, the English translated page does need a prefix of "EN".
      Example: Page_name (redirect to non-English page) - EN:Page_name - FR:Page-name - DE:Page_name
  2. The following has to be included in each page: {{Languages|English 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 prefix and the right page name. Copy the original text to this page and translate it. In the first line you put {{Languages|English page name}}.

If you want to translate the title then make sure that the page name in English with the additional language prefix is redirected to a localized article name with its language code.

  1. First create the localized page (or category) with the same name as in English, using only a different language prefix (language prefixes for categories are after the namespace "Category:", e.g. "Category:FR:Maps")
  2. Then move that page to its new translated name (e.g. "Category:FR:Cartes"). Keep the generated redirect which is needed for interlanguage navigation!
  3. Make sure that the new page (or category) indicates the correct full English page name (including its namespace) in {{Languages|Full page name}} (e.g. {{Languages|Category:Maps}} without any language prefix)
  4. Check the sortkey for the translated title so that they sort correctly in categories for in your language: in most languages on this wiki, the default sort key includes the language code prefix which is part of the title and not part of a separate namespace: at least you should copy in the DEFAULTSORTKEY the page title without the language code prefix, and the sortkey may need to be transliterated (e.g. in Japanese for sorting using Kanas instead of the Kanjis present in the translated title). Specific categories also use shortened keys (exclusing terms shared by most or all pages in that category, or excluding leading articles not used in all titles of pages sorted in that category: this shortened sortkey should be adapted too (just like the DEFAULTSORTKEY used by the listed categories not using shortened keys).

If you moved a category at step 2 above

  1. Edit the generated redirect category to add {{Category redirect|Language code:New translated name}} just after the generated #REDIRECT [[:Category:...]] line: it will help tracking redirected categories still containing pages.
  2. Edit the pages or subcategories that are still listed in the redirected category, in order to specify the new translated category name.

Language prefixes and namespaces

Many languages are supported merely as a wiki page naming convention, while 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 can be listed by prefix (for any language) using Special:PrefixIndex.

Note that only a few languages (for which there are ample contents on this wiki and enough maintainers) have a dedicated namespace on this wiki (for historic reasons, these namespaces are using capital letters). These namespaces allow to perform searches in the many pages created in those languages. Most languages won't have this dedicated namespace. 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 independently of the language displayed.

All other translated pages are 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 consistent with the letter case of codes already used in the Languages template shown at the top of translated pages.

Note that most language codes used in prefixes are using lowercase letters. But for legacy reasons on this wiki, some languages have their own dedicated article namespaces that are named using capital letters (for translated articles in the following 7 namespaces: DE, ES, FR, IT, JA, NL, RU). The letter case is significant for prefixes that are not declared on this wiki with a dedicated namespace. But the lettercase of recognized namespace names is not significant, so you can safely use lowercase letters everywhere for all language codes (this will simplify maintenance tasks for links, notably by avoiding the creation of additional redirects on this wiki).

The letter case of language code prefixes however remains significant outside article namespaces and their associated talk pages (such as Template: or Category:), because the language code prefix after the namespace prefix is an actual part of the page title. For reasons of coherence and to help reduce the number of needed redirects and their maintenance, languages prefixes for pages in those namespaces should be lowercase everywhere except for the 7 languages listed above which should have their prefix capitalized (e.g. with "Category:Categories"; "Category:FR:Categories" soft-redirecting to "Category:FR:Catégories"; "Category:DE:Categories" soft-redirecting to "Category:DE:Kategorien"; "Category:Cs:Categories". But not "Category:Fr:Category", or "Category:CS:Categories"; the same applies to templates).

In a few cases, the original article was actually not written in English, but an English version (generally limited as a stub or partly translated) can use temporarily the capitalized prefix "EN:". However the interlanguage navigation bar does not work well in this case because it cannot properly detect that the unprefixed page name is not in English. To allow interlanguage navigation, the original page in other language than English should also use its own language code prefix, so that its translation to English could have its "EN:" prefix removed. The interlanguage navigation bar will link to the English page using the "EN:" prefix only where it exists, otherwise it will use the unprefixed page name (assuming that this unprefixed page name is in English).

Note also that categories cannot be simply hard-redirected (unlike articles, talk pages or templates). When a translated category with an English title (but a language code prefix) is renamed with a translated title (keeping its language code prefix), the category with the untranslated title becomes a hard redirect. If any page is categorized in a redirected category, the categories listed at bottom of these pages will be italicized: clicking on this category will redirect to the renamed category that will not list that page, listed only in the English-named category (this is an old limitation/bug of the MediaWiki software). To help diagnose those cases, an additional template should be added immediately after this renaming, so that the English-named category be listed within the translated category as long as the English-named category is populated.

For new language, please use language codes conforming to the BCP 47 standard — check the Registry of language subtags on the IANA.org site (according to the BCP 47 standard, currently in RFC 5646): generally this means using the ISO 639-1 two-letter code where it exists, otherwise the two-letter technical ISO 639-2 language code, otherwise the three-letter ISO 639-3 code; avoid using obsolete language codes that are marked in this registry as being replaced by another one, or deprecated and splitted into several more precise ones; 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 (or a numeric continental or subcontinal region code from the UN-M.49 statistics standard), 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. If for some language variants you need region/script subtags after a main language subtag, please write them in lowercase, even if BCP 47 preferably lists them with uppercase letters, but remember that letter case in BCP 47 language tags are not significant but only suggested. BCP 47 also allows registered subtags for encoding historic linguistic variants by date or usage with specific terminologies, but they should not be needed on this wiki written in the most common modern variant for general use.

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). Also some languages used on this wiki do not have an exact match with a linguistic edition of Wikipedia or this OSM wiki still makes distinctions which are no longer relevant in Wikipedia (such as script variants, because Wikipedia natively supports transliterators between those variants when this wiki still does not have this support). These exceptions are highlighted in the table below.

OSM Wiki language codes

Language code Name Native name Prefix or namespace Status
ab Abkhazian Аҧсшәа Ab: Unlisted
af Afrikaans Afrikaans Af: Listed
am Amharic አማርኛ Am: Unlisted
an Aragonese aragonés An: Unlisted
ar Arabic العربية Ar: Listed
as Assamese অসমীয়া As: Unlisted
ast Asturian asturianu Ast: Listed
av Avaric авар Av: Unlisted
ay Aymara Aymar aru Ay: Unlisted
az Azerbaijani azərbaycanca Az: Listed
ba Bashkir башҡортса Ba: Unlisted
be Belarusian беларуская Be: Listed
bg Bulgarian български Bg: Listed
bm Bambara bamanankan Bm: Unlisted
bn Bangla বাংলা Bn: Listed
bo Tibetan བོད་ཡིག Bo: Unlisted
br Breton brezhoneg Br: Listed
bs Bosnian bosanski Bs: Listed
ca Catalan català Ca: Listed
co Corsican corsu Co: Unlisted
cs Czech čeština Cs: Listed
cy Welsh Cymraeg Cy: Unlisted
da Danish dansk Da: Listed
de German Deutsch DE: Listed
diq Zazaki Zazaki Diq: Listed
dv Divehi ދިވެހިބަސް Dv: Unlisted
el Greek Ελληνικά El: Listed
en English English : Listed
eo Esperanto Esperanto Eo: Listed
es Spanish español ES: Listed
et Estonian eesti Et: Listed
eu Basque euskara Eu: Listed
ext Extremaduran estremeñu Ext: Unlisted
fa Persian فارسی Fa: Listed
fi Finnish suomi Fi: Listed
fr French français FR: Listed
fy Western Frisian Frysk Fy: Listed
ga Irish Gaeilge Ga: Unlisted
gcf kréyòl gwadloupéyen kréyòl gwadloupéyen Gcf: Listed
gd Scottish Gaelic Gàidhlig Gd: Unlisted
gl Galician galego Gl: Listed
gsw Swiss German Alemannisch Gsw: Unlisted
gu Gujarati ગુજરાતી Gu: Unlisted
ha Hausa Hausa Ha: Unlisted
he Hebrew עברית He: Listed
hi Hindi हिन्दी Hi: Unlisted
hr Croatian hrvatski Hr: Listed
ht Haitian Creole Kreyòl ayisyen Ht: Listed
hu Hungarian magyar Hu: Listed
hy Armenian հայերեն Hy: Listed
ia Interlingua interlingua Ia: Listed
id Indonesian Bahasa Indonesia Id: Listed
ie Interlingue Interlingue Ie: Unlisted
ig Igbo Igbo Ig: Unlisted
is Icelandic íslenska Is: Listed
it Italian italiano IT: Listed
ja Japanese 日本語 JA: Listed
jv Javanese Basa Jawa Jv: Unlisted
ka Georgian ქართული Ka: Listed
kk Kazakh қазақша Kk: Unlisted
km Khmer ភាសាខ្មែរ Km: Unlisted
kn Kannada ಕನ್ನಡ Kn: Unlisted
ko Korean 한국어 Ko: Listed
ku Kurdish kurdî Ku: Listed
ky Kyrgyz Кыргызча Ky: Unlisted
la Latin Latina La: Unlisted
lb Luxembourgish Lëtzebuergesch Lb: Listed
li Limburgish Limburgs Li: Unlisted
lo Lao ລາວ Lo: Unlisted
lt Lithuanian lietuvių Lt: Listed
lv Latvian latviešu Lv: Listed
mg Malagasy Malagasy Mg: Unlisted
min Minangkabau Baso Minangkabau Min: Unlisted
mk Macedonian македонски Mk: Listed
ml Malayalam മലയാളം Ml: Listed
mn Mongolian монгол Mn: Listed
mr Marathi मराठी Mr: Unlisted
ms Malay Bahasa Melayu Ms: Listed
mt Maltese Malti Mt: Unlisted
my Burmese မြန်မာဘာသာ My: Listed
nan Min Nan Chinese Bân-lâm-gú Nan: Unlisted
nds Low German Plattdüütsch Nds: Unlisted
nds-nl Low Saxon Nedersaksies Nds-nl: Unlisted
ne Nepali नेपाली Ne: Listed
nl Dutch Nederlands NL: Listed
nn Norwegian Nynorsk norsk nynorsk Nn: Listed
no Norwegian norsk No: Listed
oc Occitan occitan Oc: Listed
om Oromo Oromoo Om: Unlisted
or Odia ଓଡ଼ିଆ Or: Unlisted
pa Punjabi ਪੰਜਾਬੀ Pa: Unlisted
pl Polish polski Pl: Listed
ps Pashto پښتو Ps: Listed
pt Portuguese português Pt: Listed
pt-br Brazilian Portuguese português do Brasil Pt-br: Deprecated→ pt
ro Romanian română Ro: Listed
ro-md Moldavian română Ro-md: Deprecated→ ro
ru Russian русский RU: Listed
sa Sanskrit संस्कृतम् Sa: Unlisted
sd Sindhi سنڌي Sd: Unlisted
si Sinhala සිංහල Si: Listed
sk Slovak slovenčina Sk: Listed
sl Slovenian slovenščina Sl: Listed
so Somali Soomaaliga So: Unlisted
sq Albanian shqip Sq: Listed
sr Serbian српски / srpski Sr: Listed
sr-latn Serbian (Latin script) srpski (latinica)‎ Sr-latn: Listed
su Sundanese Basa Sunda Su: Unlisted
sv Swedish svenska Sv: Listed
sw Swahili Kiswahili Sw: Unlisted
ta Tamil தமிழ் Ta: Listed
te Telugu తెలుగు Te: Unlisted
tg Tajik тоҷикӣ Tg: Unlisted
th Thai ไทย Th: Listed
tk Turkmen Türkmençe Tk: Unlisted
tl Tagalog Tagalog Tl: Listed
tr Turkish Türkçe Tr: Listed
tzm Central Atlas Tamazight ⵜⴰⵎⴰⵣⵉⵖⵜ Tzm: Listed
ug Uyghur ئۇيغۇرچە / Uyghurche Ug: Unlisted
uk Ukrainian українська Uk: Listed
ur Urdu اردو Ur: Unlisted
uz Uzbek oʻzbekcha/ўзбекча Uz: Unlisted
vec Venetian vèneto Vec: Unlisted
vi Vietnamese Tiếng Việt Vi: Listed
wa Walloon walon Wa: Unlisted
wo Wolof Wolof Wo: Unlisted
wuu Wu Chinese 吴语 Wuu: Unlisted
xh Xhosa isiXhosa Xh: Unlisted
yi Yiddish ייִדיש Yi: Unlisted
yo Yoruba Yorùbá Yo: Unlisted
yue Cantonese 粵語 Yue: Listed
za Zhuang Vahcuengh Za: Unlisted
zh Chinese 中文 Zh: Unlisted
zh-hans Simplified Chinese 中文(简体)‎ Zh-hans: Listed
zh-hant Traditional Chinese 中文(繁體)‎ Zh-hant: Listed
zh-tw Chinese (Taiwan) 中文(台灣)‎ Zh-tw: Deprecated→ zh-hant
zu Zulu isiZulu Zu: Unlisted

Notes:

  • 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 information 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 independence from USSR. The Russian minority living in the cessessionist Eastern part of Moldova, use the Russian language written in the Cyrillic script, 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.
  • The column "major (tested)" indicates which languages are automatically tested for looking for translated pages that are transcluding Template:Languages at top of pages. This navigation template will automatically detect the existence of translated pages and will avoid showing red links. But such detection is limited to about 50 languages, for technical reasons in this wiki. All other languages are only listed as "Other languages" in this navigation box, in a list with many red links hidden by default. For this reason, only major languages (or regional languages for which this wiki has significant contents content to show) will be part of the tested language list which is not hidden by default.
  • Many other languages may be referenced for the translations of toponyms and POIs in the OSM database (for example for name=*, using BCP47 language codes as suffixes), but most of these languages are not used for translations in this documentation wiki (they will probably never appear as "major (tested)" in the list above).