From Afrikaans to Yoruba.


Today someone asked me whether there is anywhere on the internet that customers can find the Vista locale list. Several of us have blogged about custom locales and the ways in which customers might use them, but I wanted to post the full list of built-in Windows locales here so that is is convenient for people to find. The following is the full list of locales that went into the recently available Vista release candidate, along with their LCIDs and string-based identifiers:




















































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































































0436 af-ZA Afrikaans South Africa
041c sq-AL Albanian Albania
0484 gsw-FR Alsatian France
045e am-ET Amharic Ethiopia
0401 ar-SA Arabic Saudi Arabia
0801 ar-IQ Arabic Iraq
0c01 ar-EG Arabic Egypt
1001 ar-LY Arabic Libya
1401 ar-DZ Arabic Algeria
1801 ar-MA Arabic Morocco
1c01 ar-TN Arabic Tunisia
2001 ar-OM Arabic Oman
2401 ar-YE Arabic Yemen
2801 ar-SY Arabic Syria
2c01 ar-JO Arabic Jordan
3001 ar-LB Arabic Lebanon
3401 ar-KW Arabic Kuwait
3801 ar-AE Arabic U.A.E.
3c01 ar-BH Arabic Bahrain
4001 ar-QA Arabic Qatar
042b hy-AM Armenian Armenia
044d as-IN Assamese India
082c az-Cyrl-AZ Azeri (Cyrillic) Azerbaijan
042c az-Latn-AZ Azeri (Latin) Azerbaijan
046d ba-RU Bashkir Russia
042d eu-ES Basque Basque
0423 be-BY Belarusian Belarus
0445 bn-IN Bengali India
0845 bn-BD Bengali Bangladesh
201a bs-Cyrl-BA Bosnian (Cyrillic) Bosnia and Herzegovina
141a bs-Latn-BA Bosnian (Latin) Bosnia and Herzegovina
047e br-FR Breton France
0402 bg-BG Bulgarian Bulgaria
0403 ca-ES Catalan Catalan
0404 zh-TW Chinese Taiwan
0804 zh-CN Chinese PRC
0c04 zh-HK Chinese Hong Kong SAR
1004 zh-SG Chinese Singapore
1404 zh-MO Chinese Macao SAR
0483 co-FR Corsican France
041a hr-HR Croatian Croatia
101a hr-BA Croatian (Latin) Bosnia and Herzegovina
0405 cs-CZ Czech Czech Republic
0406 da-DK Danish Denmark
048c prs-AF Dari Afghanistan
0465 dv-MV Divehi Maldives
0813 nl-BE Dutch Belgium
0413 nl-NL Dutch Netherlands
1009 en-CA English Canada
2009 en-JM English Jamaica
2409 en-029 English Caribbean
2809 en-BZ English Belize
2c09 en-TT English Trinidad
0809 en-GB English United Kingdom
1809 en-IE English Ireland
4009 en-IN English India
1c09 en-ZA English South Africa
3009 en-ZW English Zimbabwe
0c09 en-AU English Australia
1409 en-NZ English New Zealand
3409 en-PH English Philippines
0409 en-US English United States
4409 en-MY English Malaysia
4809 en-SG English Singapore
0425 et-EE Estonian Estonia
0438 fo-FO Faroese Faroe Islands
0464 fil-PH Filipino Philippines
040b fi-FI Finnish Finland
0c0c fr-CA French Canada
040c fr-FR French France
180c fr-MC French Monaco
100c fr-CH French Switzerland
080c fr-BE French Belgium
140c fr-LU French Luxembourg
0462 fy-NL Frisian Netherlands
0456 gl-ES Galician Galician
0437 ka-GE Georgian Georgia
0407 de-DE German Germany
0807 de-CH German Switzerland
0c07 de-AT German Austria
1407 de-LI German Liechtenstein
1007 de-LU German Luxembourg
0408 el-GR Greek Greece
046f kl-GL Greenlandic Greenland
0447 gu-IN Gujarati India
0468 ha-Latn-NG Hausa Nigeria
040d he-IL Hebrew Israel
0439 hi-IN Hindi India
040e hu-HU Hungarian Hungary
040f is-IS Icelandic Iceland
0470 ig-NG Igbo Nigeria
0421 id-ID Indonesian Indonesia
045d iu-Cans-CA Inukitut (Syllabics) Canada
085d iu-Latn-CA Inuktitut (Latin) Canada
083c ga-IE Irish Ireland
0434 xh-ZA isiXhosa South Africa
0435 zu-ZA isiZulu South Africa
0410 it-IT Italian Italy
0810 it-CH Italian Switzerland
0411 ja-JP Japanese Japan
044b kn-IN Kannada India
043f kk-KZ Kazakh Kazakhstan
0453 km-KH Khmer Cambodia
0486 qut-GT K’iche Guatemala
0487 rw-RW Kinyarwanda Rwanda
0441 sw-KE Kiswahili Kenya
0457 kok-IN Konkani India
0412 ko-KR Korean Korea
0440 ky-KG Kyrgyz Kyrgyzistan
0454 lo-LA Lao Lao P.D.R.
0426 lv-LV Latvian Latvia
0427 lt-LT Lithuanian Lithuania
082e dsb-DE Lower Sorbian Germany
046e lb-LU Luxembourgish Luxembourg
042f mk-MK Macedonian (FYROM) Macedonia (FYROM)
043e ms-MY Malay Malaysia
083e ms-BN Malay Brunei Darussalam
044c ml-IN Malayalam India
043a mt-MT Maltese Malta
0481 mi-NZ Maori New Zealand
047a arn-CL Mapudungun Chile
044e mr-IN Marathi India
047c moh-CA Mohawk Mohawk
0450 mn-MN Mongolian (Cyrillic) Mongolia
0850 mn-Mong-CN Mongolian (Mongolian) PRC
0461 ne-NP Nepali Nepal
0414 nb-NO Norwegian (Bokmål) Norway
0814 nn-NO Norwegian (Nynorsk) Norway
0482 oc-FR Occitan France
0448 or-IN Oriya India
0463 ps-AF Pashto Afghanistan
0429 fa-IR Persian Iran
0415 pl-PL Polish Poland
0416 pt-BR Portuguese Brazil
0816 pt-PT Portuguese Portugal
0446 pa-IN Punjabi (Gurmukhi) India
046b quz-BO Quechua Bolivia
086b quz-EC Quechua Ecuador
0c6b quz-PE Quechua Peru
0418 ro-RO Romanian Romania
0417 rm-CH Romansh Switzerland
0419 ru-RU Russian Russia
243b smn-FI Sami, Inari Finland
143b smj-SE Sami, Lule Sweden
103b smj-NO Sami, Lule Norway
043b se-NO Sami, Northern Norway
083b se-SE Sami, Northern Sweden
0c3b se-FI Sami, Northern Finland
203b sms-FI Sami, Skolt Finland
183b sma-NO Sami, Southern Norway
1c3b sma-SE Sami, Southern Sweden
044f sa-IN Sanskrit India
0c1a sr-Cyrl-CS Serbian (Cyrillic) Serbia
1c1a sr-Cyrl-BA Serbian (Cyrillic) Bosnia and Herzegovina
081a sr-Latn-CS Serbian (Latin) Serbia
181a sr-Latn-BA Serbian (Latin) Bosnia and Herzegovina
046c nso-ZA Sesotho sa Leboa South Africa
0432 tn-ZA Setswana South Africa
045b si-LK Sinhala Sri Lanka
041b sk-SK Slovak Slovakia
0424 sl-SI Slovenian Slovenia
080a es-MX Spanish Mexico
100a es-GT Spanish Guatemala
140a es-CR Spanish Costa Rica
180a es-PA Spanish Panama
1c0a es-DO Spanish Dominican Republic
200a es-VE Spanish Venezuela
240a es-CO Spanish Colombia
280a es-PE Spanish Peru
2c0a es-AR Spanish Argentina
300a es-EC Spanish Ecuador
340a es-CL Spanish Chile
3c0a es-PY Spanish Paraguay
400a es-BO Spanish Bolivia
440a es-SV Spanish El Salvador
480a es-HN Spanish Honduras
4c0a es-NI Spanish Nicaragua
500a es-PR Spanish Puerto Rico
540a es-US Spanish United States
380a es-UY Spanish Uruguay
0c0a es-ES Spanish (International Sort) Spain
040a es-ES_tradnl Spanish (Traditional Sort) Spain
041d sv-SE Swedish Sweden
081d sv-FI Swedish Finland
045a syr-SY Syriac Syria
0428 tg-Cyrl-TJ Tajik Tajikistan
085f tzm-Latn-DZ Tamazight (Latin) Algeria
0449 ta-IN Tamil India
0444 tt-RU Tatar Russia
044a te-IN Telugu India
041e th-TH Thai Thailand
0451 bo-CN Tibetan PRC
041f tr-TR Turkish Turkey
0442 tk-TM Turkmen Turkmenistan
0480 ug-CN Uighur PRC
0422 uk-UA Ukrainian Ukraine
042e wen-DE Upper Sorbian Germany
0420 ur-PK Urdu Pakistan
0843 uz-Cyrl-UZ Uzbek (Cyrillic) Uzbekistan
0443 uz-Latn-UZ Uzbek (Latin) Uzbekistan
042a vi-VN Vietnamese Vietnam
0452 cy-GB Welsh United Kingdom
0488 wo-SN Wolof Senegal
0485 sah-RU Yakut Russia
0478 ii-CN Yi PRC
046a yo-NG Yoruba Nigeria

