Ritesh’s Technical Blog

What is 1033

Posted on: September 19, 2008

1033 is the locale identifier for “English (United States)”, whose hexadecimal value is 0x0409. Locale identifier tells about the the language that is used in a particular region. The purpose of the document is to help developers who are defining NLS services (sorting, time/date formatting, and keyboards/IMEs) for locales that do not yet have native support in Windows to avoid conflict.

here is a list of LCID (Locale identifier)

Language – Country/Region LCID Hex LCID Dec

Afrikaans – South Africa

0436

1078

Albanian – Albania

041c

1052

Amharic – Ethiopia

045e

1118

Arabic – Saudi Arabia

0401

1025

Arabic – Algeria

1401

5121

Arabic – Bahrain

3c01

15361

Arabic – Egypt

0c01

3073

Arabic – Iraq

0801

2049

Arabic – Jordan

2c01

11265

Arabic – Kuwait

3401

13313

Arabic – Lebanon

3001

12289

Arabic – Libya

1001

4097

Arabic – Morocco

1801

6145

Arabic – Oman

2001

8193

Arabic – Qatar

4001

16385

Arabic – Syria

2801

10241

Arabic – Tunisia

1c01

7169

Arabic – U.A.E.

3801

14337

Arabic – Yemen

2401

9217

Armenian – Armenia

042b

1067

Assamese

044d

1101

Azeri (Cyrillic)

082c

2092

Azeri (Latin)

042c

1068

Basque

042d

1069

Belarusian

0423

1059

Bengali (India)

0445

1093

Bengali (Bangladesh)

0845

2117

Bosnian (Bosnia/Herzegovina)

141A

5146

Bulgarian

0402

1026

Burmese

0455

1109

Catalan

0403

1027

Cherokee – United States

045c

1116

Chinese – People’s Republic of China

0804

2052

Chinese – Singapore

1004

4100

Chinese – Taiwan

0404

1028

Chinese – Hong Kong SAR

0c04

3076

Chinese – Macao SAR

1404

5124

Croatian

041a

1050

Croatian (Bosnia/Herzegovina)

101a

4122

Czech

0405

1029

Danish

0406

1030

Divehi

0465

1125

Dutch – Netherlands

0413

1043

Dutch – Belgium

0813

2067

Edo

0466

1126

English – United States

0409

1033

English – United Kingdom

0809

2057

English – Australia

0c09

3081

English – Belize

2809

10249

English – Canada

1009

4105

English – Caribbean

2409

9225

English – Hong Kong SAR

3c09

15369

English – India

4009

16393

English – Indonesia

3809

14345

English – Ireland

1809

6153

English – Jamaica

2009

8201

English – Malaysia

4409

17417

English – New Zealand

1409

5129

English – Philippines

3409

13321

English – Singapore

4809

18441

English – South Africa

1c09

7177

English – Trinidad

2c09

11273

English – Zimbabwe

3009

12297

Estonian

0425

1061

Faroese

0438

1080

Farsi

0429

1065

Filipino

0464

1124

Finnish

040b

1035

French – France

040c

1036

French – Belgium

080c

2060

French – Cameroon

2c0c

11276

French – Canada

0c0c

3084

French – Democratic Rep. of Congo

240c

9228

French – Cote d’Ivoire

300c

12300

French – Haiti

3c0c

15372

French – Luxembourg

140c

5132

French – Mali

340c

13324

French – Monaco

180c

6156

French – Morocco

380c

14348

French – North Africa

e40c

58380

French – Reunion

200c

8204

French – Senegal

280c

10252

French – Switzerland

100c

4108

French – West Indies

1c0c

7180

Frisian – Netherlands

0462

1122

Fulfulde – Nigeria

0467

1127

FYRO Macedonian

042f

1071

Gaelic (Ireland)

083c

2108

Gaelic (Scotland)

043c

1084

Galician

0456

1110

Georgian

0437

1079

German – Germany

0407

1031

German – Austria

0c07

3079

German – Liechtenstein

1407

5127

German – Luxembourg

1007

4103

German – Switzerland

0807

2055

Greek

0408

1032

Guarani – Paraguay

0474

1140

Gujarati

0447

1095

Hausa – Nigeria

0468

1128

Hawaiian – United States

0475

1141

Hebrew

040d

1037

Hindi

0439

1081

