Translatewiki.net languages

From translatewiki.net

Supported languages

translatewiki.net is a community of software developers and human translators. Languages which are supported here have been enabled for localisation, and have at least one translator registered on the language portal. The list of supported languages also lists the translators who have volunteered to translate that language on its portal. You can also view a map of supported languages by language family. Languages which do not currently have listed translators can be seen in the category Languages without translators.

Language variants

Language variants may be enabled where:

  • a language is commonly written in more than one script, for example Crimean Tatar
  • dialects have significant variations, for example Spanish
  • there are formal and informal modes of address, for example Hungarian

Policy on enabling translation into a language

Our current policy for accepting a new language for localisation at translatewiki.net is:

  • that the language is included in the latest standard issued by the International Organisation for Standardisation (ISO 639-3).
  • that the language can be written using Unicode.
  • that there should be at least one person with native or comparable proficiency willing to translate into the language.
  • that it should be a living language and a general purpose language.

Legacy languages and codes

There are a number of languages which were enabled on translatewiki.net (and on Wikipedia) before a policy on accepting new languages was adopted. A few of these languages would not be accepted under the current policy, but remain enabled and can continue to be localised. Very rarely, a language is disabled, for example Klingon; in this case, the special pages no longer work for that language, which is considered invalid.

However, even a supported language is not necessarily fully functional: translations need to be exported and enabled by the destination projects; for instance, a language is exported to MediaWiki only if a good part of the core interface has been translated; moreover, some languages are no longer exported waiting for issues to be fixed or because they're no longer considered useful, for instance Tosk Albanian (als), as its code used by Allemanic Wikipedia, which conflicts with gsw, the actual code of that.

translatewiki.net was started to support the localisation of MediaWiki. It continues to be the case that most languages enabled at translatewiki.net also have projects at Wikimedia.

If a language listed as a 3 letter code in the ISO 639-3 standard also has a 2 letter code in the ISO 639-1 list, then the preferred code used here is the 2 letter code. Occasionally, changes to the ISO 639-3 code list will mean that a code needs to be changed here, the old code is then disabled. A few anomalous codes have also arisen as the result of past changes to translatewiki.net and ISO codes.

Enabling a new language for localisation at translatewiki.net

If you would like to start a new localization project for a language with code zxx, please request this on Support. You will need to supply the following information:

  • A language code from ISO 639-3 or the Ethnologue website (for example, [de] for German)
    Note: the Ethnologue site now allows a limited free navigation, otherwise it asks for a subscription to get the detailed information.
    Another good site of reference is also Glottolog.org which is also linked by ISO 639, and also allows searching languages and get information about their dialects, their classification, their estimated numbers of speakers, location by country, and also lists many synonyms or approximate names known in various languages. Note that Glottolog covers more languages than ISO 639, and so it has to use its own local codes instead of ISO 639 codes for some of them: these languages are still not part of ISO 639 because of lack of according academic research to justify their standardization in ISO 639, but there are relevant sources of information, possibly dated or containing historic errors or contradicting points of views between authors; the Glottolog site is based on researches and reports made on the well-known Linguists List, and it is regularly updated; it also contains bookkeeping records of old language codes which were deprecated by more recent searches or by newer and less ambiguous encodings in ISO 639).
  • The language name in English and in its own language (for example “German – Deutsch” [de])
  • Is the language RTL or LTR (written from right to left or left to right)?
  • If the language is commonly written in more than one script, please say in which script the language should be enabled. Other variants can be enabled as and when translators for those variants volunteer.
  • (For MediaWiki) Should the language fall back to another language other than English? If so which?

You can enter this information by creating a language portal:

  • Starting the page Portal:zxx for the language with code [zxx];
  • Then enter the template {{Portal}} with any parameters needed for your language; see these examples: fi and gan.

If you also wish to translate the language yourself:

  • Create an account in translatewiki.net.
  • Request rights to translate at Support.
  • Set the helper languages in which you wish to see translations of a particular message when editing on your user preferences.
  • Enter your name in the translators section of the language portal.

If you do not intend to translate yourself, please explain how it is to be supported, or how it is planned to recruit translators. Usually, a language is not enabled for translation until at least one person has entered their name in the translators section at the bottom of the language portal.

Developers

