I18n Guy, your I18n advisor

Using Language Identifiers (RFC 3066)

Language identifiers as specified by RFC 3066, can have the form language, language-country, language-country-variant and some other specialized forms. The guidelines for choosing between language and language-country are ambiguous.

To clarify which form should be used, John Cowan and I have posted this list for review. This is currently a draft document. It will be continually revised as we get feedback from linguists and internationalization experts. (Although, I have a day job, so allow some time for me turn it around.) The topic is being discussed on the W3C www-international mail list and the IETF ietf-lang mail list. (The feedback thread starts www-international 2004OctDec-0131 and ietf-lang 2004-12-002431.)

This page is intended to list combinations of language code and country code that have been found useful in distinguishing language variants from each other. Please write the authors if you think either that there is no variation between two code pairs listed, or that there are additional code pairs that are useful in distinguishing written variants.

Send comments to Tex Texin and John Cowan. To improve turn-around of edits, please make sure the mail uses the subject: "Language Identifier List Comments". This will help us easily identify the mails and process them. Please use a different subject heading for other discussions.

There are a number of suggestions for deciding whether to use a one-level (language only) or two-level (language-region) tag. They require some discussion and will be added here shortly.

Language codes used as primary subtags are from ISO 639. Country codes used as secondary subtags (or tertiary if script tags are secondary) are from ISO 3166. Note also that several unique language tags are also defined in the IANA Language Tag Registry. Script codes, generally 4 letters in length, such as "Hans" for Simplified Chinese, "Hant" for Traditonal Chinese, "Cyrl" for Cyrillic, etc. are defined by ISO 15924 Codes For The Representation Of Names Of Scripts.

DRAFT

Proposed List of 1-level Language Identifiers

Some languages have no significant variations, and therefore can be adequately represented by a language subtag alone, as opposed to a language subtag and country subtag. We would like to clarify which languages are in this category.

Proposed List of 2-level Language Identifiers

Some languages differ by region and therefore a language subtag and country subtag may be used to identify the language more precisely. Note that depending on the purpose or intended audience of the content, a very precise label may not be needed and a one-level language tag may be adequate. For example, using "en" for this page may be sufficient instead of en-US. If the tag is being used with an application (as opposed to labeling content) the requirement for precision may also vary.

John Cowan provided the original data for this list. The list has since been amended based on suggestions from a number of folks and considerable research.

Table Legend

In the following table, the language codes are followed by a parenthesized expression which contains the language name and if the region code is different from the region represented by the row, a region name. For example, en-US (English, U.S.).

Tags will look different depending on their source and whether they have been deprecated. Their appearance is as follows:

ISO 639 tags IANA registry tags deprecated tags proposed RFC 3066bis tags

