Jump to content

Special language codes

From Meta, a Wikimedia project coordination wiki

The language of a Wikimedia wiki can be found in the lang="..." and xml:lang="..." attributes of the <html> element of each page (or other elements for specific subcontents in multilingual pages); they are also used for styling in CSS language selectors. These language codes should generally be canonical language tags as defined by BCP 47.

In most cases, the subdomain names that we use for projects correspond to language codes, but there are some remaining exceptions. This usually occurs for historical reasons, where a valid ISO 639 code (or registered and non-deprecated BCP 47 variant code) was still not available at the time of creation of the project, but also because some former ISO 639 codes where deprecated or removed as they encompassed an group of languages that are now considered distinct.

Deprecated or removed ISO 639 codes are still considered valid in BCP 47 (where existing codes are not removed) most often as possible fallbacks for missing translations or to allow upward compatibility, even if they are no longer recommended for modern use and newly created contents (using these codes can potentially create unsolvable disputes in Wikimedia unless they are distinguished with distinct translations using newer codes). In some cases, some early distinctions in ISO 639 have also been removed because they were introduced artificially for a temporary time (sometimes for non-neutral political reasons) but not well supported by users, and when they unnecessarily complicated the task of translators, or when they too frequently required the use of language fallbacks or automatic transliterators (when a reliable standard and orthographic conventions was adopted between most users of different script variants), or because of development of education for better mutual understanding and acceptation of multiple variants in vernacular use.

Subdomains that do not match their lang attribute

[edit]
Subdomain Language Project(s) Notes
als Local name: Alemannisch
English name: Germanic
Wikipedia, Wiktionary, Wikibooks, Wikiquote Uses gsw which matches the language's ISO 639-3 code.
bh Local name: भोजपुरी
English name: Indo-Aryan
Wikipedia
Tracked in Task T41968 stalled

Ambiguous legacy code. Uses bho which matches the language's ISO 639-3 code for one language of the family.

roa-rup Local name: armãneashti
English name: Italic
Wikipedia, Wiktionary Uses rup which matches the language's ISO 639-3 code.
simple Local name: Simple English
English name: Germanic
Wikipedia, Wiktionary Uses en of ordinary English.
zh-classical Local name: 文言
English name: Sinitic
Wikipedia Classical Chinese has ISO 639-3 code lzh.
zh-min-nan Local name: 閩南語 / Bân-lâm-gú
English name: Sinitic
Wikipedia, Wiktionary, Wikibooks, Wikiquote, Wikisource Min Nan has ISO 639-3 code nan.
zh-yue Local name: 粵語
English name: Sinitic
Wikipedia Cantonese has ISO 639-3 code yue.

Miscellaneous:

  • All subdomains of wikimedia.org

Subdomains that do not conform to a valid ISO 639 language code

[edit]
Subdomain Language Project(s) Notes
als Local name: Alemannisch
English name: Germanic
Wikipedia, Wiktionary, Wikibooks, Wikiquote
Tracked in Task T6793 stalled

Alemannic has ISO 639-3 code Tosk Albanian instead.

bat-smg Local name: žemaitėška
English name: Baltic
Wikipedia
Tracked in Task T27522 stalled

Samogitian has the ISO 639 code sgs.

cbk-zam Local name: Chavacano de Zamboanga
English name: Pidgin and Creole
Wikipedia
Tracked in Task T124657 stalled

Chavacano de Zamboanga has no ISO 639 code as an individual language. ISO 639-3 code Chavacano, a superset of Chavacano de Zamboanga.

eml Local name: emiliàn e rumagnòl
English name: Italic
Wikipedia
Tracked in Task T36217 stalled

ISO 639-3 code rgn (Romagnol).

fiu-vro Local name: võro
English name: Finno-Permic
Wikipedia
Tracked in Task T31186 stalled

Võro has ISO 639-3 code vro.

iu Local name: ᐃᓄᒃᑎᑐᑦ / inuktitut
English name: Eskimo-Aleut
Wikipedia ISO 639 considers phabricator), but: falls back to ike, called ike-cans; adds ike-latn; has no ikt support. CLDR considers Cans an aspirational script.
ksh Local name: Ripoarisch
English name: Germanic
Wikipedia ISO 639-3 code Kölsch, a subset of Ripuarian.
map-bms Local name: Basa Banyumasan
English name: Sunda-Sulawesi
Wikipedia Banyumasan has no ISO 639 code as an individual language. ISO 639-1 code Javanese, a superset of Banyumasan.
nds-nl Local name: Nedersaksies
English name: Germanic
Wikipedia Duplicated with nds.
nrm Local name: Nouormand
English name: Italic
Wikipedia
Tracked in Task T25216 stalled