Hungarian

040e

1038

Ibibio – Nigeria

0469

1129

Icelandic

040f

1039

Igbo – Nigeria

0470

1136

Indonesian

0421

1057

Inuktitut

045d

1117

Italian – Italy

0410

1040

Italian – Switzerland

0810

2064

Japanese

0411

1041

Kannada

044b

1099

Kanuri – Nigeria

0471

1137

Kashmiri

0860

2144

Kashmiri (Arabic)

0460

1120

Kazakh

043f

1087

Khmer

0453

1107

Konkani

0457

1111

Korean

0412

1042

Kyrgyz (Cyrillic)

0440

1088

Lao

0454

1108

Latin

0476

1142

Latvian

0426

1062

Lithuanian

0427

1063

Malay – Malaysia

043e

1086

Malay – Brunei Darussalam

083e

2110

Malayalam

044c

1100

Maltese

043a

1082

Manipuri

0458

1112

Maori – New Zealand

0481

1153

Marathi

044e

1102

Mongolian (Cyrillic)

0450

1104

Mongolian (Mongolian)

0850

2128

Nepali

0461

1121

Nepali – India

0861

2145

Norwegian (Bokmål)

0414

1044

Norwegian (Nynorsk)

0814

2068

Oriya

0448

1096

Oromo

0472

1138

Papiamentu

0479

1145

Pashto

0463

1123

Polish

0415

1045

Portuguese – Brazil

0416

1046

Portuguese – Portugal

0816

2070

Punjabi

0446

1094

Punjabi (Pakistan)

0846

2118

Quecha – Bolivia

046B

1131

Quecha – Ecuador

086B

2155

Quecha – Peru

0C6B

3179

Rhaeto-Romanic

0417

1047

Romanian

0418

1048

Romanian – Moldava

0818

2072

Russian

0419

1049

Russian – Moldava

0819

2073

Sami (Lappish)

043b

1083

Sanskrit

044f

1103

Sepedi

046c

1132

Serbian (Cyrillic)

0c1a

3098

Serbian (Latin)

081a

2074

Sindhi – India

0459

1113

Sindhi – Pakistan

0859

2137

Sinhalese – Sri Lanka

045b

1115

Slovak

041b

1051

Slovenian

0424

1060

Somali

0477

1143

Sorbian

042e

1070

Spanish – Spain (Modern Sort)

0c0a

3082

Spanish – Spain (Traditional Sort)

040a

1034

Spanish – Argentina

2c0a

11274

Spanish – Bolivia

400a

16394

Spanish – Chile

340a

13322

Spanish – Colombia

240a

9226

Spanish – Costa Rica

140a

5130

Spanish – Dominican Republic

1c0a

7178

Spanish – Ecuador

300a

12298

Spanish – El Salvador

440a

17418

Spanish – Guatemala

100a

4106

Spanish – Honduras

480a

18442

Spanish – Latin America

e40a

58378

Spanish – Mexico

080a

2058

Spanish – Nicaragua

4c0a

19466

Spanish – Panama

180a

6154

Spanish – Paraguay

3c0a

15370

Spanish – Peru

280a

10250

Spanish – Puerto Rico

500a

20490

Spanish – United States

540a

21514

Spanish – Uruguay

380a

14346

Spanish – Venezuela

200a

8202

Sutu

0430

1072

Swahili

0441

1089

Swedish

041d

1053

Swedish – Finland

081d

2077

Syriac

045a

1114

Tajik

0428

1064

Tamazight (Arabic)

045f

1119

Tamazight (Latin)

085f

2143

Tamil

0449

1097

Tatar

0444

1092

Telugu

044a

1098

Thai

041e

1054

Tibetan – Bhutan

0851

2129

Tibetan – People’s Republic of China

0451

1105

Tigrigna – Eritrea

0873

2163

Tigrigna – Ethiopia

0473

1139

Tsonga

0431

1073

Tswana

0432

1074

Turkish

041f

1055

Turkmen

0442

1090

Uighur – China

0480

1152

Ukrainian

0422

1058

Urdu

0420

1056

Urdu – India

0820

2080

Uzbek (Cyrillic)

0843

2115

Uzbek (Latin)

0443

1091

Venda

0433

1075

Vietnamese

042a

1066

Welsh

0452

1106

Xhosa

0434

1076

Yi

0478

1144