The following files must be changed to make a language available for translation in translatewiki.net:

  1. In the jquery.uls repository in GitHub, the file “data/langdb.yaml” must include the language. You need to know the script in which the language is written, the autonym, and the continents on which it is spoken.
  2. After changing this file, run “ulsdata2json.php” to regenerate the database files before submitting the pull request. Example for Nyungar.
  3. Once the pull request in GitHub is merged, update the UniversalLanguageSelector MediaWiki extension by running “scripts/update-jquery-uls.sh” and submitting a patch to Gerrit. Example including Nyungar.
  4. In the translatewiki.net Gerrit repository, update the file “LanguageSettings.php”. Example for Nyungar.

Once all of the above patches are merged, the server configuration and the UniversalLanguageSelector extension must be updated on the production translatewiki.net server by a staff member with shell access.

Localising for languages not enabled at translatewiki.net

If you wish to localise a language which is not eligible for inclusion on translatewiki.net, then you could choose to set up a new wiki, set up to use your preferred language code as its main language.

Export thresholds

Each project sets its own export threshold, which is the minimum level of completion of a localisation before is exported to the project. Notes on export thresholds are on the individual project pages.

Language names

Language autonyms (the name of a language in its own language) and localised language names are not usually set here at translatewiki.net. Instead they are usually drawn from the language name database at the Common Locale Data Repository (CLDR). The data is imported via the MediaWiki extension CLDR, which is updated whenever the CLDR issues a new release. Translatewiki.net and Wikimedia sites, amongst others, use the CLDR extension.

If a language name has not been translated into your language yet on CLDR, then the CLDR data file will contain the language name in the fallback language used in CLDR for your language; see this discussion on Sorbian.

If CLDR does not yet have a locale for your language, then you could request one at CLDR, so that other websites and programs can offer an interface in your language. However, if you cannot get a locale added to CLDR, or CLDR does not support the language name you wish to translate, you can request language name support for translatewiki.net and MediaWiki at Support on translatewiki.net.

Also, if there is a mistake in the language autonym, please report this on Support, so that the correct name can be entered in the MediaWiki CLDR extension database, overriding the names supplied by CLDR. If there are any omissions or mistakes in translated language names, including English names, then please submit the correct information to CLDR.

Other projects localised at translatewiki.net do not necessarily use the database from the CLDR extension and you may need to contact a project directly to localise language names there.

Fallback language (MediaWiki)

See also “What is a fallback language?” in the FAQ.

translatewiki.net always displays the English source message when editing a particular message. You can choose to see the message in other languages when editing, by listing your helper languages in your user preferences.

A fallback language is used in the MediaWiki interface on other wikis. When a translation in the main (site) language of a wiki is not present in Special:Translations then the message appears in the fallback language.

The fallback language might also have a fallback language, creating a chain of fallbacks. All languages eventually fallback to the default fallback, which is English. If a message has not been translated into the site language or the first fallback language, then it is shown in the next fallback language and so on to English.

MediaWiki messages not existing in English are extremely rare. Usually, they point to undetected programming errors, most often typing errors in a message name. Non-existing messages are shown with the message name between curved angle brackets, such as ⧼message_name⧽.

The fallback language is requested and committed to MediaWiki here at translatewiki.net, usually as part of the initial enabling of a language, but can be requested later if necessary. If you would like to change the fallback language definitions, please make a request in Wikimedia Phabricator. MediaWiki fallback languages are listed in this table.

Fallback languages are useful when there is another language which is a more familiar second language than English to speakers of the target language. This is particularly useful where the fallback and target languages share the same non-Latin script or direction.

Where alternative fallback languages may be proposed (for example where a lesser-used language is present in more than one country) then staff at translatewiki.net use their judgement to appoint the fallback which is likely to best serve the largest number of potential wiki readers. A fallback language having the same script as the target language is chosen where available.

Graph of languages fallback as of April 2021 (this has changed a bit, with fallbacks defined from newly added languages, or changed for some of them).

As of 2011, all fallback languages are listed explicitly in the code, rather than implicitly defined by the fallback of the fallback language. So it's technically possible to have a fallback chain A → B → C, even if B doesn't fallback to C.

A proposal for logged-in users to set a fallback language of choice in their preferences is outstanding at Wikimedia Phabricator.

Localising translatewiki.net

translatewiki.net can have at present only one language for the source messages, which is English. Software written in other languages would need to either be translated into English in order to be localised here, or localised at a different site using the translatewiki.net software, but where the site language is the same as the original software language.

Some of the content of project and help pages can also be translated using the Translate extension.