今天查了查ISO的语言代码表。开始觉得java做软件国际化
还是有优势的:
Language Codes: ISO 639, Microsoft and Macintosh
1996.12.19
Mark Davis
First version
1997.04.14
Mark Davis
Updates based on feedback from Michael Everson
1997.07.08
Mark Davis
Updates from K.D. Chang (Microsoft)
2001.07.16
Michael S. Kaplan
Updates from Microsoft and Apple for new languages
2002.09.16
Magda Danish
Updates from ISO 639-2 Change Notices
The following is a draft list of language code correspondences between ISO codes, Microsoft codes, and Macintosh codes. (USMARC language and country codes are not included in this list).
The correspondences are not 1-1. Macintosh codes sometimes have two variants, depending on the script the language is written. In such cases, the script is indicated in parantheses in the name (where not clear from the name itself), with a one-letter abbreviation on the code. Similarly, Microsoft codes are sometimes not script-specific and in cases where a language is not really properly identified without this information, the script information appears as well.
Macintosh constants and codes are defined in enumerations in the Mac header file Script.h and Windows constants and codes are defined in the Platform SDK header file winnt.h. Note that many of the Microsoft codes have no "Windows Name" constant (these are marked "(no constant defined)" and refer to codes that have been reserved for the languages in question. For more information about the LCID (Locale ID) parameter (of which the PRIMARY_LANGID codes given below are merely a part), see the Microsoft Platform SDK docs.
Unfortunately, ISO codes are not stable, and have changed over time. There are currently three languages with multiple codes (for Hebrew, Indonesian, and Yiddish). So that you can communicate both with new and old software, one strategy is the following:
When reading: always read and interpret both of the variants
When writing: write the second, (oldest) one - marked with an asterisk - for legacy applications that cannot manage correctly the new standard code or for classes of applications for which you are not certain that they can use the new standard. All applications, file formats and protocols specified after 1995 should work with the new standard code (this will include all XML and HTML4.01 applications, and all applications that can use version 3.0 of the Unicode standard)
If you find an error in this information, please contact the Unicode office. Please note, however, that the Unicode Consortium does not own or maintain ISO 639 and neither bears responsibility for its contents nor has the ability to change them. Please do not contact the Unicode Consortium if the ISO 639 language names are not what you believe they should be. Similarly, the Unicode is not responsible for the names or codes used by Microsoft or Macintosh.
Language
ISO Code
Windows Name
Win Code
Mac Name
Mac Code
Abkhazian
ab
Afar
aa
Afrikaans
af
LANG_AFRIKAANS
0x36
langAfricaans
141
Albanian
sq
LANG_ALBANIAN
0x1c
langAlbanian
36
Amharic
am
(no constant defined)
0x5e
langAmharic
85
Arabic
ar
LANG_ARABIC
0x01
langArabic
12
Armenian
hy
LANG_ARMENIAN
0x2b
langArmenian
51
Assamese
as
LANG_ASSAMESE
0x4d
langAssamese
68
Aymara
ay
langAymara
134
Azerbaijani
az
LANG_AZERI
0x2c
langAzerbaijani(Cyrllic), langAzerbaijanAr(Arabic)
49(C), 50(A)
Bashkir
ba
Basque
eu
LANG_BASQUE
0x2d
langBasque
129
Bengali (Bangla)
bn
LANG_BENGALI
0x45
langBengali
67
Bhutani
dz
langDzongkha
137
Bihari
bh
Bislama
bi
Breton
br
langBreton
142
Bulgarian
bg
LANG_BULGARIAN
0x02
langBulgarian
44
Burmese
my
(no constant defined)
0x55
langBurmese
77
Byelorussian (Belarusian)
be
LANG_BELARUSIAN
0x23
langByelorussian
46
Cambodian
km
(no constant defined)
0x53
langKhmer
78
Catalan
ca
LANG_CATALAN
0x03
langCatalan
130
Cherokee
(no constant defined)
0x5c
Chewa
langChewa
92
Chinese (Simplified)
zh
LANG_CHINESE (SUBLANG_CHINESE_SIMPLIFIED)
0x04 (0x0804)
langSimpChinese
33
Chinese (Traditional)
zh
LANG_CHINESE (SUBLANG_CHINESE_TRADITIONAL)
0x04 (0x0404)
langTradChinese
19
Corsican
co
Croatian
hr
LANG_CROATIAN
0x1a
langCroatian
18
Czech
cs
LANG_CZECH
0x05
langCzech
38
Danish
da
LANG_DANISH
0x06
langDanish
7
Divehi
LANG_DIVEHI
0x65
Dutch
nl
LANG_DUTCH
0x13
langDutch
4
Edo
(no constant defined)
0x66
English
en
LANG_ENGLISH
0x09
langEnglish
0
Esperanto
eo
langEsperanto
94
Estonian
et
LANG_ESTONIAN
0x25
langEstonian
27
Faeroese
fo
LANG_FAEROESE
0x38
langFaeroese
30
Farsi
fa
LANG_FARSI
0x29
langFarsi, langPersian
31
Fiji
fj
Finnish
fi
LANG_FINNISH
0x0b
langFinnish
13
Flemish
LANG_DUTCH (SUBLANG_DUTCH_BELGIAN)
0x13 (0x0813)
langFlemish
34
French
fr
LANG_FRENCH
0x0c
langFrench
1
Frisian
fy
(no constant defined)
0x62
Fulfulde
(no constant defined)
0x67
Galician
gl
LANG_GALICIAN
0x56
langGalician
140
Gaelic (Scottish)
gd
(no constant defined)
0x3c (0x043c)
langScottishGaelic
144
Gaelic (Manx)
gv
langManxGaelic
145
Georgian
ka
LANG_GEORGIAN
0x37
langGeorgian
52
German
de
LANG_GERMAN
0x07
langGerman
2
Greek
el
LANG_GREEK
0x08
langGreek (monotonic), langGreekPoly (polytonic)
14(m), 148(p)
Greenlandic
kl
Guarani
gn
(no constant defined)
0x74
langGuarani
133
Gujarati
gu
LANG_GUJARATI
0x47
langGujarati
69
Hausa
ha
(no constant defined)
0x68
Hawaiian
(no constant defined)
0x75
Hebrew
he, iw*
LANG_HEBREW
0x0d
langHebrew
10
Hindi
hi
LANG_HINDI
0x39
langHindi
21
Hungarian
hu
LANG_HUNGARIAN
0x0e
langHungarian
26
Ibibio
(no constant defined)
0x69
Icelandic
is
LANG_ICELANDIC
0x0f
langIcelandic
15
Igbo
(no constant defined)
0x70
Indonesian
id, in*
LANG_INDONESIAN
0x21
langIndonesian
81
Interlingua
ia
Interlingue
ie
Inuktitut
iu
(no constant defined)
0x5d
langInuktitut
143
Inupiak
ik
Irish
ga
(no constant defined)
0x3c (0x083c)
langIrishGaelic (normal), langIrishGaelicScr (dots above)
35, 146
Italian
it
LANG_ITALIAN
0x10
langItalian
3
Japanese
ja
LANG_JAPANESE
0x11
langJapanese
11
Javanese
jv
langJavaneseRom
138
Kannada
kn
LANG_KANNADA
0x4b
langKannada
73
Kanuri
(no constant defined)
0x71
Kashmiri
ks
LANG_KASHMIRI
0x60
langKashmiri
61
Kazakh
kk
LANG_KAZAK
0x3f
langKazakh
48
Kinyarwanda (Ruanda)
rw
langKiryarwanda (langRuanda)
90
Kirghiz
ky
LANG_KYRGYZ
0x40
langKirghiz
54
Kirundi (Rundi)
rn
langRundi
91
Konkani
LANG_KONKANI
0x57
Korean
ko
LANG_KOREAN
0x12
langKorean
23
Kurdish
ku
langKurdish
60
Laothian
lo
(no constant defined)
0x54
langLao
79
Latin
la
(no constant defined)
0x76
langLatin
131
Latvian (Lettish)
lv
LANG_LATVIAN
0x26
langLatvian
28
Limburgish ( Limburger)
li
Lingala
ln
Lithuanian
lt
LANG_LITHUANIAN
0x27
langLithuanian
24
Macedonian
mk
LANG_MACEDONIAN
0x2f
langMacedonian
43
Malagasy
mg
langMalagasy
93
Malay
ms
LANG_MALAY
0x3e
langMalayRoman(Latin), langMalayArabic(Arabic)
83(L), 84(A)
Malayalam
ml
LANG_MALAYALAM
0x4c
langMalayalam
72
LANG_MANIPURI
0x58
Maltese
mt
(no constant defined)
0x3a
langMaltese
16
Maori
mi
Marathi
mr
LANG_MARATHI
0x4e
langMarathi
66
Moldavian
mo
langMoldavian
53
Mongolian
mn
LANG_MONGOLIAN
0x50
langMongolian(Mongolian), langMongolianCyr(Cyrillic)
57(M), 58(C)
Nauru
na
Nepali
ne
LANG_NEPALI
0x61
langNepali
64
Norwegian
no
LANG_NORWEGIAN
0x14
langNorwegian
9
Occitan
oc
Oriya
or
LANG_ORIYA
0x48
langOriya
71
Oromo (Afan, Galla)
om
(no constant defined)
0x72
langOromo (langGalla)
87
Papiamentu
(no constant defined)
0x79
Pashto (Pushto)
ps
(no constant defined)
0x63
langPashto
59
Polish
pl
LANG_POLISH
0x15
langPolish
25
Portuguese
pt
LANG_PORTUGUESE
0x16
langPortuguese
8
Punjabi
pa
LANG_PUNJABI
0x46
langPunjabi
70
Quechua
qu
langQuechua
132
Rhaeto-Romance
rm
(no constant defined)
0x17
Romanian
ro
LANG_ROMANIAN
0x18
langRomanian
37
Russian
ru
LANG_RUSSIAN
0x19
langRussian
32
Sami (Lappish)
(no constant defined)
0x3b
langSami (langLappish)
29
Samoan
sm
Sangro
sg
Sanskrit
sa
LANG_SANSKRIT
0x4f
langSanskrit
65
Serbian
sr
LANG_SERBIAN (SUBLANG_SERBIAN_LATIN or SUBLANG_SERBIAN_CYRILLIC)
0x1a (0x081a or 0x0c1a)
langSerbian
42
Serbo-Croatian
sh
Sesotho
st
Setswana
tn
Shona
sn
Sindhi
sd
LANG_SINDHI
0x59
langSindhi
62
Sinhalese
si
(no constant defined)
0x5b
langSinhalese
76
Siswati
ss
Slovak
sk
LANG_SLOVAK
0x1b
langSlovak
39
Slovenian
sl
LANG_SLOVENIAN
0x24
langSlovenian
40
Somali
so
(no constant defined)
0x77
langSomali
88
Spanish
es
LANG_SPANISH
0x0a
langSpanish
6
Sundanese
su
langSundaneseRom
139
Swahili (Kiswahili)
sw
LANG_SWAHILI
0x41
langSwahili
89
Swedish
sv
LANG_SWEDISH
0x1d
langSwedish
5
Syriac
LANG_SYRIAC
0x5a
Tagalog
tl
(no constant defined)
0x64
langTagalog
82
Tajik
tg
(no constant defined)
0x28
langTajiki
55
Tamazight
(no constant defined)
0x5f
Tamil
ta
LANG_TAMIL
0x49
langTamil
74
Tatar
tt
LANG_TATAR
0x44
langTatar
135
Telugu
te
LANG_TELUGU
0x4a
langTelugu
75
Thai
th
LANG_THAI
0x1e
langThai
22
Tibetan
bo
(no constant defined)
0x51
langTibetan
63
Tigrinya
ti
(no constant defined)
0x73
langTigrinya
86
Tonga
to
langTongan
147
Tsonga
ts
(no constant defined)
0x31
Turkish
tr
LANG_TURKISH
0x1f
langTurkish
17
Turkmen
tk
(no constant defined)
0x42
langTurkmen
56
Twi
tw
Uighur
ug
langUighur
136
Ukrainian
uk
LANG_UKRAINIAN
0x22
langUkrainian
45
Urdu
ur
LANG_URDU
0x20
langUrdu
20
Uzbek
uz
LANG_UZBEK
0x43
langUzbek
47
Venda
(no constant defined)
0x33
Vietnamese
vi
LANG_VIETNAMESE
0x2a
langVietnamese
80
Volapük
vo
Welsh
cy
(no constant defined)
0x52
langWelsh
128
Wolof
wo
Xhosa
xh
(no constant defined)
0x34
Yi
(no constant defined)
0x78
Yiddish
yi, ji*
(no constant defined)
0x3d
langYiddish
41
Yoruba
yo
(no constant defined)
0x6a
Zulu
zu
(no constant defined)
0x35