Most of the programs that implement the TMX standard for Translation Memory eXchange use language codes made of a lower-case, two-character language code compliant with ISO 639-1, followed by a minus sign, then a two-character upper-case country code compliant with ISO 3166 alpha-2. Three-character language ISO codes can also be used, but we do not recommend those, as they are rarity in the industry.
In the early days a -01 suffix was sometimes used instead of the country code when a language was limited to a single country. In addition, language codes were sometimes capitalized, so for example it was common to see JA-01 for Japanese when it should be ja-JP, or EN-UK instead of the canonical en-GB. Since TMX TMs are text files, a simple search-replace operation with a text editor will fix the issue. For example, run a case-sensitive search for "JA-01", replace it with "ja-JP", including quotes.
DISCLAIMER: This list is offered as quick reference, and does not pretend to contain all language codes. ISO lists of languages and countries are regularly updated.
CODES:
ab-RU : Abkhaz
aa-ET : Afar
af-ZA : Afrikaans
sq-SQ : Albanian
am-ET : Amharic
grc * : Ancient Greek
ar-AE : Arabic (UAE)
ar-BH : Arabic (Bahrein)
ar-DZ : Arabic (Algeria)
ar-EG : Arabic (Egypt)
ar-IQ : Arabic (Iraq)
ar-JO : Arabic (Jordan)
ar-KW : Arabic (Kuwait)
ar-LB : Arabic (Lebanon)
ar-LY : Arabic (Lybia)
ar-MA : Arabic (Morocco)
ar-OM : Arabic (Oman)
ar-QA : Arabic (Quatar)
ar-SA : Arabic (Saudi Arabia)
ar-SY : Arabic (Syria)
ar-TU : Arabic (Tunisia)
ar-YE : Arabic (Yemen)
hy-AM : Armenian
as-IN : Assamese
st-ES : Asturian
ae-IR : Avestan
ay-BO : Aymara
az-AZ : Azerbaidjani
ba-RU : Bashkir
eu-ES : Basque
be-BY : Belarusian
bn-IN : Bengali
al-IR : Bhutani
bh-IN : Bihari
bi-VU : Bislama
bs-BA : Bosnian
bs-BS : Bosnian (Cyr.)
pt-BR : Brazilian Portuguese
br-FR : Breton
bg-BG : Bulgarian
my-BU : Burmese
be-BY : Byelorussian
ca-AD : Catalan
ch-US : Chamorro
ce-RU : Chechen
ny-MW : Chichewa
zh-CN : Chinese PRC, simpl.
zh-HK : Chinese HK, trad.
zh-SG : Chinese Sing., trad.
zh-TW : Chinese Taiwan, trad.
cv-RU : Chuvash
kw-GB : Cornish
co-FR : Corsican
hr-BA : Croatian (B. & H.)
hr-HR : Croatian (Croatia)
cs-CZ : Czech
da-DK : Danish
rs-AF : Dari
dv-MV : Dihevi (Maldives)
dv-IN : Divehi
nl-BE : Dutch (Belgium)
nl-NL : Dutch (Netherlands)
dz-BT : Dzongkha
en-AU : English (Australia)
en-BZ : English (Belize)
en-GB : English (UK)
en-IE : English (Ireland)
en-JM : English (Jamaica)
en-NZ : English (New Zealand)
en-TT : English (Trinidad)
en-US : English (USA)
en-ZA : English (South Africa)
eo-01 : Esperanto
et-EE : Estonian
fo-FO : Faroese
fa-IR : Farsi
fj-FJ : Fijian
fi-FI : Finnish
nl-BE : Flemish
fr-BE : French (Belgium)
fr-CA : French (Canada)
fr-CH : French (Switzerland)
fr-FR : French (France)
fr-LU : French (Luxembourg)
fy-NL : Frisian
gl-ES : Galician
ka-GE : Georgian
de-AT : German (Austria)
de-DE : German (Germany)
de-LI : German (Liechtenstein)
de-LU : German (Luxembourg)
de-CH : German (Switzerland)
el-GR : Greek
kl-GL : Greenlandic
gn-PY : Guarani
gu-IN : Gujarati
ht-HT : Haitian
ha-NG : Hausa
he-IL : Hebrew
hz-01 : Herero
hi-IN : Hindi
ho-01 : Hiri Motu
hu-HU : Hungarian
is-IS : Icelandic
io-01 : Ido
id-ID : Indonesian
iu-CA : Inuktitut
ik-01 : Inupiaq
ga-IE : Irish
it-IT : Italian (Italy)
it-CH : Italian (Switzerland)
ja-JP : Japanese
jv-ID : Javanese
kl-01 : Kalaallisut
kn-IN : Kannada
ks-IN : Kashmiri
kk-KZ : Kazakh
km-KH : Khmer
kg-CG : Kikongo
rw-RW : Kinyarwanda
ky-KG : Kirghiz
sw-KE : Kiswahili
kv-01 : Komi
ok-IN : Konkani
ko-KR : Korean
ku-TR : Kurdish
lo-LA : Lao
lo-LA : Laotian
la-01 : Latin
lv-LV : Latvian
li-LU : Limburgish
ln-CG : Lingala
lt-LT : Lithuanian
lb-LU : Luxembourgish
mk-MK : Macedonian
mg-MG : Malagasy
ms-BN : Malay (Brunei)
ms-MY : Malay (Malaysia)
ml-IN : Malayalam
mt-MT : Maltese
gv-GB : Manx
mi-NZ : Maori
mr-IN : Marathi
mh-MH : Marshallese
mo-MD : Moldavian
mn-MN : Mongolian
la-ME : Montenegrin
na-NR : Nauru
nd-ZW : Ndebele
ng-NA : Ndonga
ne-NP : Nepali
ns-ZA : Northern Sotho
no-NO : Norwegian
oc-FR : Occitan
or-IN : Oriya
om-ET : Oromo
os-01 : Ossetian
pi-01 : Pali
pa-IN : Panjabi/Punjabi
fa-IR : Persian
pl-PL : Polish
pt-BR : Portuguese
ps-AF : Pushto/Pashto
qu-PE : Quechua (Bolivia)
qu-EC : Quechua (Ecuador)
qu-PE : Quechua (Peru)
rm-CH : Rhaeto-Romance
ro-RO : Romanian
rn-BI : Rundi
ru-RU : Russian
se-FI : Sami (Finland)
se-NO : Sami (Norway)
se-SE : Sami (Sweden)
sm-WS : Samoan
sg-CF : Sango
sa-IN : Sanskrit
sc-IT : Sardinian
gd-GB : Scottish
sr-BA : Serbian (B & H)
sr-YU : Serbian (S & M)
tn-ZA : Setswana
sn-SW : Shona
sd-PK : Sindhi
si-LK : Singhalese
si-IN : Sinhalese
sk-SK : Slovak
sl-SI : Slovenian
so-SO : Somali
sb-DE : Sorbian
sb-DE : Sorbian
es-AR : Spanish (Argentina)
es-BO : Spanish (Bolivia)
es-CL : Spanish (Chile)
es-CO : Spanish (Colombia)
es-CR : Spanish (Costa Rica)
es-DO : Spanish (Dominican Rep.)
es-EC : Spanish (Ecuador)
es-ES : Spanish (Spain)
es-GT : Spanish (Guatemala)
es-HN : Spanish (Honduras)
es-MX : Spanish (Mexico)
es-NI : Spanish (Nicaragua)
es-PA : Spanish (Panama)
es-PE : Spanish (Peru)
es-PR : Spanish (Puerto-Rico)
es-PY : Spanish (Paraguay)
es-SV : Spanish (El Salvador)
es-UY : Spanish (Uruguay)
es-VE : Spanish (Venezuela)
pd-SD : Sudanese
su-IN : Sundanese
sw-KE : Swahili (Kenya)
sv-SE : Swedish
sv-FI : Swedish (Finnish variant)
yr-TR : Syriac
tl-PH : Tagalog
ty-FR : Tahitian
tg-TJ : Tajik
ta-IN : Tamil
tt-RU : Tatar
te-IN : Telugu
et-ID : Tetum
th-TH : Thai
bo-CN : Tibetan
ti-ET : Tigrinya
to-TO : Tonga
ts-ZA : Tsonga
tn-BW : Tswana
tr-TR : Turkish
tk-TM : Turkmen
tw-01 : Twi
ug-01 : Uighur
uk-UA : Ukrainian
ur-PK : Urdu
ug-CN : Uyghur
uz-UZ : Uzbek
vi-VN : Vietnamese
vo-01 : Volapük
wa-BE : Walloon
cy-GB : Welsh
wo-01 : Wolof
xh-ZA : Xhosa
yi-01 : Yiddish
yo-NG : Yoruba
zu-ZA : Zulu
* No 2-letter code at date of publication.