xref: /trunk/main/i18npool/inc/i18npool/lang.h (revision d813ae4e)
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