Jump to content

Translating:MediaWiki

From translatewiki.net
MediaWiki logo
MediaWiki logo

MediaWiki is open source wiki software on which this site runs, and which can be translated here. Support for translating hundreds of MediaWiki extensions is also available.

Translators may add MediaWiki to their babel box or include {{User MediaWiki}} to add themselves to Category:MediaWiki translators.

Glossary

A brief explanation of the most essential terms used in this document:

MediaWiki
The software that powers Wikipedia and many other websites. It allows people to edit pages in collaboration.
Wikimedia
The organization that maintains Wikipedia, Wikidata, and several other websites, as well as the MediaWiki software.
Message
A translatable string.
Message documentation
While translating, documentation about the message is shown on the sidebar next to the translation. It is also known as "qqq" in MediaWiki developers' jargon.

For a more detail glossary of basic MediaWiki terms, see Translating:MediaWiki/Basic glossary.

Translation flow

You made some changes here? This is what happens then and how long it takes to take effect.

Export threshold
Messages do not start to be exported to MediaWiki until at least 13% of the core MediaWiki messages in that language have been translated (used to be 18%): under such amount, the export scripts automatically skip the language in question and developers won't add support for the language on MediaWiki. The threshold corresponds to the number of all most used messages in MediaWiki or more; see also Translatewiki.net languages.
Wikimedia sites—Wikipedia, Wikidata, Wikisource, Wikivoyage, etc.
Interface message changes should be reflected in projects once per week along with the usual deployments.
Everything else
New translations are shipped with each new MediaWiki release (1.x) and usually with maintenance releases too (1.x.y). There are only a few releases per year, and many sites do not update often.

Why translate on translatewiki.net



See also: Tips for translating MediaWiki software



