Which language codes (ISO) do we support on LingoHub? This article outlines our support for language codes and explains some important aspects regarding ISO codes, exceptions and legacy encoding.
How do we approach language codes? When importing the resource file into the lingohub project, we try to detect the language for the file
- from the information within the file itself (for the formats where it is applicable)
- from the file name or
- from the file path (if the file is being imported via repository)
If the detection fails, the language can still be chosen from the list.
Language codes
The language information should be specified by the language code. We support all language codes found in the current up to date list defined in ISO 639-1 standard. Also, for all countries/territories that list official languages we support language-region combinations.
For example, for Switzerland (CH), where the official languages are German (de), French (fr), Italian (it) and Romansch (rm), these are combinations that we support: de-CH, fr-CH, it-CH, rm-CH.
Additionally, we support all Facebook codes. For migrating deprecated codes (those that were removed from the standard list at some point) to their valid alternatives, this page can be consulted.
- ISO 639-1 – covers the registration of two letter language codes. The complete list of all registered ISO 639-1 language codes can be found here.
- language / region separators that we accept are dash and underscore ( – _ )
- ISO 3166-1 alpha-2 codes – defines two letter country codes that represent countries, dependent territories, and special areas of geographical interest.
Some resource file formats make it possible to define the language code of the associated language within the file. If that is the case with the uploaded resource file, and the valid code is specified, that is what we use.
Examples of valid language codes:
- en
- de-AT
- nl_BE
Specifying the language code in a file name
if there is no language code specified within the file, we try to detect it from the file name, here is how LingoHub will approach it:
- base names are optional – the file name can consist of language code and extension only, for example: en.yml
- language code separators come between the base name (if it is present) and the language code
- valid language code separators are dot, underscore and dash ( . _ – )
- two letter lower case language code
- language / region separators that we accept are dash and underscore ( – _ )
- two letter upper case region code
- extension as specified for particular resource file format
Examples of properly formatted resource file names:
- en.yml
- en-US.yml
- en_US.yml
- activerecord.en.yml
- activerecord_en.yml
- activerecord-en.yml
Specifying the language code in file path
If the resource file is imported via repository, and no language code was found within the file or file name, we will search for it anywhere in the path preceding the file name.
The language code can be found anywhere in the path and it needs to conform to the same rules as expected when it is in the file name.
Example of paths with valid language codes specified:
- en/activerecord.yml
- en/activerecord/errors.yml
- locales/en/activerecord.yml
- locales/activerecord.en/errors.yml
A list of all language codes supported by LingoHub
This table lits all language codes currently supported by LingoHub
language code | language | language code | language |
---|---|---|---|
ab | Abkhaz | aa | Afar |
af | Afrikaans | af-ZA | Afrikaans (South Africa) |
ak | Akan | sq | Albanian |
sq-AL | Albanian (Albania) | sq-KS | Albanian (Kosovo) |
am | Amharic | ar | Arabic |
ar-DZ | Arabic (Algeria) | ar-AR | Arabic (Arabic) |
ar-BH | Arabic (Bahrain) | ar-TD | Arabic (Chad) |
ar-KM | Arabic (Comoros) | ar-DJ | Arabic (Djibouti) |
ar-EG | Arabic (Egypt) | ar-ER | Arabic (Eritrea) |
ar-IQ | Arabic (Iraq) | ar-IL | Arabic (Israel) |
ar-JO | Arabic (Jordan) | ar-KW | Arabic (Kuwait) |
ar-LB | Arabic (Lebanon) | ar-LY | Arabic (Libya) |
ar-MR | Arabic (Mauritania) | ar-MA | Arabic (Morocco) |
ar-OM | Arabic (Oman) | ar-QA | Arabic (Qatar) |
ar-SA | Arabic (Saudi Arabia) | ar-SO | Arabic (Somalia) |
ar-SD | Arabic (Sudan) | ar-SY | Arabic (Syria) |
ar-TN | Arabic (Tunisia) | ar-AE | Arabic (United Arab Emirates) |
ar-PS | Arabic (West Bank and Gaza) | ar-EH | Arabic (Western Sahara) |
ar-YE | Arabic (Yemen) | an | Aragonese |
hy | Armenian | hy-AM | Armenian (Armenia) |
as | Assamese | av | Avaric |
ay | Aymara | az | Azerbaijani |
az-AZ | Azerbaijani (Azerbaijan) | bm | Bambara |
ba | Bashkir | eu | Basque |
eu-ES | Basque (Spain) | be | Belarusian |
be-BY | Belarusian (Belarus) | bn | Bengali |
bn-IN | Bengali (India) | bh | Bihari |
bi | Bislama | bs | Bosnian |
bs-BA | Bosnian (Bosnia and Herzegovina) | br | Breton |
bg | Bulgarian | bg-BG | Bulgarian (Bulgaria) |
my | Burmese | ca | Catalan |
ca-AD | Catalan (Andorra) | ca-ES | Catalan (Spain) |
ch | Chamorro | ce | Chechen |
ny | Chichewa | zh | Chinese |
zh-CN | Chinese (China) | zh-HK | Chinese (Hong Kong) |
zh-MO | Chinese (Macao) | zh-SG | Chinese (Singapore) |
zh-TW | Chinese (Taiwan) | cv | Chuvash |
kw | Cornish | co | Corsican |
cr | Cree | hr | Croatian |
hr-BA | Croatian (Bosnia and Herzegovina) | hr-HR | Croatian (Croatia) |
cs | Czech | cs-CZ | Czech (Czech Republic) |
cs-SK | Czech (Slovak Republic) | da | Danish |
da-DK | Danish (Denmark) | da-FO | Danish (Faeroe Islands) |
da-GL | Danish (Greenland) | dv | Divehi |
nl | Dutch | nl-AW | Dutch (Aruba) |
nl-BE | Dutch (Belgium) | nl-CW | Dutch (Curaçao) |
nl-AN | Dutch (Netherlands Antilles) | nl-NL | Dutch (Netherlands) |
nl-SX | Dutch (Sint Maarten (Dutch part)) | nl-SR | Dutch (Suriname) |
dz | Dzongkha | en-AS | English (American Samoa) |
en-AI | English (Anguilla) | en-AG | English (Antigua and Barbuda) |
en-AU | English (Australia) | en-BD | English (Bangladesh) |
en-BB | English (Barbados) | en-BZ | English (Belize) |
en-BM | English (Bermuda) | en-BW | English (Botswana) |
en-VG | English (British Virgin Islands) | en-CM | English (Cameroon) |
en-CA | English (Canada) | en-KY | English (Cayman Islands) |
en-CK | English (Cook Islands) | en-CW | English (Curaçao) |
en-DM | English (Dominica) | en-ER | English (Eritrea) |
en-FK | English (Falkland Islands) | en-FJ | English (Fiji) |
en-GH | English (Ghana) | en-GI | English (Gibraltar) |
en-GD | English (Grenada) | en-GU | English (Guam) |
en-GG | English (Guernsey) | en-GY | English (Guyana) |
en-HK | English (Hong Kong) | en-IN | English (India) |
en-IE | English (Ireland) | en-IM | English (Isle of Man) |
en-JM | English (Jamaica) | en-JE | English (Jersey) |
en-KE | English (Kenya) | en-KI | English (Kiribati) |
en-LS | English (Lesotho) | en-LR | English (Liberia) |
en-MW | English (Malawi) | en-MY | English (Malaysia) |
en-MT | English (Malta) | en-MH | English (Marshall Islands) |
en-MU | English (Mauritius) | en-FM | English (Micronesia) |
en-MS | English (Montserrat) | en-NA | English (Namibia) |
en-NR | English (Nauru) | en-NZ | English (New Zealand) |
en-NG | English (Nigeria) | en-NU | English (Niue) |
en-MP | English (Northern Mariana Islands) | en-PK | English (Pakistan) |
en-PW | English (Palau) | en-PG | English (Papua New Guinea) |
en-PH | English (Philippines) | en-PI | English (Pirate) |
en-PN | English (Pitcairn Islands) | en-PR | English (Puerto Rico) |
en-RW | English (Rwanda) | en-SH | English (Saint Helena) |
en-WS | English (Samoa) | en-SC | English (Seychelles) |
en-SL | English (Sierra Leone) | en-SG | English (Singapore) |
en-SB | English (Solomon Islands) | en-SO | English (Somalia) |
en-ZA | English (South Africa) | en-SS | English (South Sudan) |
en-LK | English (Sri Lanka) | en-KN | English (St. Kitts and Nevis) |
en-LC | English (St. Lucia) | en-VC | English (St. Vincent and the Grenadines) |
en-SD | English (Sudan) | en-SZ | English (Swaziland) |
en-TZ | English (Tanzania) | en-BS | English (The Bahamas) |
en-GM | English (The Gambia) | en-TO | English (Tonga) |
en-TT | English (Trinidad and Tobago) | en-TC | English (Turks and Caicos Islands) |
en-TV | English (Tuvalu) | en-UG | English (Uganda) |
en-GB | English (United Kingdom) | en-VI | English (United States Virgin Islands) |
en-US | English (United States) | en-UD | English (Upside Down) |
en-VU | English (Vanuatu) | en-ZM | English (Zambia) |
en-ZW | English (Zimbabwe) | eo-EO | Esperanto (Esperanto) |
et | Estonian | et-EE | Estonian (Estonia) |
ee | Ewe | fo | Faroese |
fo-FO | Faroese (Faeroe Islands) | fj | Fijian |
tl-PH | Filipino (Philippines) | fi | Finnish |
fi-FI | Finnish (Finland) | fr | French |
fr-BE | French (Belgium) | fr-BJ | French (Benin) |
fr-BF | French (Burkina Faso) | fr-BI | French (Burundi) |
fr-CM | French (Cameroon) | fr-CA | French (Canada) |
fr-CF | French (Central African Republic) | fr-TD | French (Chad) |
fr-KM | French (Comoros) | fr-CG | French (Congo) |
fr-CI | French (Côte d’Ivoire) | fr-CD | French (Dem. Rep. Congo) |
fr-DJ | French (Djibouti) | fr-GQ | French (Equatorial Guinea) |
fr-FR | French (France) | fr-GF | French (French Guianna) |
fr-PF | French (French Polynesia) | fr-GA | French (Gabon) |
fr-GD | French (Grenada) | fr-GP | French (Guadeloupe) |
fr-GN | French (Guinea) | fr-HT | French (Haiti) |
fr-LU | French (Luxembourg) | fr-MG | French (Madagascar) |
fr-ML | French (Mali) | fr-MQ | French (Martinique) |
fr-MU | French (Mauritius) | fr-YT | French (Mayotte) |
fr-MC | French (Monaco) | fr-NC | French (New Caledonia) |
fr-NE | French (Niger) | fr-RW | French (Rwanda) |
fr-RE | French (Réunion) | fr-PM | French (Saint Pierre and Miquelon) |
fr-SN | French (Senegal) | fr-SC | French (Seychelles) |
fr-LC | French (St. Lucia) | fr-MF | French (St. Martin (French part)) |
fr-CH | French (Switzerland) | fr-TG | French (Togo) |
fr-VU | French (Vanuatu) | fr-WF | French (Wallis and Futuna) |
fy-NL | Frisian (Netherlands) | ff | Fula |
gl | Galician | gl-ES | Galician (Spain) |
lg | Ganda | ka | Georgian |
ka-GE | Georgian (Georgia) | de | German |
de-AT | German (Austria) | de-BE | German (Belgium) |
de-DE | German (Germany) | de-LI | German (Liechtenstein) |
de-LU | German (Luxembourg) | de-NA | German (Namibia) |
de-CH | German (Switzerland) | el | Greek |
el-CY | Greek (Cyprus) | el-GR | Greek (Greece) |
gn | Guaraní | gu | Gujarati |
ht | Haitian | ha | Hausa |
he | Hebrew | he-IL | Hebrew (Israel) |
hz | Herero | hi | Hindi |
hi-FJ | Hindi (Fiji) | hi-IN | Hindi (India) |
hi-PK | Hindi (Pakistan) | ho | Hiri Motu |
hu | Hungarian | hu-HU | Hungarian (Hungary) |
is | Icelandic | is-IS | Icelandic (Iceland) |
io | Ido | ig | Igbo |
id | Indonesian | id-ID | Indonesian (Indonesia) |
iu | Inuktitut | ik | Inupiaq |
ga | Irish | ga-IE | Irish (Ireland) |
ga-GB | Irish (United Kingdom) | it | Italian |
it-IT | Italian (Italy) | it-SM | Italian (San Marino) |
it-CH | Italian (Switzerland) | it-VA | Italian (Vatican City) |
ja | Japanese | ja-JP | Japanese (Japan) |
ja-PW | Japanese (Palau) | jv | Javanese |
kl | Kalaallisut | kn | Kannada |
kr | Kanuri | ks | Kashmiri |
kk | Kazakh | km | Khmer |
km-KH | Khmer (Cambodia) | ki | Kikuyu |
rw | Kinyarwanda | rn | Kirundi |
kv | Komi | kg | Kongo |
ko | Korean | ko-KP | Korean (DPRK) |
ko-KR | Korean (South Korea) | ku | Kurdish |
ku-TR | Kurdish (Turkey) | kj | Kwanyama |
ky | Kyrgyz | lo | Lao |
la-VA | Latin (Vatican City) | lv | Latvian |
lv-LV | Latvian (Latvia) | fb-LT | Leet Speak |
li | Limburgish | ln | Lingala |
lt | Lithuanian | lt-LT | Lithuanian (Lithuania) |
lu | Luba-Katanga | lb | Luxembourgish |
mk | Macedonian | mk-MK | Macedonian (Macedonia) |
mg | Malagasy | ms | Malay |
ms-BN | Malay (Brunei) | ms-ID | Malay (Indonesia) |
ms-MY | Malay (Malaysia) | ms-SG | Malay (Singapore) |
ml | Malayalam | ml-IN | Malayalam (India) |
mt | Maltese | mt-MT | Maltese (Malta) |
gv | Manx | mr | Marathi |
mh | Marshallese | mn | Mongolian |
mi | Māori | na | Nauru |
nv | Navajo | ng | Ndonga |
ne | Nepali | ne-NP | Nepali (Nepal) |
nd | North Ndebele | se | Northern Sami |
no | Norwegian | no-NO | Norwegian (Norway) |
nb | Norwegian Bokmål | nb-NO | Norwegian Bokmål (Norway) |
nn | Norwegian Nynorsk | nn-NO | Norwegian Nynorsk (Norway) |
ii | Nuosu | oc | Occitan |
oj | Ojibwe | or | Oriya |
om | Oromo | os | Ossetian |
pa | Panjabi | ps | Pashto |
ps-AF | Pashto (Afghanistan) | fa | Persian |
fa-IR | Persian (Iran) | pl | Polish |
pl-PL | Polish (Poland) | pt | Portuguese |
pt-AO | Portuguese (Angola) | pt-BR | Portuguese (Brazil) |
pt-CV | Portuguese (Cape Verde) | pt-GQ | Portuguese (Equatorial Guinea) |
pt-GW | Portuguese (Guinea-Bissau) | pt-MO | Portuguese (Macao) |
pt-MZ | Portuguese (Mozambique) | pt-PT | Portuguese (Portugal) |
pt-ST | Portuguese (São Tomé and Principe) | pt-TL | Portuguese (Timor-Leste) |
pa-IN | Punjabi (India) | qu | Quechua |
ro | Romanian | ro-MD | Romanian (Moldova) |
ro-RO | Romanian (Romania) | rm | Romansh |
ru | Russian | ru-BY | Russian (Belarus) |
ru-KZ | Russian (Kazakhstan) | ru-KG | Russian (Kyrgyz Republic) |
ru-RU | Russian (Russia) | ru-TJ | Russian (Tajikistan) |
sm | Samoan | sg | Sango |
sa | Sanskrit | sc | Sardinian |
gd | Scottish Gaelic | sr | Serbian |
sr-BA | Serbian (Bosnia and Herzegovina) | sr-ME | Serbian (Montenegro) |
sr-RS | Serbian (Serbia) | sn | Shona |
sd | Sindhi | si | Sinhala |
sk | Slovak | sk-CZ | Slovak (Czech Republic) |
sk-SK | Slovak (Slovakia) | sl | Slovenian |
sl-SI | Slovenian (Slovenia) | so | Somali |
nr | South Ndebele | st | Southern Sotho |
es | Spanish | es-AR | Spanish (Argentina) |
es-BO | Spanish (Bolivia) | es-CL | Spanish (Chile) |
es-CO | Spanish (Colombia) | es-CR | Spanish (Costa Rica) |
es-CU | Spanish (Cuba) | es-DO | Spanish (Dominican Republic) |
es-EC | Spanish (Ecuador) | es-SV | Spanish (El Salvador) |
es-GQ | Spanish (Equatorial Guinea) | es-GI | Spanish (Gibraltar) |
es-GT | Spanish (Guatemala) | es-HN | Spanish (Honduras) |
es-MX | Spanish (Mexico) | es-NI | Spanish (Nicaragua) |
es-PA | Spanish (Panama) | es-PY | Spanish (Paraguay) |
es-PE | Spanish (Peru) | es-PR | Spanish (Puerto Rico) |
es-ES | Spanish (Spain) | es-LA | Spanish (Spanish) |
es-US | Spanish (United States) | es-UY | Spanish (Uruguay) |
es-VE | Spanish (Venezuela) | su | Sundanese |
sw | Swahili | sw-KE | Swahili (Kenya) |
ss | Swati | sv | Swedish |
sv-FI | Swedish (Finland) | sv-SE | Swedish (Sweden) |
tl | Tagalog | ty | Tahitian |
tg | Tajik | ta | Tamil |
ta-IN | Tamil (India) | tt | Tatar |
te | Telugu | te-IN | Telugu (India) |
th | Thai | th-TH | Thai (Thailand) |
bo | Tibetan | ti | Tigrinya |
to | Tonga | ts | Tsonga |
tn | Tswana | tr | Turkish |
tr-CY | Turkish (Cyprus) | tr-TR | Turkish (Turkey) |
tk | Turkmen | tw | Twi |
ug | Uighur | uk | Ukrainian |
uk-UA | Ukrainian (Ukraine) | ur | Urdu |
uz | Uzbek | ve | Venda |
vi | Vietnamese | vi-VN | Vietnamese (Vietnam) |
wa | Walloon | cy | Welsh |
cy-GB | Welsh (United Kingdom) | fy | Western Frisian |
wo | Wolof | xh | Xhosa |
yi | Yiddish | yo | Yoruba |
za | Zhuang | zu | Zulu |