Language Codes: ISO 639, Microsoft and Macintosh___收藏

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     

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章