MediaWiki is one of the few software packages that allow its users to translate it using itself. Thanks to translatewiki.net, however, localising it is even easier and more efficient. In addition to the general advantages of this wiki, compared to local translation:

  • Your translations are used on every MediaWiki wiki, this includes every Wikimedia wiki, see #Translation flow.
  • You can localise namespaces (Help, User, Talk, ...), special page names (Recentchanges, Allpages, ...), and magic words.
    The message groups above cannot be localised in a normal wiki, because they are buried deep down in the software. Here you can localise these message groups, and later on your changes can be used in every installation of MediaWiki again. See #Translation notes below.
    (temporarily disabled; see the section #AdvancedTranslate in this document and phab:T109235)
  • You can translate new messages faster than on a local wiki.
    We always have the latest version of the software. This means new messages show up much faster than on any other wiki and you have more time to translate them before they arrive to your wiki. This can also mean translatewiki.net uses an unstable version, but problems are usually solved quickly.
  • The only drawback is that your translations will not show up on your local wiki immediately, but after a few days to weeks; or, if you are using a release version, after the next update. However, for the previous point, there's no reason to be in a hurry: just check new messages regularly and translate them in time.
    See FAQ#How is the work done on translatewiki.net connected to other wikis?.

Extensions

All MediaWiki extensions are supported as long as they are in Wikimedia's Git repository or in GitHub and their developers are supportive enough of translators.

If you don't want your extension to be added to translation, because you're going to soon change many messages completely or to delete the extension altogether, please state it clearly somewhere so that we don't add it when it's still too soon. In both cases, cc Raymond to a changeset on gerrit if you feel your extension's case might have been neglected.

Translation notes

Recommended process for translating MediaWiki

Translators of other projects can ignore this list.

  • First translate the most often used messages.
  • Complete the core messages.
  • Check if you should translate any optional messages in core.
  • Do a consistency check (terminology, formal/informal) on your localisation.
  • Translate special page names, magic words and namespaces on [[Special:AdvancedTranslate]] (temporarily disabled; see the section #AdvancedTranslate in this document and phab:T109235)
  • Translate the extension messages used in Wikimedia wikis. There are more than 10,000 messages there, so for your convenience they are further subdivided into groups: main, advanced, media, fundraising, technical, etc.
  • After completing an extension, it's recommended to check whether there are any optional messages that should be translated. (Click "..." at the top of the translation interface and check the "Optional" box.) If they will be the same in your language as in English, don't translate them.
  • Translate the remaining extension messages.
  • Do a consistency check (terminology, formal/informal) on your localisation between core messages and extension messages
  • Start maintaining your language's localisation on a regular basis. At least once per week is recommended.

Read on if you want to know more. Reading on is not required, although advised for a proper understanding of more advanced localisation features. You could spend a few days translating, though, and come back when you think you need more information.

Message keys

Every message is identified by a unique key. A message key is a string. In the translation interface, the key appears above the source message as MediaWiki:message-key/language-code. On translatewiki, the message key is also used as the title of the wiki pages on which the source message and the translations are stored.

Most of the time, the translators don't need to deal directly with message keys. However, they are sometimes necessary. Here are the main reasons for using them:

  1. If you use a wiki in your language and you see a missing or a wrong translation and you want to fix it as directly as possible, you can find the precise message key by adding the string ?uselang=qqx to the URL of the wiki page. For example, if you're looking at the article Bali at the Indonesian Wikipedia and you see that something is not translated, go to the page https://id.wikipedia.org/wiki/Bali?uselang=qqx, and you'll see message keys instead of actual translations: instead of "Masuk log" you'll see "(pt-login)". Use that key to go the corresponding page in translatewiki: MediaWiki:Pt-login/id.
  2. If there is an issue with a message, such as missing documentation, unclear English formulation, or anything else, you should report this message to the developers using the Support page or Phabricator. When reporting, it's essential to mention the message key. If you use the Ask for more information link in the translation interface, the key will be mentioned automatically in the bug report, but sometimes you may have to use it manually.

On most wikis there is a page called Special:AllMessages. It helps you examine all the messages and their translations and local modifications. Administrators should regularly check that page and remove unnecessary local customizations.

Wiki syntax

Many messages use symbols such as ==, ===, [[]], {{}}, *, #, and so on. This is wiki syntax, also known as "wikitext" or "wiki markup". This is not a requirement, but it is recommended to be familiar with some wiki syntax by editing a few pages on another wiki site, such as Wikipedia, before translating MediaWiki messages at translatewiki.

Here are the most common and basic elements of wiki syntax that you should know:

[[target]]
Square brackets create a link to the word in the brackets.
[[target|text]]
When a pipe (|) is used in a link, the link will point to page whose name appears before the pipe (target), and the readers will see the text that appears after the pipe (text). Usually, the "text" should be translated to your language, but the target must remain in English, especially if the target is a special page such as [[Special:RecentChanges]]. If in doubt, check the documentation.
==, ===, ====
Repeated equal marks in the beginning and the end of the line are used to create page section headings. Simply copy them to the translation, and translate the text of the heading itself to your language. Make sure that the same number of equal signs appears in the beginning and the end of the line, and that it's the same as in the source message.
{{template}}, {{magicword}}, {{#magicword:parameter1|parameter2}}
In wiki sites curly braces are most often used for inserting templates, pieces of text that are stored once and are included repeatedly on many pages. They are also occasionally used for "magic words". In messages on translatewiki templates are not used frequently, however many messages include magic words. The most frequent magic words in messages are {{plural}} and {{gender}}. For more information, see the section on magic words on this page. If a magic word begins with #, it must appear in the translation. Usually, the names of templates and magic words must remain in English, but parameters can often be translated. When in doubt, check the message documentation or ask at Support.
*
When the asterisk (*) appears in the beginning of a line, it creates an item in a bullets list.
#
When the number sign (#), also known as hash mark, octothorp, hex, pound, etc., appears in the beginning of a line, it creates an item in a numbered list.

Magic words and language features

Most of what you will be translating is English text. However, some parts will be more technical: these are "variables" and "magic words". Here are the main ones that you need to know.

$1, $2, $3, etc.: variables

Many messages must show things that are not known during the time of the translation. The value is known only when the message is shown to the user ("run time"). Common examples of things that are shown instead of $1, $2, $3, etc. are usernames, page names, file names, and various numbers. They are known variables, parameters, or placeholders.

The documentation explains what will these variables be replaced with. Examples:

  • The message is "You received a message from $1" and the documentation says: "$1 is a username". When the message is shown to a user who received a message from the user Amire80, the message will say "You received a message from Amire80".
  • The message is "There are $1 pages in the category $2" and the documentation says: "$1 is the number of pages and $2 is a category name", then when you look at the category "19th-century Russian monarchs", the message will say "There are 7 pages in the category 19th-century Russian monarchs".

Put these variables in the place where the corresponding words or numbers appear in your language. It doesn't have to be the same as in English.

Note that you must always use the Western Arabic numerals: 1 2 3 4 5 6 7 8 9 0. If your language uses different numerals, such as ١ ٢ ٣, १ २ ३, ߁ ߂ ߃, etc. remember to switch your keyboard and use the Western Arabic numerals 1 2 3, etc., in variables with the dollar sign ($).

PLURAL:

If you see something like $1 {{PLURAL:$1|page|pages}} in a translatable message, this means that the word will be shown according to the value of the variable $1. Note that you must not change the PLURAL:$1 part, but you must translate the page|pages part which gives a list of translated plural forms.

Different languages have different grammatical rules for plural forms. English has one form (singular) for the number 1, and the plural form is used for zero and for all the other numbers: 0 pages, 1 page, 2 pages, 10 pages, etc. Polish uses singular for number 1, and different plural forms for numbers 2, 3, 4, and numbers from 5 and up. The translation to Polish will be $1 {{PLURAL:$1|strona|strony|stron}}; note that there are three forms, and not two, like in English. The output, depending on the number, will be:

  • when $1 is 1: 1 strona
  • when $1 is 2: 2 strony
  • when $1 is 4: 4 strony
  • when $1 is 5: 5 stron

The rules are defined in a standard called CLDR, which has information about many languages. If information about plural forms in your language is not defined, or if it is defined incorrectly, see the page CLDR for tips about how it can be fixed.

If your language has no plural forms at all, then simply write something like $1 {{PLURAL:$1|page}}, or $1 page{{PLURAL:$1|}} (with an empty list of forms when the invariable term is already placed elsewhere outside this special markup, but you must keep at least {{PLURAL:$1|}} to avoid a validation error where this code is required by the Translate UI in the translated message for the target language). Plural forms are given in parameters after the first pipe character | as a list of items, one for each form, and are also separated by pipes:

  • The text for the plural form given in each one item may be prefixed by a distinctive "selector" keyword or numeric value, followed by an equal sign=. These selectors can only be used only once in the list of plural forms.
    • The following selectors are recognized: one (or 1, singular), two (or 2, dual), few (paucal), many (also used for fractions if they have a separate class), other (or in last position with no selector), or zero (or 0); reserved keywords used as selectors must also remain in English.
    • The selector zero (or 0) is special and only supported in a few languages, and only with an explicit selector specified before the text of the translated form.
    • Note that the forms selected by zero, one or two do not necessarily mean that the numeric value is exactly 0, 1 or 2: the rules used to map one or more values to each any plural selector are language-specific and may only consider some digits in the numeric value; some values may also behave differently if they are integers and non-integers, or if there are decimals explicitly presented in the numeric value (including if they are all zeroes).
    • Some other selectors may be added (as defined in the CLDR standard) for languages needing them (see https://cldr.unicode.org/index/cldr-spec/plural-rules).
  • All listed form (except the last one) that are not prefixed by an explicit selector in an item are assumed to use the implicit selectors one,two,few,many (in that order, and as appropriate in the target language, which may support only the 1st one for most common languages, or even none of them for example in some Eastern Asian languages). In Mediawiki, most selectors are implicit and mapped according to this order.
  • The last given form not prefixed by an explicit selector in an item is assumed to use the implicit selector (other). This default form given is required (but its value may be empty text): it indicates the default form that will be returned (when none of the other selectors match the value specified in the 1st parameter between between PLURAL: and the 1st pipe|, using the plural rules defined for the target language). It is generally the most generic grammatical plural (for example used with large number values), but it may also be just the common singular form if there are no other suitable form, or if the terms must remain invariant according to the context of use, or if the language does not differentiate plural forms in the given terms (look at nouns, adjectives, verbs, pronouns, etc., or other alternate formulations).

For more technical information on PLURAL, see the page Plural.

GENDER:

Many messages depend on the grammatical gender of the users who are mentioned in them, masculine or feminine. Each logged in user can select their gender in their user preferences.

Here is an example of how gender is used in messages. The message is $1 {{GENDER:$1|mentioned}} you on {{GENDER:$1|his|her|their}} talk page, and the documentation says "$1 - user's name".

  • If you use MediaWiki in English, the verb "mentioned" will be the same everywhere, because English verbs don't change with gender, but the pronoun will be chosen according to gender:
    • When user Jack, who set his gender to "he" (masculine) in the preferences, mentioned you, you will see the following: "Jack mentioned you on his talk page".
    • When user Jane, who set her gender to "she" (feminine) in the preferences, mentioned you, you will see the following: "Jane mentioned you on her talk page".
    • When user Lee, who didn't set their gender in the preferences, mentioned you, you will see the following: "Lee mentioned you on their talk page".
  • If you use MediaWiki in Polish, the verb changes, but the pronoun in this sentence is the same. The translation to Polish is $1 {{GENDER:$1|wspomniał|wspomniała|wspomniał(a)}} o tobie na {{GENDER:$1|swojej}} stronie"
    • Jack wspomniał o tobie na swojej stronie.
    • Jane wspomniała o tobie na swojej stronie.
    • Lee wspomniał(-a) o tobie na swojej stronie.

If {{GENDER:parameter|forms...}}</nowiki> is used in the English message, but different gender forms are not needed in the translation to your language, just write {{GENDER:parameter|optional form}}</nowiki> with one form.

Do not translate the word GENDER and its following colon : into your language. It's a technical magic word, and it must remain in English.

For more technical information on GENDER, see the page Gender.

Other magic words

If you need to refer to the name of the site, you can use the magic word {{SITENAME}}. (It usually appears in the source message.)

If your language uses inflection or special punctuation, you should talk to the developers about implementing some support for it. Once this is done you can use forms like {{GRAMMAR:genitive|{{SITENAME}}}} to refer to the sitename in genitive.

You may also see HTML tags such as <strong>, <var>, <kbd>, <span>, and others in messages. You should usually copy the tags in the corresponding places in the translation. Sometimes you should translate the content inside these tags, and sometimes you should leave it as in the original message. Consult the documentation for each message.

Never translate magic words and HTML tags. They must always remain in English, as in the source message.

Links to special pages

Links to special pages in messages must always follow the syntax: [[Special:EnglishName|Translated name]]

The "Special:EnglishName" part must stay as is. Just copy it into the translation. The "Translated name" part, after the vertical bar (|), is shown to the reader, so translate it into your language in a way that will look natural and convenient as a link target and a part of a sentence. If there is no vertical bar (|) followed by link text in the original message, add them in the translation.

Subpage names that appear after a slash (/) after the special page name must also be left untranslated. Take the following message as an example: [[Special:Log/delete|Deletion log]]. Don't translate "Special:Log/delete", but do translate "Deletion log". For example, when translating into Russian, write like the following: [[Special:Log/delete|Журнал удалений]].

Translating namespace names

Every page on a MediaWiki site belongs to a namespace.

The main namespace, also known as the content space or the article space, includes the main content pages of the site. For example, on Wikipedia the encyclopedic articles are in the main namespace, on Wikivoyage the tour guide pages are in the main namespace, and so on. Other namespaces are for pages of discussions, help, documentation, user pages, and so on. See details below.

The name of the namespace appears in the beginning of the page, except for the pages in the main namespace. For example, all the pages in the Help namespace have names such as "Help:Editing", "Help:Uploading", and so on.

Pages in most (but not all) namespace can have a corresponding talk page, and these talk pages are in namespaces of their own. The talk namespace of the main namespace is called simply "Talk", the talk namespace of the Help namespace is called "Help talk", and so on.

Namespace names can be translated. If they aren't translated, they will appear in the fallback language. English namespace names can always be used in links to pages instead of the translated names.

Avoid namespace names that are identical to language codes in any letter case. This will create ambiguity with interlanguage links.

The translated namespace names must be consistent with the translations of the same words in MediaWiki messages.

Namespace name explanations

In the tables below, only the translation of the names in the "Namespace name" column is needed. The explanation is provided only for the convenience of the translators.

The namespaces that are used on all MediaWiki sites:

Core namespaces
Namespace name Description
Media This doesn't mean "journalism". This is short for "multimedia". This is a general name for various media files stored in a common media repository. For example: image file, audio file, video file, etc. This is quite technical and rarely used, and may simply be transliterated or left untranslated.
Special This is an adjective. It's a namespace for special pages, which cannot be edited by users. They provide various services, such as display of information about the wiki, Recent Changes, Watchlist, Statistics, and special administration and editing interfaces such as Blocking, managing user rights, Translation, etc.
Talk The talk page for the main namespaces. Talk pages is where discussion about other pages takes place.
User This is a user of the wiki. If there are masculine and feminine forms for the word "user" in your wiki, it's possible to add both.
User talk This is the talk page of a user. It's used for discussing things directly with a person, whereas article talk pages are for talking about an article.
Wikipedia talk This is for talk pages where the wiki site's internal administration pages are discussed. "Wikipedia" here is just given as an example because Wikipedia is often (though not always) is the first site in every language. It can also be "Wiktionary talk", "Wikisource talk", etc. In the namespaces translations file, it appears as "$1".
File A file, usually photos, videos, music, and PDFs. These pages show the file and some information about it. For example, File:Viang Xai, Laos - panoramio (3).jpg.
File talk A talk page for discussions about the file.
MediaWiki Each pages in this namespace stores a translatable message. If a page exists, its content overrides the translation in the source code and in translatewiki. This is a name "MediaWiki" and it must remain recognizable, so you must not translate the word "media", but you can adapt its spelling to your language.
MediaWiki talk A talk page for discussions about the message in the MediaWiki namespace.
Template A piece of text or code that can be embedded in other pages. Common examples of templates are infoboxes, citations, tags at the top of the article, etc. For example, Template:Citation needed and Template:Infobox writer are popular templates in the English Wikipedia.
Template talk A talk page for discussions about a template.
Help This is a namespace for help pages, which explain the users how to use the website. For example, the page Help:Table in the English Wikipedia explain how to edit tables.
Help talk A talk page about help pages.
Category These are pages that describe a category that includes other pages. For example, the Wikipedia articles about Leymah Gbowee, Andrei Sakharov, and Alva Myrdal all belong to the "Nobel Peace Prize laureates" category in the English Wikipedia, and are automatically listed on that category's page: Category:Nobel Peace Prize laureates.
Category talk A talk page about category pages.

The following namespaces are used in extensions that are installed on many wikis, and should be translated as well:

Extensions namespaces
Namespace name Description
Module Modules are pieces of code that can be embedded into pages. They are similar to templates, but they are written in a programming language and not in wiki syntax. This namespace requires the Scribunto extension to be installed.
Module talk A talk page about a module.
Page In Wikisource sites, the page namespace shows a single page from a file that represents a book, such as PDF or DjVu, and allows people to transcribe it to a digital text.
Page talk A talk page about a page.
Index In Wikisource sites, the Index namespace describes a file that represents a book, such as PDF or DjVu, and maps between page numbers and different parts of the book.
Index talk A talk page about an index.

AdvancedTranslate

Before 2015, it was possible to translate names of namespaces and special pages in translatewiki on the page Special:AdvancedTranslate (also known as Special:Magic). Unfortunately, it had to be disabled for technical reasons. See gerrit:211677.

While the page is disabled, you can get these translated by using one of the following options:

In some rare cases where an extension doesn't support translation of namespaces, translation needs to be done with a local configuration setting for each wiki instead. See #Namespace name aliases. The developers will tell you if this is the case, answering your request.

Namespace name aliases

Since 2015, AdvancedTranslate is disabled.

Since namespace name aliases cannot be localised via translatewiki.net's Special:AdvancedTranslate because of their highly technical nature, you must make a request at support. Please list pairs of alias names, and their corresponding English namespace names. As a rule of thumb, whenever you alter namespace names via Special:AdvancedTranslate, and there is a wiki using the affected language as its default language, do report it!

Sitename/project namespace on Wikimedia wikis

If the sitename at your project is not localized, you should contact the other contributors at your project and find consensus about translation, then open a request at Phabricator; see m:Requesting wiki configuration changes.

Other technical issues

On MediaWiki, much more can be localised: see mw:Localisation#What can be localised.

Exports

Languages with translation completion less than 0% are not committed to version control. If the project consists of multiple message groups, the limit is applied to each group separately.

Wikimedia Gerrit
Translation updates are exported to version control every day
GitHub
Translation updates are exported to version control every Monday and Thursday. (Export threshold is 25 %)

Activity


Translation statistics

The numbers shown below are cached and may not show the latest status. See this stats page for always up-to-date statistics.

Language Messages Untranslated Completion Reviewed Outdated
aae: Arbëresh 49,518 48,274 2% 0% 1%
abs: Ambonese Malay 49,518 48,526 2% 0% 1%
ace: Acehnese 49,522 47,059 4% 7% 1%
acf: Saint Lucian Creole 49,518 48,314 2% 0% 1%
acm: Iraqi Arabic 49,519 45,082 8% 2% 1%
ady-cyrl: Adyghe (Cyrillic script) 49,518 47,754 3% 89% 1%
aeb-arab: Tunisian Arabic (Arabic script) 49,518 48,399 2% 0% 1%
af: Afrikaans 49,553 39,854 19% 8% 3%
aln: Gheg Albanian 49,533 47,322 4% 0% 2%
alt: Southern Altai 49,520 44,075 10% 88% 1%
am: Amharic 49,520 47,308 4% 4% 1%
ami: Amis 49,519 47,946 3% 0% 1%
an: Aragonese 49,565 45,271 8% 0% 2%
ang: Old English 49,519 47,439 4% 0% 1%
ann: Obolo 49,518 47,934 3% 0% 1%
anp: Angika 49,529 46,648 5% 68% 1%
apc: Levantine Arabic 49,518 48,291 2% 1% 1%
ar: Arabic 50,224 7,606 84% 67% 2%
arc: Aramaic 49,519 46,830 5% 1% 1%
arn: Mapuche 49,531 47,614 3% 0% 1%
arq: Algerian Arabic 49,519 47,456 4% 3% 1%
ary: Moroccan Arabic 49,538 46,159 6% 20% 1%
arz: Egyptian Arabic 49,641 43,134 13% 51% 1%
as: Assamese 49,598 40,954 17% 23% 2%
ast: Asturian 49,732 24,988 49% 4% 3%
atj: Atikamekw 49,518 48,069 2% 6% 1%
av: Avaric 49,531 47,847 3% 9% 1%
avk: Kotava 49,518 47,003 5% 20% 1%
awa: Awadhi 49,607 43,704 11% 28% 1%
az: Azerbaijani 49,718 31,034 37% 7% 1%
azb: South Azerbaijani 49,530 43,473 12% 21% 2%
ba: Bashkir 49,557 35,303 28% 43% 1%
ban: Balinese 49,766 39,575 20% 20% 1%
bar: Bavarian 49,522 47,367 4% 1% 1%
bbc-latn: Batak Toba (Latin script) 49,519 47,943 3% 0% 1%
bcc: Southern Balochi 49,620 45,731 7% 0% 2%
bci: Baoulé 49,542 46,747 5% 0% 1%
bcl: Central Bikol 49,543 42,496 14% 6% 2%
bdr: West Coast Bajau 49,518 48,167 2% 0% 1%
be: Belarusian 49,560 33,457 32% 9% 1%
be-tarask: Belarusian (Taraškievica orthography) 49,626 30,000 39% 8% 1%
bew: Betawi 49,523 39,580 20% 0% 1%
bg: Bulgarian 49,691 31,154 37% 80% 1%
bgc: Haryanvi 49,518 48,351 2% 0% 1%
bgn: Western Balochi 49,538 45,824 7% 0% 1%
bho: Bhojpuri 49,523 46,468 6% 11% 1%
bjn: Banjar 49,533 43,954 11% 1% 1%
blk: Pa'O 49,535 43,207 12% 39% 1%
bn: Bangla 49,874 25,408 49% 12% 1%
bo: Tibetan 49,518 48,246 2% 7% 1%
bpy: Bishnupriya 49,519 47,799 3% 0% 1%
bqi: Bakhtiari 49,553 45,996 7% 0% 1%
br: Breton 49,644 30,851 37% 0% 1%
bs: Bosnian 49,659 36,113 27% 10% 3%
btm: Batak Mandailing 49,518 47,991 3% 65% 1%
bto: Iriga Bicolano 49,520 48,158 2% 0% 1%
bxr: Russia Buriat 49,518 44,589 9% 66% 1%
ca: Catalan 49,633 30,187 39% 10% 2%
ccp: Chakma 49,518 47,458 4% 2% 1%
cdo: Mindong 49,530 48,495 2% 15% 1%
ce: Chechen 49,647 25,875 47% 0% 2%
ceb: Cebuano 49,518 48,098 2% 0% 1%
chn: Chinook Jargon 49,518 48,216 2% 0% 1%
ckb: Central Kurdish 49,621 39,637 20% 6% 2%
co: Corsican 49,518 48,061 2% 2% 1%
cpx-hans: Puxian (Simplified Han script) 49,518 48,437 2% 0% 1%
cpx-hant: Puxian (Traditional Han script) 49,518 48,408 2% 0% 1%
crh-cyrl: Crimean Tatar (Cyrillic script) 49,529 47,872 3% 0% 1%
crh-latn: Crimean Tatar (Latin script) 49,528 46,324 6% 0% 1%
crh-ro: Dobrujan Tatar 49,518 47,861 3% 0% 1%
cs: Czech 49,756 27,037 45% 30% 2%
csb: Kashubian 49,520 47,393 4% 9% 1%
cu: Church Slavic 49,524 47,620 3% 2% 1%
cv: Chuvash 49,537 42,491 14% 73% 1%
cy: Welsh 49,561 36,197 26% 9% 2%
da: Danish 49,601 31,600 36% 28% 2%
dag: Dagbani 49,524 43,857 11% 23% 1%
de: German 49,958 2,906 94% 24% 1%
de-formal: German (formal address) 49,519 47,719 3% 5% 1%
dga: Dagaare 49,518 45,530 8% 50% 1%
din: Dinka 49,518 48,499 2% 0% 1%
diq: Zazaki 49,741 35,225 29% 27% 2%
dsb: Lower Sorbian 49,556 40,271 18% 0% 3%
dtp: Central Dusun 49,522 47,354 4% 47% 1%
dty: Doteli 49,526 47,099 4% 3% 1%
dua: Duala 49,517 48,331 2% 0% 1%
dv: Divehi 49,519 48,432 2% 52% 1%
ee: Ewe 49,518 48,191 2% 0% 1%
efi: Efik 49,518 48,304 2% 0% 1%
egl: Emilian 49,520 47,556 3% 0% 1%
el: Greek 49,670 26,045 47% 17% 3%
en: English 50,828 0 100% 0% 0%
en-gb: British English 49,511 48,318 2% 61% 1%
eo: Esperanto 49,745 31,367 36% 8% 2%
es: Spanish 49,879 9,793 80% 24% 2%
et: Estonian 49,653 30,614 38% 10% 1%
eu: Basque 49,636 35,591 28% 73% 2%
ext: Extremaduran 49,534 47,459 4% 0% 1%
fa: Persian 49,859 19,346 61% 15% 2%
fat: Fanti 49,518 47,715 3% 22% 1%
ff: Fula 49,519 48,303 2% 0% 1%
fi: Finnish 49,761 19,955 59% 14% 1%
fit: Tornedalen Finnish 49,534 46,540 6% 0% 1%
fo: Faroese 49,526 45,223 8% 5% 2%
fon: Fon 49,518 48,156 2% 0% 1%
fr: French 50,630 1,207 97% 55% 1%
frc: Cajun French 49,520 48,202 2% 8% 1%
frp: Arpitan 49,643 39,901 19% 0% 3%
frr: Northern Frisian 49,526 44,482 10% 0% 1%
fur: Friulian 49,522 46,889 5% 1% 1%
fy: Western Frisian 49,610 41,980 15% 8% 1%
ga: Irish 49,535 46,819 5% 1% 1%
gaa: Ga 49,518 47,738 3% 3% 1%
gan-hans: Gan (Simplified Han script) 49,526 47,852 3% 0% 1%
gan-hant: Gan (Traditional Han script) 49,526 47,441 4% 0% 1%
gcf: Guadeloupean Creole 49,518 47,572 3% 22% 1%
gcr: Guianan Creole 49,521 47,681 3% 0% 1%
gd: Scottish Gaelic 49,640 44,741 9% 0% 1%
gl: Galician 49,897 16,620 66% 11% 1%
gld: Nanai 49,518 48,243 2% 2% 1%
glk: Gilaki 49,519 48,250 2% 0% 1%
gn: Guarani 49,519 47,718 3% 0% 1%
gom-deva: Goan Konkani (Devanagari script) 49,522 47,432 4% 25% 1%
gom-latn: Goan Konkani (Latin script) 49,525 46,174 6% 4% 1%
gor: Gorontalo 49,520 47,104 4% 0% 1%
got: Gothic 49,519 48,156 2% 0% 1%
gpe: Ghanaian Pidgin 49,518 47,619 3% 0% 1%
grc: Ancient Greek 49,523 46,029 7% 23% 1%
gsw: Alemannic 49,547 40,752 17% 0% 3%
gu: Gujarati 49,539 41,827 15% 9% 2%
guc: Wayuu 49,518 48,006 3% 13% 1%
gur: Frafra 49,518 43,626 11% 26% 1%
guw: Gun 49,519 45,028 9% 10% 1%
gv: Manx 49,519 48,027 3% 0% 1%
ha: Hausa 49,529 46,512 6% 14% 1%
hak: Hakka Chinese 49,539 47,720 3% 0% 1%
haw: Hawaiian 49,522 47,854 3% 0% 1%
he: Hebrew 49,790 296 99% 10% 1%
hi: Hindi 49,716 31,610 36% 13% 3%
hif-latn: Fiji Hindi (Latin script) 49,520 45,377 8% 0% 1%
hil: Hiligaynon 49,519 47,409 4% 1% 1%
hke: Hunde 49,518 48,298 2% 0% 1%
hr: Croatian 49,703 32,855 33% 18% 2%
hrx: Hunsrik 49,518 45,363 8% 1% 1%
hsb: Upper Sorbian 49,595 35,979 27% 4% 3%
hsn: Xiang 49,520 48,190 2% 0% 1%
ht: Haitian Creole 49,519 46,106 6% 0% 1%
hu: Hungarian 49,621 25,250 49% 17% 2%
hy: Armenian 49,585 41,075 17% 15% 1%
hyw: Western Armenian 49,542 46,345 6% 0% 1%
ia: Interlingua 49,808 372 99% 3% 1%
iba: Iban 49,517 46,692 5% 0% 1%
ibb: Ibibio 49,518 48,300 2% 0% 1%
id: Indonesian 49,790 24,239 51% 8% 2%
ie: Interlingue 49,523 46,532 6% 7% 1%
ig: Igbo 49,524 45,526 8% 1% 1%
igl: Igala 49,518 47,916 3% 0% 1%
ilo: Iloko 49,543 40,566 18% 0% 3%
inh: Ingush 49,529 43,549 12% 28% 1%
io: Ido 49,554 39,787 19% 0% 1%
is: Icelandic 49,870 37,930 23% 2% 1%
isv-cyrl: Interslavic (Cyrillic script) 49,518 44,558 10% 2% 1%
isv-latn: Interslavic (Latin script) 49,519 41,049 17% 0% 1%
it: Italian 49,729 17,194 65% 9% 1%
ja: Japanese 50,026 14,568 70% 15% 1%
jam: Jamaican Creole English 49,518 48,132 2% 0% 1%
jut: Jutish 49,519 47,990 3% 0% 1%
jv: Javanese 49,584 39,059 21% 2% 2%
ka: Georgian 49,696 35,955 27% 19% 3%
kaa: Kara-Kalpak 49,560 43,905 11% 6% 1%
kab: Kabyle 49,528 44,571 10% 1% 1%
kai: Karekare 49,518 48,229 2% 0% 1%
kaj: Jju 49,517 48,365 2% 0% 1%
kbd-cyrl: Kabardian (Cyrillic script) 49,518 48,034 2% 0% 1%
kcg: Tyap 49,531 44,859 9% 0% 1%
kea: Kabuverdianu 49,518 48,175 2% 10% 1%
kge: Komering 49,518 45,797 7% 0% 1%
khw: Khowar 49,528 47,503 4% 0% 1%
kiu: Kirmanjki 49,529 47,881 3% 0% 1%
kjh: Khakas 49,523 44,726 9% 3% 1%
kjp: Eastern Pwo 49,527 47,241 4% 11% 1%
kk-arab: Kazakh (Arabic script) 49,582 47,755 3% 0% 2%
kk-cyrl: Kazakh (Cyrillic script) 49,641 39,605 20% 14% 3%
kk-latn: Kazakh (Latin script) 49,579 47,756 3% 0% 2%
km: Khmer 49,544 41,224 16% 1% 2%
kn: Kannada 49,527 43,892 11% 23% 1%
knc: Central Kanuri 49,512 48,288 2% 0% 1%
ko: Korean 49,818 15,190 69% 12% 2%
ko-kp: Korean (North Korea) 49,524 46,688 5% 3% 1%
koi: Komi-Permyak 49,518 44,436 10% 1% 1%
krc: Karachay-Balkar 49,770 36,165 27% 6% 1%
kri: Krio 49,518 48,068 2% 12% 1%
krl: Karelian 49,516 48,095 2% 87% 1%
ks-arab: Kashmiri (Arabic script) 49,560 45,985 7% 53% 1%
ksh: Colognian 49,846 33,663 32% 0% 5%
ksw: S'gaw Karen 49,522 48,154 2% 81% 1%
ku-latn: Kurdish (Latin script) 49,579 42,623 14% 22% 1%
kum: Kumyk 49,518 48,059 2% 28% 1%
kus: Kusaal 49,518 45,468 8% 0% 1%
kv: Komi 49,518 44,727 9% 0% 1%
kw: Cornish 49,523 47,218 4% 0% 1%
ky: Kyrgyz 49,573 43,358 12% 11% 1%
la: Latin 49,547 46,719 5% 2% 1%
lad: Ladino 49,538 47,650 3% 0% 1%
lb: Luxembourgish 49,673 23,790 52% 7% 2%
lbe: Lak 49,520 48,378 2% 3% 1%
lez: Lezghian 49,520 47,784 3% 9% 1%
lfn: Lingua Franca Nova 49,536 43,677 11% 15% 1%
lg: Ganda 49,522 48,378 2% 0% 1%
li: Limburgish 49,543 41,162 16% 2% 3%
lij: Ligurian 49,563 36,507 26% 5% 1%
lki: Laki 49,553 42,910 13% 0% 2%
lld: Ladin 49,518 47,397 4% 23% 1%
lmo: Lombard 49,540 38,621 22% 2% 1%
lo: Lao 49,523 47,890 3% 15% 1%
lrc: Northern Luri 49,577 44,461 10% 0% 2%
lt: Lithuanian 49,694 19,718 60% 10% 2%
lua: Luba-Lulua 49,518 48,153 2% 0% 1%
lus: Mizo 49,526 46,726 5% 0% 1%
luz: Southern Luri 49,520 47,825 3% 39% 1%
lv: Latvian 49,558 37,775 23% 10% 2%
lzh: Literary Chinese 49,563 46,462 6% 16% 1%
lzz: Laz 49,517 48,437 2% 0% 1%
mad: Madurese 49,522 47,972 3% 11% 1%
mag: Magahi 49,521 43,852 11% 0% 1%
mai: Maithili 49,550 43,803 11% 4% 1%
map-bms: Banyumasan 49,527 47,140 4% 4% 1%
mdf: Moksha 49,521 44,211 10% 5% 1%
mg: Malagasy 49,523 44,436 10% 0% 1%
mhr: Eastern Mari 49,522 43,461 12% 71% 1%
min: Minangkabau 49,567 44,539 10% 20% 1%
mk: Macedonian 50,179 6,532 86% 8% 1%
ml: Malayalam 49,726 36,129 27% 7% 3%
mn: Mongolian 49,532 46,045 7% 0% 1%
mnc: Manchu 49,519 47,770 3% 6% 1%
mnc-mong: Manchu (Mongolian script) 49,519 48,385 2% 0% 1%
mni: Manipuri 49,535 46,712 5% 11% 1%
mnw: Mon 49,528 45,916 7% 0% 1%
mos: Mossi 49,518 42,868 13% 0% 1%
mr: Marathi 49,634 38,436 22% 41% 3%
mrh: Mara 49,520 46,882 5% 70% 1%
mrj: Western Mari 49,519 44,619 9% 96% 1%
ms: Malay 49,655 31,636 36% 5% 3%
ms-arab: Malay (Jawi script) 49,530 47,220 4% 0% 1%
mt: Maltese 49,571 41,855 15% 6% 3%
mui: Musi 49,517 47,647 3% 0% 0%
mwl: Mirandese 49,536 46,742 5% 0% 1%
my: Burmese 49,566 38,233 22% 30% 1%
myv: Erzya 49,527 43,640 11% 29% 1%
mzn: Mazanderani 49,532 47,245 4% 0% 1%
nah: Nahuatl 49,523 47,281 4% 0% 1%
nan-hant: Minnan (Traditional Han script) 49,521 48,368 2% 0% 1%
nan-latn-pehoeji: Minnan (Pe̍h-ōe-jī) 49,536 47,728 3% 0% 1%
nan-latn-tailo: Minnan (Tâi-lô) 49,520 48,247 2% 0% 1%
nap: Neapolitan 49,549 39,991 19% 2% 2%
nb: Norwegian Bokmål 49,940 6,401 87% 12% 1%
nds: Low German 49,534 45,365 8% 0% 2%
nds-nl: Low Saxon 49,544 43,731 11% 0% 1%
ne: Nepali 49,740 38,337 22% 3% 2%
nia: Nias 49,524 47,599 3% 7% 1%
nit: Southeastern Kolami 49,522 48,356 2% 22% 1%
nl: Dutch 49,761 1,354 97% 19% 0%
nl-informal: Dutch (informal address) 49,523 48,406 2% 12% 1%
nmz: Nawdm 49,523 48,341 2% 7% 1%
nn: Norwegian Nynorsk 49,589 37,379 24% 1% 3%
nod: Northern Thai 49,525 48,127 2% 3% 1%
nog: Nogai 49,522 48,319 2% 4% 1%
nqo: N’Ko 49,539 40,800 17% 2% 1%
nso: Northern Sotho 49,523 48,231 2% 0% 1%
nup: Nupe 49,522 47,922 3% 0% 1%
nyn: Nyankole 49,522 48,233 2% 0% 1%
nyo: Nyoro 49,522 48,100 2% 0% 1%
nys: Nyungar 49,522 48,351 2% 24% 1%
nzi: Nzima 49,523 48,468 2% 0% 1%
oc: Occitan 49,577 36,426 26% 13% 2%
ojb: Northwestern Ojibwa 49,523 48,079 2% 0% 1%
olo: Livvi-Karelian 49,526 43,822 11% 31% 1%
om: Oromo 49,522 47,660 3% 91% 1%
or: Odia 49,560 42,134 14% 38% 3%
os: Ossetic 49,533 47,013 5% 1% 1%
pa: Punjabi 49,560 41,153 16% 22% 1%
pam: Pampanga 49,532 47,589 3% 0% 1%
pap: Papiamento 49,522 48,005 3% 66% 1%
pcd: Picard 49,524 48,125 2% 0% 1%
pcm: Nigerian Pidgin 49,522 48,253 2% 0% 1%
pdc: Pennsylvania German 49,524 48,042 2% 0% 1%
pfl: Palatine German 49,522 46,980 5% 1% 1%
piu: Pintupi-Luritja 49,524 48,491 2% 0% 1%
pl: Polish 49,829 15,789 68% 13% 2%
pms: Piedmontese 49,583 36,785 25% 0% 4%
pnb: Western Punjabi 49,600 42,521 14% 1% 2%
pnt: Pontic 49,518 48,362 2% 0% 1%
prg: Prussian 49,522 47,063 4% 0% 1%
ps: Pashto 49,656 41,329 16% 3% 2%
pt: Portuguese 49,831 5,423 89% 14% 2%
pt-br: Brazilian Portuguese 50,129 8,991 82% 30% 3%
pwn: Paiwan 49,525 48,090 2% 0% 1%
qqq: Message documentation 50,825 727 98% 3% 0%
qu: Quechua 49,541 44,572 10% 0% 2%
rif: Riffian 49,523 48,497 2% 43% 1%
rki: Arakanese 49,522 47,652 3% 93% 1%
rm: Romansh 49,527 46,485 6% 0% 2%
rmc: Carpathian Romani 49,522 48,068 2% 8% 1%
rn: Rundi 49,522 48,016 3% 0% 1%
ro: Romanian 49,644 32,367 34% 6% 2%
roa-tara: Tarantino 49,850 24,718 50% 26% 2%
rsk: Pannonian Rusyn 49,524 45,174 8% 0% 0%
ru: Russian 50,001 11,974 76% 27% 1%
rue: Rusyn 49,535 43,020 13% 1% 3%
rut: Rutul 49,522 48,269 2% 0% 1%
rw: Kinyarwanda 49,521 47,975 3% 0% 1%
ryu: Okinawan 49,522 48,343 2% 3% 1%
sa: Sanskrit 49,533 43,753 11% 4% 2%
sah: Yakut 49,542 40,608 18% 48% 2%
sat: Santali 49,525 47,159 4% 73% 1%
sc: Sardinian 49,548 46,792 5% 4% 1%
scn: Sicilian 49,579 37,271 24% 2% 2%
sco: Scots 49,524 42,590 14% 6% 2%
sd: Sindhi 49,664 38,330 22% 17% 1%
sdc: Sassarese Sardinian 49,531 46,251 6% 13% 1%
sdh: Southern Kurdish 49,542 46,715 5% 2% 1%
se: Northern Sami 49,556 39,174 20% 18% 1%
ses: Koyraboro Senni 49,668 46,169 7% 0% 1%
sgs: Samogitian 49,524 47,035 5% 0% 1%
sh-latn: Serbo-Croatian (Latin script) 49,588 32,557 34% 0% 2%
shi: Tachelhit 49,527 47,567 3% 64% 1%
shn: Shan 49,526 45,045 9% 24% 1%
shy-latn: Shawiya (Latin script) 49,522 47,576 3% 0% 1%
si: Sinhala 49,652 40,817 17% 3% 3%
sjd: Kildin Sami 49,538 47,457 4% 0% 1%
sje: Pite Sami 49,524 46,998 5% 1% 1%
sk: Slovak 49,593 36,300 26% 8% 3%
skr-arab: Saraiki (Arabic script) 49,560 40,602 18% 0% 1%
sl: Slovenian 50,299 6,357 87% 4% 2%
sli: Lower Silesian 49,522 47,146 4% 0% 1%
smn: Inari Sami 49,535 43,357 12% 9% 1%
sms: Skolt Sami 49,577 42,550 14% 0% 1%
sn: Shona 49,522 47,174 4% 3% 1%
so: Somali 49,523 47,529 4% 0% 1%
sq: Albanian 49,545 40,637 17% 9% 2%
sr-ec: Serbian (Cyrillic script) 49,880 23,713 52% 21% 1%
sr-el: Serbian (Latin script) 49,908 28,119 43% 1% 2%
sro: Campidanese Sardinian 49,522 48,154 2% 0% 1%
stq: Saterland Frisian 49,533 45,872 7% 0% 2%
sty: Siberian Tatar 49,522 48,139 2% 83% 1%
su: Sundanese 49,532 43,855 11% 12% 1%
sv: Swedish 49,800 12,866 74% 30% 3%
sw: Swahili 49,538 43,945 11% 9% 2%
syl: Sylheti 49,525 46,947 5% 41% 1%
szl: Silesian 49,524 46,456 6% 13% 1%
szy: Sakizaya 49,544 42,520 14% 0% 2%
ta: Tamil 49,549 40,015 19% 5% 2%
tay: Tayal 49,524 45,956 7% 96% 1%
tcy: Tulu 49,527 44,864 9% 33% 1%
tdd: Tai Nuea 49,523 46,965 5% 0% 1%
te: Telugu 49,733 33,900 31% 12% 3%
tet: Tetum 49,524 48,367 2% 0% 1%
tg-cyrl: Tajik (Cyrillic script) 49,574 44,101 11% 5% 2%
tg-latn: Tajik (Latin script) 49,533 46,940 5% 0% 1%
th: Thai 49,680 31,597 36% 16% 2%
ti: Tigrinya 49,560 45,917 7% 0% 1%
tig: Tigre 49,518 47,389 4% 1% 1%
tk: Turkmen 49,526 42,030 15% 0% 3%
tl: Tagalog 49,841 38,110 23% 4% 4%
tly: Talysh 49,533 44,541 10% 0% 1%
tn: Tswana 49,522 48,527 2% 17% 1%
to: Tongan 49,524 48,511 2% 0% 1%
tok: Toki Pona 49,530 48,086 2% 0% 1%
tr: Turkish 49,882 6,681 86% 67% 2%
trv: Taroko 49,524 47,788 3% 62% 1%
tt-cyrl: Tatar (Cyrillic script) 49,613 40,944 17% 18% 1%
tt-latn: Tatar (Latin script) 49,538 47,730 3% 0% 1%
ttj: Tooro 49,522 48,056 2% 0% 1%
tum: Tumbuka 49,522 47,747 3% 0% 1%
tw: Twi 49,529 46,825 5% 3% 1%
tyv: Tuvinian 49,531 44,271 10% 30% 1%
tzm: Central Atlas Tamazight 49,542 48,423 2% 7% 1%
udm: Udmurt 49,526 44,084 10% 11% 1%
ug-arab: Uyghur (Arabic script) 49,586 44,256 10% 1% 2%
uk: Ukrainian 50,408 7,625 84% 55% 2%
ur: Urdu 49,635 37,577 24% 3% 2%
uz: Uzbek 49,575 43,167 12% 2% 1%
vec: Venetian 49,629 41,489 16% 0% 3%
vep: Veps 49,562 43,152 12% 4% 1%
vi: Vietnamese 49,937 24,931 50% 13% 2%
vmw: Makhuwa 49,522 48,268 2% 2% 1%
vo: Volapük 49,526 44,432 10% 1% 1%
vro: Võro 49,532 47,041 5% 11% 1%
wa: Walloon 49,533 46,242 6% 14% 1%
wal: Wolaytta 49,522 46,838 5% 7% 1%
war: Waray 49,530 46,117 6% 0% 1%
wls: Wallisian 49,527 47,633 3% 0% 1%
wlx: Wali 49,518 48,521 2% 0% 1%
wo: Wolof 49,535 47,607 3% 0% 1%
wuu-hans: Wu (Simplified Han script) 49,534 46,845 5% 0% 1%
wuu-hant: Wu (Traditional Han script) 49,527 47,202 4% 13% 1%
xal: Kalmyk 49,522 43,387 12% 2% 1%
xmf: Mingrelian 49,704 39,986 19% 3% 1%
xsy: Saisiyat 49,523 48,104 2% 0% 1%
yi: Yiddish 49,618 40,007 19% 3% 2%
yo: Yoruba 49,524 44,613 9% 6% 1%
yrl: Nheengatu 49,535 47,145 4% 8% 1%
yue-hant: Cantonese (Traditional Han script) 49,602 41,400 16% 0% 2%
zea: Zeelandic 49,522 48,464 2% 0% 1%
zgh: Standard Moroccan Tamazight 49,527 46,644 5% 20% 1%
zh-hans: Simplified Chinese 50,112 5,159 89% 25% 1%
zh-hant: Traditional Chinese 49,916 1,610 96% 7% 1%
All 407 languages together 20,182,568 16,983,472 15% 15% 1%

Map of translators

Loading map...

Add yourself to map See also: Category:MediaWiki translators — all users that registered their participation in their user page (including those not indicating their location).

Other statistics and information

See also Category:MediaWiki statistics.

Historical statistics

  • Group statistics in time – gives an overview of the number of languages that pass translation milestones in time (discontinued October 2010).
  • Current version installed on translatewiki.net: 1.44.0-alpha