Norman has no ISO 639 code as an individual language (However, two dialects of Norman, Guernésiais and Jèrriais, are sharing ISO 639-3 code Narom language instead. ISO 639-3 lumps Norman with French, as with most varieties of northern France.

roa-rup Local name: armãneashti
English name: Italic
Wikipedia, Wiktionary
Tracked in Task T17988 stalled

Aromanian has ISO 639-3 code rup.

roa-tara Local name: tarandíne
English name: Italic
Wikipedia Tarantino has no ISO 639 code as an individual language. ISO 639-3 lumps it with Italian, as with most varieties of northern Italy.
sh Local name: srpskohrvatski / српскохрватски
English name: Slavic
Wikipedia, Wiktionary
Tracked in Task T127680 stalled

sh was originally ISO 639-1 code for Serbo-Croatian but is no longer active. However, it remains a valid BCP 47 language tag. There is the ISO 639-3 code CLDR aliases, sh maps to sr-Latn.

simple Local name: Simple English
English name: Germanic
Wikipedia, Wiktionary
Tracked in Task T110190 stalled

Simple English has no ISO 639 code but has a registered IETF variant subtag simple
However, even if the simple code is valid as a standard subtag for BCP 47, because it is only registered as a generic subtag for language variants for various base languages like en-simple or fr-simple (using the now standard variant subtag is preferable to using multiple subtags including an unregistered private extension, like "en-x-simple"). As a plain tag, "simple" means nothing in BCP 47 or ISO 639 (as it is not a plain language).
Note that under ISO 639 rules, Simple English is a variant or dialect or special orthography of English (so it can be registered as a variant subtag of English, like "formal" or informal" used in German or Dutch), defined as a subset for some limited usage. The IANA database for IETF's BCP 47 already indicates this and BCP 47-aware applications should have no problem to identify the language as being part of normal English, as long as it is properly tagged as "en-simple" and not just "simple".

zh-classical Local name: 文言
English name: Sinitic
Wikipedia
Tracked in Task T10217 stalled
Tracked in Task T30443 stalled

Classical Chinese has ISO 639-3 code lzh.

zh-min-nan Local name: 閩南語 / Bân-lâm-gú
English name: Sinitic
Wikipedia, Wiktionary, Wikibooks, Wikiquote, Wikisource
Tracked in Task T10217 stalled
Tracked in Task T30442 stalled

Min Nan has ISO 639-3 code nan.

zh-yue Local name: 粵語
English name: Sinitic
Wikipedia
Tracked in Task T10217 stalled
Tracked in Task T30441 stalled

Cantonese has ISO 639-3 code yue.

Miscellaneous:

  • tokipona – defunct Wikipedia subdomain
  • ru-sib – defunct Wikipedia subdomain, hoax in fictional “Siberian” language
  • be-x-old – fixed and redirected to be-tarask Wikipedia subdomain (see phab:T11823)

Other distinctions

[edit]
Subdomain Language Project(s) Notes
ms Local name: Bahasa Melayu
English name: Sunda-Sulawesi
Wikipedia, Wikibooks, Wiktionary Malay language used to be "ms", just like Indonesian language is "id", but since the Malay Wikipedia inception, the code "ms" has become the code for macro language (not individual language).

There are many individual languages under "ms"/"msa", including Indonesian ("id"/"zsm"-Standard Malay / Malaysian Malay / Malaysian language)

It should be noted that the Malay Wikipedia, Wikibooks, and Wiktionary all predate the change in the language code in 18 February 2008, with the latest one, Malay Wikibooks, created on 24 August 2004.

See also:

ak Local name: ak
English name: Niger-Congo
Closed: Wikipedia, Wikibooks, Wiktionary Akan (ak/aka in ISO 639-3) is a macrolanguage consisting of two separate languages Twi (tw) and Fante (fat). The Akan Wikipedia was closed in April 2023 as redundant to the Twi and Fante Wikipedias. Akan Wikibooks and Wiktionary also existed but were closed in 2007/2008 due to never having any content.
de-formal Local name: Deutsch
English name: Germanic
Not used as host names but included as pseudo-variant subtags (unregistered) for some translations in translatewiki.net (used in Meta-Wiki for pages like policies when referring directly to wiki users according to their preferences): we should have used a private-use extension
nl-informal Local name: Nederlands
English name: Germanic

Technical language code

[edit]

The special language code system messages used on a page.

See also

[edit]

Follow Lee on X/Twitter - Father, Husband, Serial builder creating AI, crypto, games & web tools. We are friends :) AI Will Come To Life!

Check out: eBank.nz (Art Generator) | Netwrck.com (AI Tools) | Text-Generator.io (AI API) | BitBank.nz (Crypto AI) | ReadingTime (Kids Reading) | RewordGame | BigMultiplayerChess | WebFiddle | How.nz | Helix AI Assistant