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 a repository, an API import, or by uploading a ZIP file having path information.)
If the detection fails, the language can still be chosen from the list.
Language codes
The language code should specify the language information. We support all language codes in the current, up-to-date list defined in ISO 639-1 standard. Also, we support language-region combinations for all countries/territories that list official languages.
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.
- 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 representing 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
- nl-be
- nl_be
Specifying the language code in a file name
If no language code is 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 letters lowercase language code
- language/region separators that we accept are dash and underscore ( - _ )
- two letters uppercase region code
- extension as specified for the 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
- activerecord-en-US.yml
- activerecord.en_US.yml
Specifying the language code in the file path
If the resource file is imported via the repository, and no language code is 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 needs to conform to the same rules as expected when it is in the file name. Examples of paths with valid language codes specified:
- en/activerecord.yml
- en/activerecord/errors.yml
- locales/en/activerecord.yml
- locales/activerecord.en/errors.yml
- locales/en-AU/activerecord.yml
For some resource formats, a special syntax might be defined. Lingohub has implementations to interpret such syntax. E.g.:
- Resources/Base.lproj/Localizable.strings (iOS strings)
- src/main/res/values/en-rUS/strings.xml (Android XML files)
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 |