Comments (10)

  1. The big master list of locales that Microsoft has assigned LCID values for is quite large and even includes

  2. Marc Brooks says:

    Where can I get this in a usable format (say XML in UTF-8 or UTF-16), preferably with a native name for each language/culture as well…

  3. Norbert Schulze says:

    Which C(++) functions do I need to get these string-based identifiers (e.g. de-DE) for the current users locale on Windows XP?

    Regards, Norbert

  4. KieranS says:

    Marc: We don’t have a list of the sort that you specify at the ready; however, you could generate it by using our APIs on a Vista machine. You would need to use EnumSystemLocalesEx() to enumerate this full set, followed by GetLocaleInfoEx() for each item enumerated to get the native name. I hope this helps!

  5. KieranS says:

    Norbert: You can use DownlevelLCIDToLocaleName(). It takes an LCID and returns the Vista locale name. You’ll need to get a download package in order for this to work. For more information, please see: http://msdn2.microsoft.com/en-us/library/ms776348.aspx

  6. i18n says:

    I’m always curious when I see these list.  And in fact wonder why Vista never sorted this out.  Why exactly do we need LCID’s after all the locale specifier e.g. af-ZA is enough.  Someone will say performace I guess, somehow I doubt that is really valid on modern hardware.  It just seems a terrible limiter as each language needs to get an LCID you can’t just add new ones like you can on Unix like systems.

    The other thing that always makes me curious.  And I guess its the African languages written in Latin script phenomenon.  We don’t write any other languaegs in their native name, if we did we wouldn’t be able to read many of them.  Yet we write isiXosa, isiZulu, Sesotho sa Leboe, Kiswahili, Kinyarawandon, etc.  In English they should be Xhosa, Zulu, Northern Sotho, Swahili and Rwandan.  Weird really.  Its not as if this is a list for mother tongue speakers to find the language.  I like what GNOME did with their interface selection ideas.  They give the English name (or the names translated into the current locale) and then next to that the native name.  So that a native speaker can actually find the language to switch into it.  Just weird without knowing the languages I bet nobody could actually work out the Sesoth sa Leboa is Northern Sotho. Smacks to me of some activists getting their way when its actually comptuers that have the problem.  I guess we’ll have to start maintaining lists that back translate the names into the language of the interface.

  7. KieranS says:

    Good question about LCIDs. You are exactly correct that needing an LCID has been a blocker for people in the past, which is why we’ve introduced a set of comparable APIs that take strings instead (just as people will be able to use strings (and not LCIDs) to identify as many custom locales as they like). So as of Vista, it is no longer the case that you need LCIDs to add support for new locales! In fact, at some point once people have had enough time to adopt the string-based APIs, any locales that we add in the box will also no longer receive LCIDs.

    As for your question about African language names, strictly speaking you are correct. We went with the names we went with because we had strong feedback indicating that this was the expectation of customers in the region. It’s definitely a subject that seems to lack full consensus, and I could see it either way.We went the way we did because of the feedback we have had to date. Given enough feedback to the contrary, we might re-evaluate.

  8. AfroJ says:

    Is there a way to install locales that exist

    only in vista (like am-et)in XP or Win2003 Server.Pherhaps as a service packe or something?

Skip to main content