Thursday, September 2, 2010

What is 1033 ?

1033 is the locale identifier for “English (United States)”, whose hexadecimal value is 0×0409. 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
0×00 LANG_NEUTRAL Neutral
0×01 LANG_ARABIC Arabic
0×02 LANG_BULGARIAN Bulgarian
0×03 LANG_CATALAN Catalan
0×04 LANG_CHINESE Chinese
0×05 LANG_CZECH Czech
0×06 LANG_DANISH Danish
0×07 LANG_GERMAN German
0×08 LANG_GREEK Greek
0×09 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
0×10 LANG_ITALIAN Italian
0×11 LANG_JAPANESE Japanese
0×12 LANG_KOREAN Korean
0×13 LANG_DUTCH Dutch
0×14 LANG_NORWEGIAN Norwegian
0×15 LANG_POLISH Polish
0×16 LANG_PORTUGUESE Portuguese
0×18 LANG_ROMANIAN Romanian
0×19 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
0×20 LANG_URDU Urdu
0×21 LANG_INDONESIAN Indonesian
0×22 LANG_UKRANIAN Ukrainian
0×23 LANG_BELARUSIAN Belarusian
0×24 LANG_SLOVENIAN Slovenian
0×25 LANG_ESTONIAN Estonian
0×26 LANG_LATVIAN Latvian
0×27 LANG_LITHUANIAN Lithuanian
0×29 LANG_FARSI Farsi
0x2a LANG_VIETNAMESE Vietnamese
0x2b LANG_ARMENIAN Armenian
0x2c LANG_AZERI Azeri
0x2d LANG_BASQUE Basque
0x2f LANG_MACEDONIAN Macedonian
0×36 LANG_AFRIKAANS Afrikaans
0×37 LANG_GEORGIAN Georgian
0×38 LANG_FAEROESE Faeroese
0×39 LANG_HINDI Hindi
0x3e LANG_MALAY Malay
0x3f LANG_KAZAK Kazak
0×41 LANG_SWAHILI Swahili
0×43 LANG_UZBEK Uzbek
0×44 LANG_TATAR Tatar
0×45 LANG_BENGALI Bengali
0×46 LANG_PUNJABI Punjabi
0×47 LANG_GUJARATI Gujarati
0×48 LANG_ORIYA Oriya
0×49 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
0×57 LANG_KONKANI Konkani
0×58 LANG_MANIPURI Manipuri
0×59 LANG_SINDHI Sindhi
0×60 LANG_KASHMIRI Kashmiri
0×61 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
0×00 SUBLANG_NEUTRAL Neutral
0×01 SUBLANG_DEFAULT Default
0×02 SUBLANG_SYS_DEFAULT System Default
0×01 SUBLANG_ARABIC_SAUDI_ARABIA Arabic (Saudi Arabia)
0×02 SUBLANG_ARABIC_IRAQ Arabic (Iraq)
0×03 SUBLANG_ARABIC_EGYPT Arabic (Egypt)
0×04 SUBLANG_ARABIC_LIBYA Arabic (Libya)
0×05 SUBLANG_ARABIC_ALGERIA Arabic (Algeria)
0×06 SUBLANG_ARABIC_MOROCCO Arabic (Morocco)
0×07 SUBLANG_ARABIC_TUNISIA Arabic (Tunisia)
0×08 SUBLANG_ARABIC_OMAN Arabic (Oman)
0×09 SUBLANG_ARABIC_YEMEN Arabic (Yemen)
0×10 SUBLANG_ARABIC_SYRIA Arabic (Syria)
0×11 SUBLANG_ARABIC_JORDAN Arabic (Jordan)
0×12 SUBLANG_ARABIC_LEBANON Arabic (Lebanon)
0×13 SUBLANG_ARABIC_KUWAIT Arabic (Kuwait)
0×14 SUBLANG_ARABIC_UAE Arabic (U.A.E.)
0×15 SUBLANG_ARABIC_BAHRAIN Arabic (Bahrain)
0×16 SUBLANG_ARABIC_QATAR Arabic (Qatar)
0×01 SUBLANG_AZERI_CYRILLIC Azeri (Latin)
0×02 SUBLANG_AZERI_LATIN Azeri (Cyrillic)
0×01 SUBLANG_CHINESE_TRADITIONAL Chinese (Traditional)
0×02 SUBLANG_CHINESE_SIMPLIFIED Chinese (Simplified)
0×03 SUBLANG_CHINESE_HONGKONG Chinese (Hong Kong SAR, PRC)
0×04 SUBLANG_CHINESE_SINGAPORE Chinese (Singapore)
0×05 SUBLANG_CHINESE_MACAU Chinese (Macau)
0×01 SUBLANG_DUTCH Dutch
0×02 SUBLANG_DUTCH_BELGIAN Dutch (Belgian)
0×01 SUBLANG_ENGLISH_US English (US)
0×02 SUBLANG_ENGLISH_UK English (UK)
0×03 SUBLANG_ENGLISH_AUS English (Australian)
0×04 SUBLANG_ENGLISH_CAN English (Canadian)
0×05 SUBLANG_ENGLISH_NZ English (New Zealand)
0×06 SUBLANG_ENGLISH_EIRE English (Ireland)
0×07 SUBLANG_ENGLISH_SOUTH_AFRICA English (South Africa)
0×08 SUBLANG_ENGLISH_JAMAICA English (Jamaica)
0×09 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)
0×01 SUBLANG_FRENCH French
0×02 SUBLANG_FRENCH_BELGIAN French (Belgian)
0×03 SUBLANG_FRENCH_CANADIAN French (Canadian)
0×04 SUBLANG_FRENCH_SWISS French (Swiss)
0×05 SUBLANG_FRENCH_LUXEMBOURG French (Luxembourg)
0×06 SUBLANG_FRENCH_MONACO French (Monaco)
0×01 SUBLANG_GERMAN German
0×02 SUBLANG_GERMAN_SWISS German (Swiss)
0×03 SUBLANG_GERMAN_AUSTRIAN German (Austrian)
0×04 SUBLANG_GERMAN_LUXEMBOURG German (Luxembourg)
0×05 SUBLANG_GERMAN_LIECHTENSTEIN German (Liechtenstein)
0×01 SUBLANG_ITALIAN Italian
0×02 SUBLANG_ITALIAN_SWISS Italian (Swiss)
0×02 SUBLANG_KASHMIRI_INDIA Kashmiri (India)
0×01 SUBLANG_KOREAN Korean
0×01 SUBLANG_LITHUANIAN Lithuanian
0×02 SUBLANG_LITHUANIAN_CLASSIC Lithuanian (Classic)
0×01 SUBLANG_MALAY_MALAYSIA Malay (Malaysia)
0×02 SUBLANG_MALAY_BRUNEI_DARUSSALAM Malay (Brunei Darassalam)
0×02 SUBLANG_NEPALI_INDIA Nepali (India)
0×01 SUBLANG_NORWEGIAN_BOKMAL Norwegian (Bokmal)
0×02 SUBLANG_NORWEGIAN_NYNORSK Norwegian (Nynorsk)
0×01 SUBLANG_PORTUGUESE Portuguese (Brazilian)
0×02 SUBLANG_PORTUGUESE_BRAZILIAN Portuguese
0×02 SUBLANG_SERBIAN_LATIN Serbian (Latin)
0×03 SUBLANG_SERBIAN_CYRILLIC Serbian (Cyrillic)
0×01 SUBLANG_SPANISH Spanish (Castilian)
0×02 SUBLANG_SPANISH_MEXICAN Spanish (Mexican)
0×03 SUBLANG_SPANISH_MODERN Spanish (Modern)
0×04 SUBLANG_SPANISH_GUATEMALA Spanish (Guatemala)
0×05 SUBLANG_SPANISH_COSTA_RICA Spanish (Costa Rica)
0×06 SUBLANG_SPANISH_PANAMA Spanish (Panama)
0×07 SUBLANG_SPANISH_DOMINICAN_REPUBLIC Spanish (Dominican Republic)
0×08 SUBLANG_SPANISH_VENEZUELA Spanish (Venezuela)
0×09 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)
0×10 SUBLANG_SPANISH_BOLIVIA Spanish (Bolivia)
0×11 SUBLANG_SPANISH_EL_SALVADOR Spanish (El Salvador)
0×12 SUBLANG_SPANISH_HONDURAS Spanish (Honduras)
0×13 SUBLANG_SPANISH_NICARAGUA Spanish (Nicaragua)
0×14 SUBLANG_SPANISH_PUERTO_RICO Spanish (Puerto Rico)
0×01 SUBLANG_SWEDISH Swedish
0×02 SUBLANG_SWEDISH_FINLAND Swedish (Finland)
0×01 SUBLANG_URDU_PAKISTAN Urdu (Pakistan)
0×02 SUBLANG_URDU_INDIA Urdu (India)
0×01 SUBLANG_UZBEK_LATIN Uzbek (Latin)
0×02 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

0 comments:

Post a Comment