Home / Blog / LingoHub support for language codes in localization

LingoHub support for language codes in localization

Localization strategy
Helmut Juskewycz
CEO & Founder of LingoHub

Last updated

3/7/2014

Read time

5 min

Best for

Developer

Lingohub support for language codes in localization

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.

pt-BR
  • 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:

language code description
  • 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.

language code in the path

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

Related articles