1 /************************************************************** 2 * 3 * Licensed to the Apache Software Foundation (ASF) under one 4 * or more contributor license agreements. See the NOTICE file 5 * distributed with this work for additional information 6 * regarding copyright ownership. The ASF licenses this file 7 * to you under the Apache License, Version 2.0 (the 8 * "License"); you may not use this file except in compliance 9 * with the License. You may obtain a copy of the License at 10 * 11 * http://www.apache.org/licenses/LICENSE-2.0 12 * 13 * Unless required by applicable law or agreed to in writing, 14 * software distributed under the License is distributed on an 15 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY 16 * KIND, either express or implied. See the License for the 17 * specific language governing permissions and limitations 18 * under the License. 19 * 20 *************************************************************/ 21 22 23 24 #ifndef INCLUDED_I18NPOOL_LANG_H 25 #define INCLUDED_I18NPOOL_LANG_H 26 27 /** 28 These are MS LANGIDs, the lower 10 bits (mask 0x03ff, values below 0x0400 29 aren't real locale IDs) represent the primary language ID, the upper 6 bits 30 represent the sublanguage ID, which in most cases together with the primary 31 language simply designates a country. A LANGID is constructed by 32 UINT16 nLangID = ((((UINT16)(SubLangId)) << 10) | (UINT16)(PriLangId)); 33 34 A user-defined primary language ID is a value in the range 0x0200 to 0x03ff. 35 All other values are reserved for Windows system use. 36 37 A user-defined sublanguage identifier is a value in the range 0x20 to 0x3f. 38 All other values are reserved for Windows system use. 39 If there is no sublanguage ID for a primary language ID, use SUBLANG_DEFAULT 40 (0x01, which shifted to the left by 10 bits results in the frequently seen 41 0x0400). OR'ed with a 0x0200 primary results in 0x0600. 42 43 Values added as of 2006-04-18, a helper script: ../../source/isolang/lcid.awk 44 Utility to compare MS-LANGID definitions with those defined in this file. 45 46 For further information about MS-LANGIDs please see include/winnt.h of a 47 recent MSDEV version and the following web pages. 48 49 50 The once complete list, not necessarily supported by Windows: 51 List of Locale ID (LCID) Values as Assigned by Microsoft 52 http://www.microsoft.com/globaldev/reference/lcid-all.mspx 53 54 As a complete list is never complete, some more that came with WinXP SP2: 55 Windows XP/Server 2003 - List of Locale IDs, Input Locale, and Language Collection 56 http://www.microsoft.com/globaldev/reference/winxp/xp-lcid.mspx 57 58 And of course 2 lists aren't enough, so Windows Vista needs an extra one. 59 Which at least seems to include values of other versions of Windows. 60 Language Identifier Constants and Strings 61 http://msdn2.microsoft.com/en-us/library/ms776294.aspx 62 63 Hey, yet another list, maybe this one will not move around? It seems to be 64 quite complete.. 65 Language Identifier Constants and Strings (Windows) 66 http://msdn.microsoft.com/en-us/library/dd318693(VS.85).aspx 67 68 List of supported locale identifiers in Word 69 http://support.microsoft.com/default.aspx?scid=KB;en-us;q221435 70 */ 71 72 73 /* It must be safe to include this file in plain C code, so only C style 74 * comments are used. Do NOT use // C++ style comments. */ 75 76 /* disable typedef for usage in svx/source/dialog/langtab.src */ 77 #ifndef RSC_RESOURCE_USAGE 78 typedef unsigned short LanguageType; 79 #endif 80 81 #define LANGUAGE_MASK_PRIMARY 0x03ff 82 83 #ifdef __cplusplus 84 /* Please use the methods provided in mslangid.hxx for type-safety! */ 85 #else 86 #define MSLANGID_MAKELANGID( nSubLangId, nPriLangId ) \ 87 (((nSubLangId) << 10) | (nPriLangId)) 88 #define MSLANGID_GETPRIMARYLANGUAGE( nLangID ) \ 89 ((nLangID) & LANGUAGE_MASK_PRIMARY) 90 #define MSLANGID_GETSUBLANGUAGE( nLangID ) \ 91 (((nLangID) & ~LANGUAGE_MASK_PRIMARY) >> 10) 92 #endif 93 94 95 #define LANGUAGE_DONTKNOW 0x03FF /* yes, the mask */ 96 #define LANGUAGE_NONE 0x00FF 97 #define LANGUAGE_HID_HUMAN_INTERFACE_DEVICE 0x04FF 98 #define LANGUAGE_SYSTEM 0x0000 /* OOo/SO definition */ 99 100 /* The Invariant Locale (Locale ID = 0x007f) is a locale that can be used by 101 * applications when a consistent and locale-independent result is required. 102 * The invariant locale can be used, for example, when comparing character 103 * strings using the CompareString() API and a consistent result regardless of 104 * the User Locale is expected. 105 * The settings of the Invariant Locale are similar to US-English international 106 * standards, but should not be used to display formatted data. */ 107 /* NOTE: this is taken from the MS documentation! Not supported by OOo/SO! */ 108 #define LANGUAGE_INVARIANT 0x007F 109 110 #define LANGUAGE_AFRIKAANS 0x0436 111 #define LANGUAGE_ALBANIAN 0x041C 112 #define LANGUAGE_ALSATIAN_FRANCE 0x0484 113 #define LANGUAGE_AMHARIC 0x005E 114 #define LANGUAGE_AMHARIC_ETHIOPIA 0x045E 115 #define LANGUAGE_ARABIC_ALGERIA 0x1401 116 #define LANGUAGE_ARABIC_BAHRAIN 0x3C01 117 #define LANGUAGE_ARABIC_EGYPT 0x0C01 118 #define LANGUAGE_ARABIC_IRAQ 0x0801 119 #define LANGUAGE_ARABIC_JORDAN 0x2C01 120 #define LANGUAGE_ARABIC_KUWAIT 0x3401 121 #define LANGUAGE_ARABIC_LEBANON 0x3001 122 #define LANGUAGE_ARABIC_LIBYA 0x1001 123 #define LANGUAGE_ARABIC_MOROCCO 0x1801 124 #define LANGUAGE_ARABIC_OMAN 0x2001 125 #define LANGUAGE_ARABIC_QATAR 0x4001 126 #define LANGUAGE_ARABIC_SAUDI_ARABIA 0x0401 127 #define LANGUAGE_ARABIC_SYRIA 0x2801 128 #define LANGUAGE_ARABIC_TUNISIA 0x1C01 129 #define LANGUAGE_ARABIC_UAE 0x3801 130 #define LANGUAGE_ARABIC_YEMEN 0x2401 131 #define LANGUAGE_ARABIC_PRIMARY_ONLY 0x0001 /* primary only, not a locale! */ 132 #define LANGUAGE_ARMENIAN 0x042B 133 #define LANGUAGE_ASSAMESE 0x044D 134 #define LANGUAGE_AZERI 0x002C /* primary only, not a locale! */ 135 #define LANGUAGE_AZERI_CYRILLIC 0x082C 136 #define LANGUAGE_AZERI_LATIN 0x042C 137 #define LANGUAGE_BASHKIR_RUSSIA 0x046D 138 #define LANGUAGE_BASQUE 0x042D 139 #define LANGUAGE_BELARUSIAN 0x0423 140 #define LANGUAGE_BENGALI 0x0445 /* in India */ 141 #define LANGUAGE_BENGALI_BANGLADESH 0x0845 142 #define LANGUAGE_BOSNIAN_LATIN_BOSNIA_HERZEGOVINA 0x141A 143 #define LANGUAGE_BOSNIAN_CYRILLIC_BOSNIA_HERZEGOVINA 0x201A 144 #define LANGUAGE_BOSNIAN_BOSNIA_HERZEGOVINA LANGUAGE_BOSNIAN_LATIN_BOSNIA_HERZEGOVINA /* TODO: remove, only for langtab.src & localize.sdf compatibility */ 145 #define LANGUAGE_BRETON_FRANCE 0x047E /* obsoletes LANGUAGE_USER_BRETON 0x0629 */ 146 #define LANGUAGE_BULGARIAN 0x0402 147 #define LANGUAGE_BURMESE 0x0455 148 #define LANGUAGE_CATALAN 0x0403 149 #define LANGUAGE_CHEROKEE_UNITED_STATES 0x045C 150 #define LANGUAGE_CHINESE 0x0004 /* primary only, not a locale! */ 151 #define LANGUAGE_CHINESE_HONGKONG 0x0C04 152 #define LANGUAGE_CHINESE_MACAU 0x1404 153 #define LANGUAGE_CHINESE_SIMPLIFIED 0x0804 154 #define LANGUAGE_CHINESE_SINGAPORE 0x1004 155 #define LANGUAGE_CHINESE_TRADITIONAL 0x0404 156 /* #define LANGUAGE_CHINESE_SIMPLIFIED 0x0004 */ /* artificial political? Defined as 'zh-CHS' by MS. Primary only! */ 157 /* #define LANGUAGE_CHINESE_TRADITIONAL 0x7C04 */ /* artificial political? Defined as 'zh-CHT' by MS. */ 158 #define LANGUAGE_CORSICAN_FRANCE 0x0483 159 #define LANGUAGE_CROATIAN 0x041A 160 #define LANGUAGE_CROATIAN_BOSNIA_HERZEGOVINA 0x101A 161 #define LANGUAGE_CZECH 0x0405 162 #define LANGUAGE_DANISH 0x0406 163 #define LANGUAGE_DARI_AFGHANISTAN 0x048C /* AKA Zoroastrian Dari */ 164 #define LANGUAGE_DHIVEHI 0x0465 /* AKA Divehi */ 165 #define LANGUAGE_DUTCH 0x0413 166 #define LANGUAGE_DUTCH_BELGIAN 0x0813 167 #define LANGUAGE_EDO 0x0466 168 #define LANGUAGE_ENGLISH 0x0009 /* primary only, not a locale! */ 169 #define LANGUAGE_ENGLISH_AUS 0x0C09 170 #define LANGUAGE_ENGLISH_BELIZE 0x2809 171 #define LANGUAGE_ENGLISH_CAN 0x1009 172 #define LANGUAGE_ENGLISH_CARRIBEAN 0x2409 173 #define LANGUAGE_ENGLISH_EIRE 0x1809 174 #define LANGUAGE_ENGLISH_HONG_KONG_SAR 0x3C09 175 #define LANGUAGE_ENGLISH_INDIA 0x4009 176 #define LANGUAGE_ENGLISH_INDONESIA 0x3809 177 #define LANGUAGE_ENGLISH_JAMAICA 0x2009 178 #define LANGUAGE_ENGLISH_MALAYSIA 0x4409 179 #define LANGUAGE_ENGLISH_NZ 0x1409 180 #define LANGUAGE_ENGLISH_PHILIPPINES 0x3409 181 #define LANGUAGE_ENGLISH_SAFRICA 0x1C09 182 #define LANGUAGE_ENGLISH_SINGAPORE 0x4809 183 #define LANGUAGE_ENGLISH_TRINIDAD 0x2C09 184 #define LANGUAGE_ENGLISH_UK 0x0809 185 #define LANGUAGE_ENGLISH_US 0x0409 186 #define LANGUAGE_ENGLISH_ZIMBABWE 0x3009 187 #define LANGUAGE_ESTONIAN 0x0425 188 #define LANGUAGE_FAEROESE 0x0438 189 #define LANGUAGE_FARSI 0x0429 190 #define LANGUAGE_FILIPINO 0x0464 191 #define LANGUAGE_FINNISH 0x040B 192 #define LANGUAGE_FRENCH 0x040C 193 #define LANGUAGE_FRENCH_BELGIAN 0x080C 194 #define LANGUAGE_FRENCH_CAMEROON 0x2C0C 195 #define LANGUAGE_FRENCH_CANADIAN 0x0C0C 196 #define LANGUAGE_FRENCH_COTE_D_IVOIRE 0x300C 197 198 #define LANGUAGE_FRENCH_HAITI 0x3C0C 199 #define LANGUAGE_FRENCH_LUXEMBOURG 0x140C 200 #define LANGUAGE_FRENCH_MALI 0x340C 201 #define LANGUAGE_FRENCH_MONACO 0x180C 202 #define LANGUAGE_FRENCH_MOROCCO 0x380C 203 #define LANGUAGE_FRENCH_NORTH_AFRICA 0xE40C 204 #define LANGUAGE_FRENCH_REUNION 0x200C 205 #define LANGUAGE_FRENCH_SENEGAL 0x280C 206 #define LANGUAGE_FRENCH_SWISS 0x100C 207 #define LANGUAGE_FRENCH_WEST_INDIES 0x1C0C 208 #define LANGUAGE_FRENCH_ZAIRE 0x240C 209 #define LANGUAGE_FRISIAN_NETHERLANDS 0x0462 210 #define LANGUAGE_FULFULDE_NIGERIA 0x0467 211 #define LANGUAGE_GAELIC_IRELAND 0x083C 212 #define LANGUAGE_GAELIC_SCOTLAND 0x043C 213 #define LANGUAGE_GALICIAN 0x0456 214 #define LANGUAGE_GEORGIAN 0x0437 215 #define LANGUAGE_GERMAN 0x0407 216 #define LANGUAGE_GERMAN_AUSTRIAN 0x0C07 217 #define LANGUAGE_GERMAN_LIECHTENSTEIN 0x1407 218 #define LANGUAGE_GERMAN_LUXEMBOURG 0x1007 219 #define LANGUAGE_GERMAN_SWISS 0x0807 220 #define LANGUAGE_GREEK 0x0408 221 #define LANGUAGE_GUARANI_PARAGUAY 0x0474 222 #define LANGUAGE_GUJARATI 0x0447 223 #define LANGUAGE_HAUSA_NIGERIA 0x0468 224 #define LANGUAGE_HAWAIIAN_UNITED_STATES 0x0475 225 #define LANGUAGE_HEBREW 0x040D 226 #define LANGUAGE_HINDI 0x0439 227 #define LANGUAGE_HUNGARIAN 0x040E 228 #define LANGUAGE_IBIBIO_NIGERIA 0x0469 229 #define LANGUAGE_ICELANDIC 0x040F 230 #define LANGUAGE_IGBO_NIGERIA 0x0470 231 #define LANGUAGE_INDONESIAN 0x0421 232 #define LANGUAGE_INUKTITUT_SYLLABICS_CANADA 0x045D 233 #define LANGUAGE_INUKTITUT_LATIN_CANADA 0x085D 234 #define LANGUAGE_ITALIAN 0x0410 235 #define LANGUAGE_ITALIAN_SWISS 0x0810 236 #define LANGUAGE_JAPANESE 0x0411 237 #define LANGUAGE_KALAALLISUT_GREENLAND 0x046F /* obsoletes LANGUAGE_USER_KALAALLISUT 0x062A */ 238 #define LANGUAGE_KANNADA 0x044B 239 #define LANGUAGE_KANURI_NIGERIA 0x0471 240 #define LANGUAGE_KASHMIRI 0x0460 241 #define LANGUAGE_KASHMIRI_INDIA 0x0860 242 #define LANGUAGE_KAZAK 0x043F 243 #define LANGUAGE_KHMER 0x0453 244 #define LANGUAGE_KICHE_GUATEMALA 0x0486 /* AKA K'iche', West Central Quiche, */ 245 #define LANGUAGE_KINYARWANDA_RWANDA 0x0487 /* obsoletes LANGUAGE_USER_KINYARWANDA 0x0621 */ 246 #define LANGUAGE_KIRGHIZ 0x0440 /* AKA Kyrgyz */ 247 #define LANGUAGE_KONKANI 0x0457 248 #define LANGUAGE_KOREAN 0x0412 249 #define LANGUAGE_KOREAN_JOHAB 0x0812 250 #define LANGUAGE_LAO 0x0454 251 #define LANGUAGE_LATIN 0x0476 /* obsoletes LANGUAGE_USER_LATIN 0x0610 */ 252 #define LANGUAGE_LATVIAN 0x0426 253 #define LANGUAGE_LITHUANIAN 0x0427 254 #define LANGUAGE_LITHUANIAN_CLASSIC 0x0827 255 #define LANGUAGE_LUXEMBOURGISH_LUXEMBOURG 0x046E /* obsoletes LANGUAGE_USER_LUXEMBOURGISH 0x0630 */ 256 #define LANGUAGE_MACEDONIAN 0x042F 257 #define LANGUAGE_MALAY 0x003E /* primary only, not a locale! */ 258 #define LANGUAGE_MALAYALAM 0x044C /* in India */ 259 #define LANGUAGE_MALAY_BRUNEI_DARUSSALAM 0x083E 260 #define LANGUAGE_MALAY_MALAYSIA 0x043E 261 #define LANGUAGE_MALTESE 0x043A 262 #define LANGUAGE_MANIPURI 0x0458 263 #define LANGUAGE_MAORI_NEW_ZEALAND 0x0481 /* obsoletes LANGUAGE_USER_MAORI 0x0620 */ 264 #define LANGUAGE_MAPUDUNGUN_CHILE 0x047A /* AKA Araucanian */ 265 #define LANGUAGE_MARATHI 0x044E 266 #define LANGUAGE_MOHAWK_CANADA 0x047C 267 #define LANGUAGE_MONGOLIAN 0x0450 /* Cyrillic script */ 268 #define LANGUAGE_MONGOLIAN_MONGOLIAN 0x0850 269 #define LANGUAGE_NEPALI 0x0461 270 #define LANGUAGE_NEPALI_INDIA 0x0861 271 #define LANGUAGE_NORWEGIAN 0x0014 /* primary only, not a locale! */ 272 #define LANGUAGE_NORWEGIAN_BOKMAL 0x0414 273 #define LANGUAGE_NORWEGIAN_NYNORSK 0x0814 274 #define LANGUAGE_OCCITAN_FRANCE 0x0482 /* obsoletes LANGUAGE_USER_OCCITAN 0x0625 */ 275 #define LANGUAGE_ORIYA 0x0448 276 #define LANGUAGE_OROMO 0x0472 277 #define LANGUAGE_PAPIAMENTU 0x0479 278 #define LANGUAGE_PASHTO 0x0463 279 #define LANGUAGE_POLISH 0x0415 280 #define LANGUAGE_PORTUGUESE 0x0816 281 #define LANGUAGE_PORTUGUESE_BRAZILIAN 0x0416 282 #define LANGUAGE_PUNJABI 0x0446 283 #define LANGUAGE_PUNJABI_PAKISTAN 0x0846 284 #define LANGUAGE_QUECHUA_BOLIVIA 0x046B 285 #define LANGUAGE_QUECHUA_ECUADOR 0x086B 286 #define LANGUAGE_QUECHUA_PERU 0x0C6B 287 #define LANGUAGE_RHAETO_ROMAN 0x0417 288 #define LANGUAGE_ROMANIAN 0x0418 289 #define LANGUAGE_ROMANIAN_MOLDOVA 0x0818 290 #define LANGUAGE_RUSSIAN 0x0419 291 #define LANGUAGE_RUSSIAN_MOLDOVA 0x0819 292 #define LANGUAGE_SAMI_NORTHERN_NORWAY 0x043B 293 #define LANGUAGE_SAMI_LAPPISH LANGUAGE_SAMI_NORTHERN_NORWAY /* the old MS definition */ 294 #define LANGUAGE_SAMI_INARI 0x243B 295 #define LANGUAGE_SAMI_LULE_NORWAY 0x103B 296 #define LANGUAGE_SAMI_LULE_SWEDEN 0x143B 297 #define LANGUAGE_SAMI_NORTHERN_FINLAND 0x0C3B 298 #define LANGUAGE_SAMI_NORTHERN_SWEDEN 0x083B 299 #define LANGUAGE_SAMI_SKOLT 0x203B 300 #define LANGUAGE_SAMI_SOUTHERN_NORWAY 0x183B 301 #define LANGUAGE_SAMI_SOUTHERN_SWEDEN 0x1C3B 302 #define LANGUAGE_SANSKRIT 0x044F 303 #define LANGUAGE_SEPEDI 0x046C 304 #define LANGUAGE_NORTHERNSOTHO LANGUAGE_SEPEDI /* just an alias for the already existing localization */ 305 #define LANGUAGE_SERBIAN 0x001A /* primary only, not a locale! */ 306 #define LANGUAGE_SERBIAN_CYRILLIC 0x0C1A /* MS lists this as Serbian (Cyrillic, Serbia) 'sr-Cyrl-SP', but they use 'SP' since at least Windows2003 where it was Serbia and Montenegro! */ 307 #define LANGUAGE_SERBIAN_CYRILLIC_BOSNIA_HERZEGOVINA 0x1C1A 308 #define LANGUAGE_SERBIAN_LATIN 0x081A /* MS lists this as Serbian (Latin, Serbia) 'sr-Latn-SP', but they use 'SP' since at least Windows2003 where it was Serbia and Montenegro! */ 309 #define LANGUAGE_SERBIAN_LATIN_BOSNIA_HERZEGOVINA 0x181A 310 #define LANGUAGE_SERBIAN_LATIN_NEUTRAL 0x7C1A /* MS lists this as 'sr' only. What a mess. */ 311 #define LANGUAGE_SESOTHO 0x0430 /* also called Sutu now by MS */ 312 #define LANGUAGE_SINDHI 0x0459 313 #define LANGUAGE_SINDHI_PAKISTAN 0x0859 314 #define LANGUAGE_SINHALESE_SRI_LANKA 0x045B 315 #define LANGUAGE_SLOVAK 0x041B 316 #define LANGUAGE_SLOVENIAN 0x0424 317 #define LANGUAGE_SOMALI 0x0477 318 #define LANGUAGE_UPPER_SORBIAN_GERMANY 0x042E /* obsoletes LANGUAGE_USER_UPPER_SORBIAN 0x0623 */ 319 #define LANGUAGE_LOWER_SORBIAN_GERMANY 0x082E /* obsoletes LANGUAGE_USER_LOWER_SORBIAN 0x0624. NOTE: the primary ID is identical to Upper Sorbian, which is not quite correct because they're distinct languages */ 320 #define LANGUAGE_SORBIAN LANGUAGE_USER_UPPER_SORBIAN /* a strange MS definition */ 321 #define LANGUAGE_SPANISH_DATED 0x040A /* old collation, not supported, see #i94435# */ 322 #define LANGUAGE_SPANISH_ARGENTINA 0x2C0A 323 #define LANGUAGE_SPANISH_BOLIVIA 0x400A 324 #define LANGUAGE_SPANISH_CHILE 0x340A 325 #define LANGUAGE_SPANISH_COLOMBIA 0x240A 326 #define LANGUAGE_SPANISH_COSTARICA 0x140A 327 #define LANGUAGE_SPANISH_DOMINICAN_REPUBLIC 0x1C0A 328 #define LANGUAGE_SPANISH_ECUADOR 0x300A 329 #define LANGUAGE_SPANISH_EL_SALVADOR 0x440A 330 #define LANGUAGE_SPANISH_GUATEMALA 0x100A 331 #define LANGUAGE_SPANISH_HONDURAS 0x480A 332 #define LANGUAGE_SPANISH_LATIN_AMERICA 0xE40A /* no locale possible */ 333 #define LANGUAGE_SPANISH_MEXICAN 0x080A 334 #define LANGUAGE_SPANISH_MODERN 0x0C0A 335 #define LANGUAGE_SPANISH_NICARAGUA 0x4C0A 336 #define LANGUAGE_SPANISH_PANAMA 0x180A 337 #define LANGUAGE_SPANISH_PARAGUAY 0x3C0A 338 #define LANGUAGE_SPANISH_PERU 0x280A 339 #define LANGUAGE_SPANISH_PUERTO_RICO 0x500A 340 #define LANGUAGE_SPANISH_UNITED_STATES 0x540A 341 #define LANGUAGE_SPANISH_URUGUAY 0x380A 342 #define LANGUAGE_SPANISH_VENEZUELA 0x200A 343 #define LANGUAGE_SPANISH LANGUAGE_SPANISH_MODERN /* modern collation, see #i94435# */ 344 #define LANGUAGE_SWAHILI 0x0441 /* Kenya */ 345 #define LANGUAGE_SWEDISH 0x041D 346 #define LANGUAGE_SWEDISH_FINLAND 0x081D 347 #define LANGUAGE_SYRIAC 0x045A 348 #define LANGUAGE_TAJIK 0x0428 349 #define LANGUAGE_TAMAZIGHT_ARABIC 0x045F 350 #define LANGUAGE_TAMAZIGHT_LATIN 0x085F 351 #define LANGUAGE_TAMIL 0x0449 352 #define LANGUAGE_TATAR 0x0444 353 #define LANGUAGE_TELUGU 0x044A 354 #define LANGUAGE_THAI 0x041E 355 #define LANGUAGE_TIBETAN 0x0451 356 #define LANGUAGE_DZONGKHA 0x0851 357 #define LANGUAGE_TIBETAN_BHUTAN LANGUAGE_DZONGKHA /* a MS error, see #i53497# */ 358 #define LANGUAGE_TIGRIGNA_ERITREA 0x0873 359 #define LANGUAGE_TIGRIGNA_ETHIOPIA 0x0473 360 #define LANGUAGE_TSONGA 0x0431 361 #define LANGUAGE_TSWANA 0x0432 /* AKA Setsuana, for South Africa */ 362 #define LANGUAGE_TURKISH 0x041F 363 #define LANGUAGE_TURKMEN 0x0442 364 #define LANGUAGE_UIGHUR_CHINA 0x0480 365 #define LANGUAGE_UKRAINIAN 0x0422 366 #define LANGUAGE_URDU 0x0020 /* primary only, not a locale! */ 367 #define LANGUAGE_URDU_INDIA 0x0820 368 #define LANGUAGE_URDU_PAKISTAN 0x0420 369 #define LANGUAGE_UZBEK_CYRILLIC 0x0843 370 #define LANGUAGE_UZBEK_LATIN 0x0443 371 #define LANGUAGE_VENDA 0x0433 372 #define LANGUAGE_VIETNAMESE 0x042A 373 #define LANGUAGE_WELSH 0x0452 374 #define LANGUAGE_WOLOF_SENEGAL 0x0488 375 #define LANGUAGE_XHOSA 0x0434 /* AKA isiZhosa */ 376 #define LANGUAGE_YAKUT_RUSSIA 0x0485 377 #define LANGUAGE_YI 0x0478 /* Sichuan Yi */ 378 #define LANGUAGE_YIDDISH 0x043D 379 #define LANGUAGE_YORUBA 0x046A 380 #define LANGUAGE_ZULU 0x0435 381 382 /* Not real, but used for legacy. */ 383 #define LANGUAGE_USER1 0x0201 384 #define LANGUAGE_USER2 0x0202 385 #define LANGUAGE_USER3 0x0203 386 #define LANGUAGE_USER4 0x0204 387 #define LANGUAGE_USER5 0x0205 388 #define LANGUAGE_USER6 0x0206 389 #define LANGUAGE_USER7 0x0207 390 #define LANGUAGE_USER8 0x0208 391 #define LANGUAGE_USER9 0x0209 392 /* Don't use higher USER values here, we reserve them for extension. */ 393 394 /*! use only for import/export of MS documents, number formatter maps it to 395 *! LANGUAGE_SYSTEM and then to effective system language */ 396 #define LANGUAGE_SYSTEM_DEFAULT 0x0800 397 398 /*! use only for import/export of MS documents, number formatter maps it to 399 *! LANGUAGE_SYSTEM and then to effective system language */ 400 #define LANGUAGE_PROCESS_OR_USER_DEFAULT 0x0400 401 402 /* And now the extensions we define, valid from 403 * 0x0610 to 0x07FF with sublanguage ID 0x01 (default) 404 * 0x0A00 to 0x0BFF with sublanguage ID 0x02 405 * ... 406 * 0x8200 to 0x83FF with sublanguage ID 0x20 407 * 0x8600 to 0x87FF with sublanguage ID 0x21 408 * ... 409 * 0xFA00 to 0xFBFF with sublanguage ID 0x3E 410 * 0xFE00 to 0xFFFF with sublanguage ID 0x3F 411 * 412 * Obsolete OOo user defines now have other values assigned by MS, and 413 * different name. Mapping an obsolete value to ISO code should work provided 414 * that such a mapping exists in i18npool/source/isolang/isolang.cxx, but 415 * mapping ISO back to LANGID will return the new value. 416 */ 417 #define LANGUAGE_OBSOLETE_USER_LATIN 0x0610 418 #define LANGUAGE_USER_LATIN LANGUAGE_LATIN 419 #define LANGUAGE_USER_ESPERANTO 0x0611 /* no locale possible */ 420 #define LANGUAGE_USER_INTERLINGUA 0x0612 /* no locale, but conventions */ 421 #define LANGUAGE_OBSOLETE_USER_MAORI 0x0620 422 #define LANGUAGE_USER_MAORI LANGUAGE_MAORI_NEW_ZEALAND 423 #define LANGUAGE_OBSOLETE_USER_KINYARWANDA 0x0621 424 #define LANGUAGE_USER_KINYARWANDA LANGUAGE_KINYARWANDA_RWANDA 425 /* was reserved for Northern Sotho but never used: 0x0622 */ /* obsoleted by LANGUAGE_SEPEDI */ 426 #define LANGUAGE_OBSOLETE_USER_UPPER_SORBIAN 0x0623 427 #define LANGUAGE_USER_UPPER_SORBIAN LANGUAGE_UPPER_SORBIAN_GERMANY 428 #define LANGUAGE_OBSOLETE_USER_LOWER_SORBIAN 0x0624 429 #define LANGUAGE_USER_LOWER_SORBIAN LANGUAGE_LOWER_SORBIAN_GERMANY 430 #define LANGUAGE_OBSOLETE_USER_OCCITAN 0x0625 431 #define LANGUAGE_USER_OCCITAN LANGUAGE_OCCITAN_FRANCE /* reserved to languedocian */ 432 433 #define LANGUAGE_USER_KOREAN_NORTH 0x8012 /* North Korean as opposed to South Korean, makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_KOREAN)) */ 434 #define LANGUAGE_USER_KURDISH_TURKEY 0x0626 /* sublang 0x01, Latin script */ 435 #define LANGUAGE_USER_KURDISH_SYRIA 0x0A26 /* sublang 0x02, Latin script */ 436 #define LANGUAGE_USER_KURDISH_IRAQ 0x0E26 /* sublang 0x03, Arabic script */ 437 #define LANGUAGE_USER_KURDISH_IRAN 0x1226 /* sublang 0x04, Arabic script */ 438 #define LANGUAGE_USER_SARDINIAN 0x0627 439 /* was reserved for Dzongkha but turned down with #i53497#: 0x0628 */ /* obsoleted by LANGUAGE_DZONGKHA */ 440 #define LANGUAGE_USER_SWAHILI_TANZANIA 0x8041 /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_SWAHILI)) */ 441 #define LANGUAGE_OBSOLETE_USER_BRETON 0x0629 442 #define LANGUAGE_USER_BRETON LANGUAGE_BRETON_FRANCE 443 #define LANGUAGE_OBSOLETE_USER_KALAALLISUT 0x062A 444 #define LANGUAGE_USER_KALAALLISUT LANGUAGE_KALAALLISUT_GREENLAND 445 #define LANGUAGE_USER_SWAZI 0x062B 446 #define LANGUAGE_USER_NDEBELE_SOUTH 0x062C 447 #define LANGUAGE_USER_TSWANA_BOTSWANA 0x8032 /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_TSWANA)) */ 448 #define LANGUAGE_USER_MOORE 0x062D 449 #define LANGUAGE_USER_BAMBARA 0x062E 450 #define LANGUAGE_USER_AKAN 0x062F 451 #define LANGUAGE_OBSOLETE_USER_LUXEMBOURGISH 0x0630 452 #define LANGUAGE_USER_LUXEMBOURGISH LANGUAGE_LUXEMBOURGISH_LUXEMBOURG 453 #define LANGUAGE_USER_FRIULIAN 0x0631 454 #define LANGUAGE_USER_FIJIAN 0x0632 455 #define LANGUAGE_USER_AFRIKAANS_NAMIBIA 0x8036 /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_AFRIKAANS)) */ 456 #define LANGUAGE_USER_ENGLISH_NAMIBIA 0x8009 /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_ENGLISH_US)) */ 457 #define LANGUAGE_USER_WALLOON 0x0633 458 #define LANGUAGE_USER_COPTIC 0x0634 459 #define LANGUAGE_USER_CHUVASH 0x0635 460 #define LANGUAGE_USER_GASCON 0x0636 /* Gascon France */ 461 #define LANGUAGE_USER_GERMAN_BELGIUM 0x8007 /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_GERMAN)) */ 462 #define LANGUAGE_USER_CATALAN_VALENCIAN 0x8003 /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_CATALAN)) */ 463 #define LANGUAGE_USER_CATALAN_VALENCIAN_RACV 0x8004 /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_CATALAN)) */ 464 #define LANGUAGE_USER_HAUSA_GHANA 0x8068 /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_HAUSA_NIGERIA)) */ 465 #define LANGUAGE_USER_EWE_GHANA 0x0637 466 #define LANGUAGE_USER_ENGLISH_GHANA 0x8409 /* makeLangID( 0x21, getPrimaryLanguage( LANGUAGE_ENGLISH_US)) */ 467 #define LANGUAGE_USER_TAGALOG 0x0638 468 #define LANGUAGE_USER_LINGALA_DRCONGO 0x0639 469 #define LANGUAGE_USER_SANGO 0x063A 470 #define LANGUAGE_USER_GANDA 0x063B 471 #define LANGUAGE_USER_LOW_GERMAN 0x063C 472 #define LANGUAGE_USER_HILIGAYNON 0x063D 473 #define LANGUAGE_USER_NYANJA 0x063E 474 #define LANGUAGE_USER_KASHUBIAN 0x063F 475 #define LANGUAGE_USER_SPANISH_CUBA 0x800A /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_SPANISH)) */ 476 #define LANGUAGE_USER_TETUN 0x0640 477 #define LANGUAGE_USER_QUECHUA_NORTH_BOLIVIA 0x0641 478 #define LANGUAGE_USER_QUECHUA_SOUTH_BOLIVIA 0x0642 479 #define LANGUAGE_USER_SERBIAN_CYRILLIC_SERBIA 0x8C1A /* makeLangID( 0x20+0x03, getPrimaryLanguage( LANGUAGE_SERBIAN_CYRILLIC)) */ 480 #define LANGUAGE_USER_SERBIAN_LATIN_SERBIA 0x881A /* makeLangID( 0x20+0x02, getPrimaryLanguage( LANGUAGE_SERBIAN_LATIN)) */ 481 #define LANGUAGE_USER_SERBIAN_CYRILLIC_MONTENEGRO 0xCC1A /* makeLangID( 0x20+0x13, getPrimaryLanguage( LANGUAGE_SERBIAN_CYRILLIC)) */ 482 #define LANGUAGE_USER_SERBIAN_LATIN_MONTENEGRO 0xC81A /* makeLangID( 0x20+0x12, getPrimaryLanguage( LANGUAGE_SERBIAN_LATIN)) */ 483 #define LANGUAGE_USER_SAMI_KILDIN_RUSSIA 0x803B /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_SAMI_NORTHERN_NORWAY)) */ 484 #define LANGUAGE_USER_BODO_INDIA 0x0643 485 #define LANGUAGE_USER_DOGRI_INDIA 0x0644 486 #define LANGUAGE_USER_MAITHILI_INDIA 0x0645 487 #define LANGUAGE_USER_SANTALI_INDIA 0x0646 488 #define LANGUAGE_USER_TETUN_TIMOR_LESTE 0x0A40 /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_USER_TETUN)) */ 489 #define LANGUAGE_USER_TOK_PISIN 0x0647 490 #define LANGUAGE_USER_SHUSWAP 0x0648 491 #define LANGUAGE_USER_ARABIC_CHAD 0x8001 /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ 492 #define LANGUAGE_USER_ARABIC_COMOROS 0x8401 /* makeLangID( 0x21, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ 493 #define LANGUAGE_USER_ARABIC_DJIBOUTI 0x8801 /* makeLangID( 0x22, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ 494 #define LANGUAGE_USER_ARABIC_ERITREA 0x8C01 /* makeLangID( 0x23, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ 495 #define LANGUAGE_USER_ARABIC_ISRAEL 0x9001 /* makeLangID( 0x24, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ 496 #define LANGUAGE_USER_ARABIC_MAURITANIA 0x9401 /* makeLangID( 0x25, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ 497 #define LANGUAGE_USER_ARABIC_PALESTINE 0x9801 /* makeLangID( 0x26, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ 498 #define LANGUAGE_USER_ARABIC_SOMALIA 0x9C01 /* makeLangID( 0x27, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ 499 #define LANGUAGE_USER_ARABIC_SUDAN 0xA001 /* makeLangID( 0x28, getPrimaryLanguage( LANGUAGE_ARABIC_SAUDI_ARABIA)) */ 500 #define LANGUAGE_USER_ANCIENT_GREEK 0x0649 501 #define LANGUAGE_USER_ASTURIAN 0x064A 502 #define LANGUAGE_USER_LATGALIAN 0x064B 503 #define LANGUAGE_USER_MAORE 0x064C 504 #define LANGUAGE_USER_BUSHI 0x064D 505 #define LANGUAGE_USER_TAHITIAN 0x064E 506 #define LANGUAGE_USER_MALAGASY_PLATEAU 0x064F 507 #define LANGUAGE_USER_PAPIAMENTU_ARUBA 0x8079 /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_PAPIAMENTU)) */ 508 #define LANGUAGE_USER_SARDINIAN_CAMPIDANESE 0x0650 509 #define LANGUAGE_USER_SARDINIAN_GALLURESE 0x0651 510 #define LANGUAGE_USER_SARDINIAN_LOGUDORESE 0x0652 511 #define LANGUAGE_USER_SARDINIAN_SASSARESE 0x0653 512 #define LANGUAGE_USER_BAFIA 0x0654 513 #define LANGUAGE_USER_GIKUYU 0x0655 514 #define LANGUAGE_USER_RUSYN_UKRAINE 0x0656 515 #define LANGUAGE_USER_RUSYN_SLOVAKIA 0x8256 /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_USER_RUSYN_UKRAINE)) */ 516 #define LANGUAGE_USER_YIDDISH_US 0x083D /* makeLangID( 0x20, getPrimaryLanguage( LANGUAGE_YIDDISH)) */ 517 #define LANGUAGE_USER_LIMBU 0x0657 518 #define LANGUAGE_USER_LOJBAN 0x0658 /* no locale */ 519 #define LANGUAGE_USER_KABYLE 0x0659 520 #define LANGUAGE_USER_HAITIAN 0x065A 521 #define LANGUAGE_USER_VENETAN 0x065B 522 523 524 #endif /* INCLUDED_I18NPOOL_LANG_H */ 525