Yiddish

043d

1085

Yoruba

046a

1130

Zulu

0435

1077

HID (Human Interface Device)

04ff

1279

The value of a locale identifier is given by the formula (read more…….)

primary language + 1024 * sub-language

For example, Swiss German is LANG_GERMAN + 1024 * SUBLANG_GERMAN_SWISS = 7 + 1024 * 2 = 2055.

list of primary language and sub language

Primary Language Identifiers

The following are the primary language identifiers. They can be combined with secondary language identifiers to form language identifiers.

Identifier Prefined Symbol Language
0x00 LANG_NEUTRAL Neutral
0x01 LANG_ARABIC Arabic
0x02 LANG_BULGARIAN Bulgarian
0x03 LANG_CATALAN Catalan
0x04 LANG_CHINESE Chinese
0x05 LANG_CZECH Czech
0x06 LANG_DANISH Danish
0x07 LANG_GERMAN German
0x08 LANG_GREEK Greek
0x09 LANG_ENGLISH English
0x0a LANG_SPANISH Spanish
0x0b LANG_FINNISH Finnish
0x0c LANG_FRENCH French
0x0d LANG_HEBREW Hebrew
0x0e LANG_HUNGARIAN Hungarian
0x0f LANG_ICELANDIC Icelandic
0x10 LANG_ITALIAN Italian
0x11 LANG_JAPANESE Japanese
0x12 LANG_KOREAN Korean
0x13 LANG_DUTCH Dutch
0x14 LANG_NORWEGIAN Norwegian
0x15 LANG_POLISH Polish
0x16 LANG_PORTUGUESE Portuguese
0x18 LANG_ROMANIAN Romanian
0x19 LANG_RUSSIAN Russian
0x1a LANG_CROATIAN Croatian
0x1a LANG_SERBIAN Serbian
0x1b LANG_SLOVAK Slovak
0x1c LANG_ALBANIAN Albanian
0x1d LANG_SWEDISH Swedish
0x1e LANG_THAI Thai
0x1f LANG_TURKISH Turkish
0x20 LANG_URDU Urdu
0x21 LANG_INDONESIAN Indonesian
0x22 LANG_UKRANIAN Ukrainian
0x23 LANG_BELARUSIAN Belarusian
0x24 LANG_SLOVENIAN Slovenian
0x25 LANG_ESTONIAN Estonian
0x26 LANG_LATVIAN Latvian
0x27 LANG_LITHUANIAN Lithuanian
0x29 LANG_FARSI Farsi
0x2a LANG_VIETNAMESE Vietnamese
0x2b LANG_ARMENIAN Armenian
0x2c LANG_AZERI Azeri
0x2d LANG_BASQUE Basque
0x2f LANG_MACEDONIAN Macedonian
0x36 LANG_AFRIKAANS Afrikaans
0x37 LANG_GEORGIAN Georgian
0x38 LANG_FAEROESE Faeroese
0x39 LANG_HINDI Hindi
0x3e LANG_MALAY Malay
0x3f LANG_KAZAK Kazak
0x41 LANG_SWAHILI Swahili
0x43 LANG_UZBEK Uzbek
0x44 LANG_TATAR Tatar
0x45 LANG_BENGALI Bengali
0x46 LANG_PUNJABI Punjabi
0x47 LANG_GUJARATI Gujarati
0x48 LANG_ORIYA Oriya
0x49 LANG_TAMIL Tamil
0x4a LANG_TELUGU Telugu
0x4b LANG_KANNADA Kannada
0x4c LANG_MALAYALAM Malayalam
0x4d LANG_ASSAMESE Assamese
0x4e LANG_MARATHI Marathi
0x4f LANG_SANSKRIT Sanskrit
0x57 LANG_KONKANI Konkani
0x58 LANG_MANIPURI Manipuri
0x59 LANG_SINDHI Sindhi
0x60 LANG_KASHMIRI Kashmiri
0x61 LANG_NEPALI Nepali

Secondary Language Identifiers

The following are secondary language identifiers. They can be combined with primary language identifiers to form language identifiers.