Region
Code
Region NameLanguages
[Format:Tag (Language Name, Region Name)]
(none) No region assigned eo (Esperanto) ia (Interlingua) ie (Interlingue) io (Ido) vo (Volapük)
AD Andorra ca (Catalan) fr-AD (French)
AE United Arab Emirates ar-AE (Arabic)
AF Afghanistan fa-AF (Persian) ps (Pushto) ug (Uighur) uz-AF (Uzbek)
AG Antigua And Barbuda en-AG (English)
AI Anguilla en-AI (English)
AL Albania sq (Albanian)
AM Armenia hy (Armenian)
AN Netherlands Antilles nl-AN (Dutch)
AO Angola kg (Kongo) kj (Kuanyama) pt-AO (Portuguese)
AR Argentina cy-AR (Welsh) es-AR (Spanish) gn (Guarani)
AS American Samoa en-AS (English) sm (Samoan)
AT Austria de-AT (German) hu (Hungarian)
AU Australia en-AU (English) YI (Yiddish)
AW Aruba nl-AW (Dutch)
AX Åland Islands sv-AX (Swedish)
AZ Azerbaijan av (Avaric) az (Azerbaijani) az-Arab (Azerbaijani) az-Cyrl (Azerbaijani) az-Latn (Azerbaijani) os (Ossetian)
BA Bosnia And Herzegovina bs (Bosnian) hr-BA (Croatian) sr-BA (Serbian)
BB Barbados en-BB (English)
BD Bangladesh bn-BD (Bengali)
BE Belgium de-BE (German) en-BE (English) fr-BE (French) nl-BE (Dutch) wa (Walloon) yi (Yiddish)
BF Burkina Faso bm (Bambara) fr-BF (French) ha (Hausa)
BG Bulgaria bg (Bulgarian) cu (Church Slavic) tr-BG (Turkish)
BH Bahrain ar-BH (Arabic)
BI Burundi fr-BI (French) rn (Rundi)
BJ Benin fr-BJ (French)
BM Bermuda en-BM (English)
BN Brunei Darussalam en-BN (English) ms-BN (Malay)
BO Bolivia ay (Aymara) es-BO (Spanish)
BR Brazil pt-BR (Portuguese)
BS Bahamas en-BS (English)
BT Bhutan dz (Dzongkha) ne (Nepali)
BW Botswana en-BW (English) sn (Shona) tn-BW (Tswana)
BY Belarus be (Belarusian) cu (Church Slavic) yi (Yiddish)
BZ Belize en-BZ (English)
CA Canada cr (Cree) en-CA (English) fr-CA (French) iu (Inuktitut) oj (Ojibwa) yi (Yiddish)
CC Cocos (Keeling) Islands ms-CC (Malay)
CD Congo, The Democratic Republic Of The fr-CD (French) kg (Kongo) ln-CD (Lingala) lu (Luba-Katanga)
CF Central African Republic fr-CF (French) sg (Sango)
CG Congo fr-CG (French) kg (Kongo) ln-CG (Lingala)
CH Switzerland de-CH (German) fr-CH (French) it-CH (Italian) rm (Raeto-Romance)
CI Côte D'ivoire ak (Akan) bm (Bambara) fr-CI (French)
CK Cook Islands en-CK (English)
CL Chile ay (Aymara) es-CL (Spanish)
CM Cameroon en-CM (English) fr-CM (French)
CN China bo (Tibetan) i-hak (Hakka) ii (Sichuan Yi) za (Zhuang) zh-CN (Chinese) zh-gan (Chinese) zh-guoyu (Chinese) zh-hakka (Chinese) zh-Hans (Chinese) zh-Hans-CN (Chinese) zh-Hant (Chinese) zh-Hant-CN (Chinese) zh-wuu (Chinese) zh-xiang (Chinese) zh-yue (Chinese)
CO Colombia es-CO (Spanish)
CR Costa Rica es-CR (Spanish)
CS Serbia And Montenegro cu (Church Slavic) hu (Hungarian) sq (Albanian) sr (Serbian) sr-Cyrl (Serbian) sr-Latn (Serbian)
CU Cuba es-CU (Spanish)
CV Cape Verde pt-CV (Portuguese)
CX Christmas Island ms-CC (Malay,Cocos (Keeling) Islands)
CY Cyprus el-CY (Greek) tr-CY (Turkish)
CZ Czech Republic cs (Czech)
DE Germany da-DE (Danish) da-DE (Danish) de-1901 (German) de-1996 (German) de-AT-1901 (German) de-AT-1996 (German) de-CH-1901 (German) de-CH-1996 (German) de-DE (German) de-DE-1901 (German) de-DE-1996 (German) dsb (Lower Sorbian) fy-DE (Frisian) hsb (Upper Sorbian) lb (Luxembourgish) nds (Low German) wen (Sorbian) yi (Yiddish)
DJ Djibouti aa-DJ (Afar) fr-DJ (French) so-DJ (Somali)
DK Denmark da-DK (Danish) de-DK (German)
DM Dominica en-DM (English)
DO Dominican Republic es-DO (Spanish)
DZ Algeria ar-DZ (Arabic)
EC Ecuador es-EC (Spanish)
EE Estonia et (Estonian) yi (Yiddish)
EG Egypt ar-EG (Arabic)
ER Eritrea aa-ER (Afar) byn (Blin) en-ER (English) gez-ER (Geez) ti-ER (Tigrinya) tig (Tigre)
ES Spain an (Aragonese) ca (Catalan) es-ES (Spanish) eu (Basque) gl (Galician)
ET Ethiopia aa-ET (Afar) am (Amharic) en-ET (English) gez-ET (Geez) om-ET (Oromo) sid (Sidamo) so-ET (Somali) ti-ET (Tigrinya) wal (Walamo)
FI Finland fi-FI (Finnish) smn (Inari Sami) sv-FI (Swedish)
FJ Fiji en-FJ (English) fj (Fijian)
FK Falkland Islands (Malvinas) en-FK (English)
FM Micronesia, Federated States Of en-FM (English)
FO Faroe Islands da-FO (Danish) fo (Faroese)
FR France br (Breton) co (Corsican) de-FR (German) fr-FR (French) oc (Occitan)
GA Gabon fr-GA (French)
GB United Kingdom cy-GB (Welsh) en-boont (English) en-GB (English) en-GB-oed (English) en-scouse (English) fr-GB (French) ga-GB (Irish) gd (Gaelic) gv (Manx) kw (Cornish)
GD Grenada en-GD (English)
GE Georgia ab (Abkhazian) ka (Georgian) os (Ossetian)
GF French Guiana fr-GF (French)
GH Ghana ak (Akan) ee (Ewe) en-GH (English) tw (Twi)
GI Gibraltar en-GI (English)
GL Greenland da-GL (Danish) kl (Kalaallisut)
GM Gambia bm (Bambara) en-GM (English) wo (Wolof)
GN Guinea fr-GN (French)
GP Guadeloupe fr-GP (French)
GQ Equatorial Guinea es-GQ (Spanish)
GR Greece el-GR (Greek)
GT Guatemala es-GT (Spanish)
GU Guam ch-GU (Chamorro) en-GU (English)
GW Guinea-Bissau pt-GW (Portuguese)
GY Guyana en-GY (English)
HK Hong Kong en-HK (English) zh-Hant (Chinese) zh-Hant-HK (Chinese) zh-HK (Chinese)
HN Honduras es-HN (Spanish)
HR Croatia hr-HR (Croatian) it-HR (Italian)
HT Haiti fr-HT (French) ht (Haitian)
HU Hungary de-HU (German) hu-HU (Hungarian) sk-HU (Slovak) sr-HU (Serbian)
ID Indonesia id (Indonesian) jv (Javanese) su (Sundanese)
IE Ireland en-IE (English) ga-IE (Irish)
IL Israel ar-IL (Arabic) en-IL (English) he (Hebrew) yi (Yiddish)
IN India ar-IN (Arabic) as (Assamese) bh (Bihari) bn-IN (Bengali) en-IN (English) gu (Gujarati) hi (Hindi) kn (Kannada) kok (Konkani) ks (Kashmiri) ml (Malayalam) mr (Marathi) ne (Nepali) or (Oriya) pa (Panjabi) pi (Pali) sa (Sanskrit) sd-IN (Sindhi) ta-IN (Tamil) te (Telugu) ur-IN (Urdu)
IO British Indian Ocean Territory en-IO (English)
IQ Iraq ar-IQ (Arabic) ku (Kurdish)
IR Iran, Islamic Republic Of ae (Avestan) fa-IR (Persian) ku (Kurdish)
IS Iceland is (Icelandic)
IT Italy co (Corsican) de-IT (German) fr-IT (French) it-IT (Italian) sc (Sardinian)
JM Jamaica en-JM (English)
JO Jordan ar-JO (Arabic)
JP Japan ja (Japanese)
KE Kenya en-KE (English) ki (Kikuyu) om-KE (Oromo) so-KE (Somali) sw-KE (Swahili)
KG Kyrgyzstan ky (Kirghiz) ug (Uighur)
KH Cambodia km (Khmer)
KI Kiribati en-KI (English)
KM Comoros fr-KM (French)
KN Saint Kitts And Nevis en-KN (English)
KP Korea, Democratic People's Republic Of ko-KP (Korean)
KR Korea, Republic Of ko-KR (Korean)
KW Kuwait ar-KW (Arabic)
KY Cayman Islands en-KY (English)
KZ Kazakhstan av (Avaric) kk (Kazakh) os (Ossetian) ug (Uighur)
LA Lao People's Democratic Republic lo (Lao)
LB Lebanon ar-LB (Arabic) fr-LB (French)
LC Saint Lucia en-LC (English)
LI Liechtenstein de-LI (German)
LK Sri Lanka si (Sinhala)
LR Liberia en-LR (English)
LS Lesotho en-LS (English) st (Southern Sotho) xh (Xhosa)
LT Lithuania lt (Lithuanian) yi (Yiddish)
LU Luxembourg de-LU (German) fr-LU (French) lb (Luxembourgish)
LV Latvia lv (Latvian) yi (Yiddish)
LY Libyan Arab Jamahiriya ar-LY (Arabic)
MA Morocco ar-MA (Arabic)
MC Monaco fr-MC (French)
MD Moldova, Republic Of mo (Moldavian) ro (Romanian) tr (Turkish) uk (Ukrainian) yi (Yiddish)
MG Madagascar fr-MG (French) mg (Malagasy)
MH Marshall Islands en-MH (English) mh (Marshallese)
MK Macedonia, The Former Yugoslav Republic Of cu (Church Slavic) mk (Macedonian)
ML Mali bm (Bambara) fr-ML (French)
MM Myanmar my (Burmese)
MN Mongolia mn (Mongolian)
MO Macao zh-Hant (Chinese) zh-Hant-MO (Chinese) zh-MO (Chinese)
MP Northern Mariana Islands ch-MP (Chamorro) en-MP (English)
MQ Martinique fr-MQ (French)
MR Mauritania ar-MR (Arabic) wo (Wolof)
MS Montserrat en-MS (English)
MT Malta en-MT (English) mt (Maltese)
MU Mauritius en-MU (English)
MV Maldives dv (Divehi)
MW Malawi en-MW (English) ny (Chichewa)
MX Mexico es-MX (Spanish)
MY Malaysia jv (Javanese) ms-MY (Malay)
MZ Mozambique pt-MZ (Portuguese) sn (Shona)
NA Namibia en-NA (English) hz (Herero) ng (Ndonga)
NC New Caledonia fr-NC (French)
NE Niger ff-NE (Fulah) fr-NE (French) ha (Hausa) kr (Kanuri)
NF Norfolk Island en-NF (English)
NG Nigeria en-NG (English) ff-NG (Fulah) ha (Hausa) ig (Igbo) kr (Kanuri) yo (Yoruba)
NI Nicaragua es-NI (Spanish)
NL Netherlands fy-NL (Frisian) li (Limburgan) nl-NL (Dutch)
NO Norway nb (Bokmål) nn (Nynorsk) no (Norwegian) no-bok (Norwegian) no-nyn (Norwegian)
NP Nepal ne (Nepali)
NR Nauru en-NR (English) na (Nauru)
NU Niue en-NU (English)
NZ New Zealand en-NZ (English) mi (Maori)
OM Oman ar-OM (Arabic)
PA Panama es-PA (Spanish)
PE Peru ay (Aymara) es-PE (Spanish) qu (Quechua)
PF French Polynesia fr-PF (French) ty (Tahitian)
PG Papua New Guinea en-PG (English) ho (Hiri Motu)
PH Philippines en-PH (English) tl (Tagalog)
PK Pakistan en-PK (English) sd-PK (Sindhi) ur-PK (Urdu)
PL Poland de-PL (German) pl (Polish) yi (Yiddish)
PM Saint Pierre And Miquelon fr-PM (French)
PN Pitcairn en-PN (English)
PR Puerto Rico en-PR (English) es-PR (Spanish)
PS Palestinian Territory, Occupied ar-PS (Arabic)
PT Portugal pt-PT (Portuguese)
PW Palau en-PW (English)
PY Paraguay es-PY (Spanish) gn (Guarani)
QA Qatar ar-QA (Arabic)
RE Réunion fr-RE (French)
RO Romania cu (Church Slavic) hu (Hungarian) ro (Romanian) YI (Yiddish)
RU Russian Federation av (Avaric) ba (Bashkir) ce (Chechen) cu (Church Slavic) cv (Chuvash) kv (Komi) os (Ossetian) ru-RU (Russian) tt (Tatar) yi (Yiddish)
RW Rwanda en-RW (English) fr-RW (French) rw (Kinyarwanda)
SA Saudi Arabia ar-SA (Arabic)
SB Solomon Islands en-SB (English)
SC Seychelles en-SC (English) fr-SC (French)
SD Sudan ar-SD (Arabic) din (Dinka) ha (Hausa)
SE Sweden fi-SE (Finnish) se (Northern Sami) sma (S. Sami) sme (N. Sami) sv-SE (Swedish)
SG Singapore bn-SG (Bengali) en-SG (English) ms-SG (Malay) ta-SG (Tamil) zh-Hans-SG (Chinese) zh-SG (Chinese)
SH Saint Helena en-SH (English)
SI Slovenia hu-SI (Hungarian) it-SI (Italian)
SK Slovakia hu (Hungarian) sk (Slovak)
SL Sierra Leone en-SL (English)
SM San Marino it-SM (Italian)
SN Senegal ff-SN (Fulah) wo (Wolof)
SO Somalia ar-SO (Arabic) en-SO (English) so-SO (Somali)
SR Suriname jv (Javanese) nl-SR (Dutch)
ST Sao Tome And Principe pt-ST (Portuguese)
SV El Salvador es-SV (Spanish)
SY Syrian Arab Republic ar-SY (Arabic) syr (Syriac)
SZ Swaziland en-SZ (English) ss-SZ (Swati)
TC Turks And Caicos Islands en-TC (English)
TD Chad ar-TD (Arabic) fr-TD (French)
TG Togo ee (Ewe) fr-TG (French) ha (Hausa)
TH Thailand si (Sinhala) th (Thai)
TJ Tajikistan os (Ossetian) tg (Tajik) ug (Uighur)
TK Tokelau en-TK (English)
TL Timor-Leste pt-TL (Portuguese)
TM Turkmenistan os (Ossetian) tk (Turkmen)
TN Tunisia ar-TN (Arabic)
TO Tonga en-TO (English) to (Tongan)
TR Turkey ab (Abkhazian) av (Avaric) ku (Kurdish) tr-TR (Turkish) ug (Uighur)
TT Trinidad And Tobago en-TT (English)
TV Tuvalu gil (Gilbertese) tvl (Tuvalu)
TW Taiwan, Province Of China zh-Hant (Chinese) zh-Hant-TW (Chinese) zh-min (Chinese) zh-min-nan (Chinese) zh-TW (Chinese)
TZ Tanzania, United Republic Of sw-TZ (Swahili)
UA Ukraine ab (Abkhazian) cu (Church Slavic) hu (Hungarian) os (Ossetian) pl (Polish) ro (Romanian) ru-UA (Russian) uk (Ukrainian) yi (Yiddish)
UG Uganda en-UG (English) lg (Ganda)
UM United States Minor Outlying Islands en-UM (English)
US United States en-US (English) es-US (Spanish) haw (Hawaiian) ik (Inupiaq) nv (Navajo) oj (Ojibwa) yi (Yiddish)
UY Uruguay es-UY (Spanish)
UZ Uzbekistan os (Ossetian) ug (Uighur) uz-Cyrl (Uzbek) uz-Latn (Uzbek) uz-UZ (Uzbek)
VA Holy See (Vatican City State) fr (French) it (Italian) la (Latin)
VC Saint Vincent And The Grenadines en-VC (English)
VE Venezuela es-VE (Spanish)
VG Virgin Islands, British en-VG (English)
VI Virgin Islands, U.S. en-VI (English)
VN Viet Nam vi (Vietnamese)
VU Vanuatu bi (Bislama) en-VU (English) fr-VU (French)
WF Wallis And Futuna fr-WF (French)
WS Samoa en-WS (English) sm (Samoan)
YE Yemen ar-YE (Arabic)
YT Mayotte fr-YT (French)
YU Yugoslavia sr-Cyrl-YU (Serbian) sr-Latn-YU (Serbian) sr-YU (Serbian)
ZA South Africa af (Afrikaans) en-ZA (English) nr (S. Ndebele) ss-ZA (Swati) tn-ZA (Tswana) ts (Tsonga) ve (Venda) xh (Xhosa) yi (Yiddish) zu (Zulu)
ZM Zambia en-ZM (English)
ZW Zimbabwe en-ZW (English) nd (N. Ndebele) sn (Shona) ve (Venda) zu (Zulu)

References