Identifier Predefined Symbol Language
0x00 SUBLANG_NEUTRAL Neutral
0x01 SUBLANG_DEFAULT Default
0x02 SUBLANG_SYS_DEFAULT System Default
0x01 SUBLANG_ARABIC_SAUDI_ARABIA Arabic (Saudi Arabia)
0x02 SUBLANG_ARABIC_IRAQ Arabic (Iraq)
0x03 SUBLANG_ARABIC_EGYPT Arabic (Egypt)
0x04 SUBLANG_ARABIC_LIBYA Arabic (Libya)
0x05 SUBLANG_ARABIC_ALGERIA Arabic (Algeria)
0x06 SUBLANG_ARABIC_MOROCCO Arabic (Morocco)
0x07 SUBLANG_ARABIC_TUNISIA Arabic (Tunisia)
0x08 SUBLANG_ARABIC_OMAN Arabic (Oman)
0x09 SUBLANG_ARABIC_YEMEN Arabic (Yemen)
0x10 SUBLANG_ARABIC_SYRIA Arabic (Syria)
0x11 SUBLANG_ARABIC_JORDAN Arabic (Jordan)
0x12 SUBLANG_ARABIC_LEBANON Arabic (Lebanon)
0x13 SUBLANG_ARABIC_KUWAIT Arabic (Kuwait)
0x14 SUBLANG_ARABIC_UAE Arabic (U.A.E.)
0x15 SUBLANG_ARABIC_BAHRAIN Arabic (Bahrain)
0x16 SUBLANG_ARABIC_QATAR Arabic (Qatar)
0x01 SUBLANG_AZERI_CYRILLIC Azeri (Latin)
0x02 SUBLANG_AZERI_LATIN Azeri (Cyrillic)
0x01 SUBLANG_CHINESE_TRADITIONAL Chinese (Traditional)
0x02 SUBLANG_CHINESE_SIMPLIFIED Chinese (Simplified)
0x03 SUBLANG_CHINESE_HONGKONG Chinese (Hong Kong SAR, PRC)
0x04 SUBLANG_CHINESE_SINGAPORE Chinese (Singapore)
0x05 SUBLANG_CHINESE_MACAU Chinese (Macau)
0x01 SUBLANG_DUTCH Dutch
0x02 SUBLANG_DUTCH_BELGIAN Dutch (Belgian)
0x01 SUBLANG_ENGLISH_US English (US)
0x02 SUBLANG_ENGLISH_UK English (UK)
0x03 SUBLANG_ENGLISH_AUS English (Australian)
0x04 SUBLANG_ENGLISH_CAN English (Canadian)
0x05 SUBLANG_ENGLISH_NZ English (New Zealand)
0x06 SUBLANG_ENGLISH_EIRE English (Ireland)
0x07 SUBLANG_ENGLISH_SOUTH_AFRICA English (South Africa)
0x08 SUBLANG_ENGLISH_JAMAICA English (Jamaica)
0x09 SUBLANG_ENGLISH_CARIBBEAN English (Caribbean)
0x0a SUBLANG_ENGLISH_BELIZE English (Belize)
0x0b SUBLANG_ENGLISH_TRINIDAD English (Trinidad)
0x0c SUBLANG_ENGLISH_PHILIPPINES English (Zimbabwe)
0x0d SUBLANG_ENGLISH_ZIMBABWE English (Philippines)
0x01 SUBLANG_FRENCH French
0x02 SUBLANG_FRENCH_BELGIAN French (Belgian)
0x03 SUBLANG_FRENCH_CANADIAN French (Canadian)
0x04 SUBLANG_FRENCH_SWISS French (Swiss)
0x05 SUBLANG_FRENCH_LUXEMBOURG French (Luxembourg)
0x06 SUBLANG_FRENCH_MONACO French (Monaco)
0x01 SUBLANG_GERMAN German
0x02 SUBLANG_GERMAN_SWISS German (Swiss)
0x03 SUBLANG_GERMAN_AUSTRIAN German (Austrian)
0x04 SUBLANG_GERMAN_LUXEMBOURG German (Luxembourg)
0x05 SUBLANG_GERMAN_LIECHTENSTEIN German (Liechtenstein)
0x01 SUBLANG_ITALIAN Italian
0x02 SUBLANG_ITALIAN_SWISS Italian (Swiss)
0x02 SUBLANG_KASHMIRI_INDIA Kashmiri (India)
0x01 SUBLANG_KOREAN Korean
0x01 SUBLANG_LITHUANIAN Lithuanian
0x02 SUBLANG_LITHUANIAN_CLASSIC Lithuanian (Classic)
0x01 SUBLANG_MALAY_MALAYSIA Malay (Malaysia)
0x02 SUBLANG_MALAY_BRUNEI_DARUSSALAM Malay (Brunei Darassalam)
0x02 SUBLANG_NEPALI_INDIA Nepali (India)
0x01 SUBLANG_NORWEGIAN_BOKMAL Norwegian (Bokmal)
0x02 SUBLANG_NORWEGIAN_NYNORSK Norwegian (Nynorsk)
0x01 SUBLANG_PORTUGUESE Portuguese (Brazilian)
0x02 SUBLANG_PORTUGUESE_BRAZILIAN Portuguese
0x02 SUBLANG_SERBIAN_LATIN Serbian (Latin)
0x03 SUBLANG_SERBIAN_CYRILLIC Serbian (Cyrillic)
0x01 SUBLANG_SPANISH Spanish (Castilian)
0x02 SUBLANG_SPANISH_MEXICAN Spanish (Mexican)
0x03 SUBLANG_SPANISH_MODERN Spanish (Modern)
0x04 SUBLANG_SPANISH_GUATEMALA Spanish (Guatemala)
0x05 SUBLANG_SPANISH_COSTA_RICA Spanish (Costa Rica)
0x06 SUBLANG_SPANISH_PANAMA Spanish (Panama)
0x07 SUBLANG_SPANISH_DOMINICAN_REPUBLIC Spanish (Dominican Republic)
0x08 SUBLANG_SPANISH_VENEZUELA Spanish (Venezuela)
0x09 SUBLANG_SPANISH_COLOMBIA Spanish (Colombia)
0x0a SUBLANG_SPANISH_PERU Spanish (Peru)
0x0b SUBLANG_SPANISH_ARGENTINA Spanish (Argentina)
0x0c SUBLANG_SPANISH_ECUADOR Spanish (Ecuador)
0x0d SUBLANG_SPANISH_CHILE Spanish (Chile)
0x0e SUBLANG_SPANISH_URUGUAY Spanish (Uruguay)
0x0f SUBLANG_SPANISH_PARAGUAY Spanish (Paraguay)
0x10 SUBLANG_SPANISH_BOLIVIA Spanish (Bolivia)
0x11 SUBLANG_SPANISH_EL_SALVADOR Spanish (El Salvador)
0x12 SUBLANG_SPANISH_HONDURAS Spanish (Honduras)
0x13 SUBLANG_SPANISH_NICARAGUA Spanish (Nicaragua)
0x14 SUBLANG_SPANISH_PUERTO_RICO Spanish (Puerto Rico)
0x01 SUBLANG_SWEDISH Swedish
0x02 SUBLANG_SWEDISH_FINLAND Swedish (Finland)
0x01 SUBLANG_URDU_PAKISTAN Urdu (Pakistan)
0x02 SUBLANG_URDU_INDIA Urdu (India)
0x01 SUBLANG_UZBEK_LATIN Uzbek (Latin)
0x02 SUBLANG_UZBEK_CYRILLIC Uzbek (Cyrillic)

So why would a program create a directory named after a language code?

Many Microsoft products support a multilingual user interface. This means that the same program can be used to display its user interface in multiple languages. Office and Windows are the two biggest examples. Language-specific resources need to be broken out into their own directories so they won’t conflict with resources corresponding to some other language.



Some terms you must know

Locale ID: A 32-bit value defined by Microsoft Windows that consists of a language ID, sort ID, and reserved bits that identify a particular language.

Primary language: The primary language is the language that is installed on the system as the default language used to display and print information. The IBM® licensed program distribution media contains the primary language files. The distribution media you create at the central system copies the primary language files so you can install them at your target systems.

Secondary language: The distribution of secondary language files is more complicated than that of primary language files. Secondary language files are saved to the distribution media as described in Checklist: Create central site distribution media and are restored at the target systems using the user-defined installation program as described in Installation tasks for the target systems.



Referrences:

  1. http://www.liquidninja.com/metapad/translations/language_ids.html
  2. http://blogs.msdn.com/oldnewthing/archive/2004/06/09/151689.aspx
  3. http://www.microsoft.com/globaldev/reference/lcid-all.mspx
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s

Archives

Blog Stats

  • 54,702 hits
%d bloggers like this: