2 // Open Service Platform
3 // Copyright (c) 2012 Samsung Electronics Co., Ltd.
5 // Licensed under the Apache License, Version 2.0 (the License);
6 // you may not use this file except in compliance with the License.
7 // You may obtain a copy of the License at
9 // http://www.apache.org/licenses/LICENSE-2.0
11 // Unless required by applicable law or agreed to in writing, software
12 // distributed under the License is distributed on an "AS IS" BASIS,
13 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 // See the License for the specific language governing permissions and
15 // limitations under the License.
20 * @brief This is the header file for the %Locale class.
22 * This header file contains the declarations of the %Locale class.
24 #ifndef _FLCL_LOCALE_H_
25 #define _FLCL_LOCALE_H_
27 #include <FBaseObject.h>
28 #include <FBaseString.h>
30 namespace Tizen { namespace Locales
36 * Defines the calendar type.
42 CALENDAR_GREGORIAN, /**< The calendar type: Gregorian calendar (default) */
43 CALENDAR_BUDDHIST, /**< The calendar type: Buddhist calendar (same as Gregorian except for the year) */
44 CALENDAR_CHINESE, /**< The calendar type: Traditional Chinese calendar */
45 CALENDAR_COPTIC, /**< The calendar type: Coptic calendar */
46 CALENDAR_ETHIOPIC_AMETE_ALEM, /**< The calendar type: Ethiopic calendar, Amete Alem (epoch approx. 5493 B.C.E.) */
47 CALENDAR_ETHIOPIC, /**< The calendar type: Ethiopic calendar, Amete Mihret (epoch approx. 8 C.E.) */
48 CALENDAR_HEBREW, /**< The calendar type: TraditionalHebrew calendar */
49 CALENDAR_INDIAN, /**< The calendar type: Indian calendar */
50 CALENDAR_ISLAMIC, /**< The calendar type: Astronomical Arabic calendar */
51 CALENDAR_ISLAMIC_CIVIL, /**< The calendar type: Civil (algorithmic) Arabic calendar */
52 CALENDAR_JAPANESE, /**< The calendar type: Japanese Imperial calendar (same as Gregorian except for the year, with one era for each Emperor) */
53 CALENDAR_PERSIAN, /**< The calendar type: Persian calendar */
54 CALENDAR_ROC, /**< The calendar type: Republic of China calendar */
55 CALENDAR_TAIWAN, /**< The calendar type: Taiwan calendar */
56 CALENDAR_ISO8601, /**< The calendar type: ISO8601 calendar */
63 * Defines the ISO 639-2 language code. @n
64 * The LanguageCode enumerator represents the ISO 639-2 language codes. @n
65 * The specific LanguageCode represents the language code with the locale's ISO-15924 abbreviation script code. @n
66 * The supported ISO-15924 script codes are Arabic, Cyrillic, Latin, Hans, Hant and Gurmukhi.
72 LANGUAGE_INVALID = -1, /**< An invalid language code */
73 LANGUAGE_AAR, /**< Afar */
74 LANGUAGE_ABK, /**< Abkhazian */
75 LANGUAGE_ACE, /**< Achinese */
76 LANGUAGE_ACH, /**< Acoli */
77 LANGUAGE_ADA, /**< Adangme */
78 LANGUAGE_ADY, /**< Adyghe; Adygei */
79 LANGUAGE_AFA, /**< Afro-Asiatic languages */
80 LANGUAGE_AFH, /**< Afrihili */
81 LANGUAGE_AFR, /**< Afrikaans */
82 LANGUAGE_AIN, /**< Ainu */
83 LANGUAGE_AKA, /**< Akan */
84 LANGUAGE_AKK, /**< Akkadian */
85 LANGUAGE_SQI, /**< Albanian */
86 LANGUAGE_ALE, /**< Aleut */
87 LANGUAGE_ALG, /**< Algonquian languages */
88 LANGUAGE_ALT, /**< Southern Altai */
89 LANGUAGE_AMH, /**< Amharic */
90 LANGUAGE_ANG, /**< English, Old (ca.450-1100) */
91 LANGUAGE_ANP, /**< Angika */
92 LANGUAGE_APA, /**< Apache languages */
93 LANGUAGE_ARA, /**< Arabic */
94 LANGUAGE_ARC, /**< Official Aramaic (700-300 BCE); Imperial Aramaic (700-300 BCE) */
95 LANGUAGE_ARG, /**< Aragonese */
96 LANGUAGE_HYE, /**< Armenian */
97 LANGUAGE_ARN, /**< Mapudungun; Mapuche */
98 LANGUAGE_ARP, /**< Arapaho */
99 LANGUAGE_ART, /**< Artificial languages */
100 LANGUAGE_ARW, /**< Arawak */
101 LANGUAGE_ASM, /**< Assamese */
102 LANGUAGE_AST, /**< Asturian; Bable; Leonese; Asturleonese */
103 LANGUAGE_ATH, /**< Athapascan languages */
104 LANGUAGE_AUS, /**< Australian languages */
105 LANGUAGE_AVA, /**< Avaric */
106 LANGUAGE_AVE, /**< Avestan */
107 LANGUAGE_AWA, /**< Awadhi */
108 LANGUAGE_AYM, /**< Aymara */
109 LANGUAGE_AZE, /**< Azerbaijani */
110 LANGUAGE_AZE_ARAB, /**< Azerbaijani (Arabic) */
111 LANGUAGE_AZE_CYRL, /**< Azerbaijani (Cyrillic) */
112 LANGUAGE_AZE_LATIN, /**< Azerbaijani (Latin) */
113 LANGUAGE_BAD, /**< Banda languages */
114 LANGUAGE_BAI, /**< Bamileke languages */
115 LANGUAGE_BAK, /**< Bashkir */
116 LANGUAGE_BAL, /**< Baluchi */
117 LANGUAGE_BAM, /**< Bambara */
118 LANGUAGE_BAN, /**< Balinese */
119 LANGUAGE_EUS, /**< Basque */
120 LANGUAGE_BAS, /**< Basa */
121 LANGUAGE_BAT, /**< Baltic languages */
122 LANGUAGE_BEJ, /**< Beja; Bedawiyet */
123 LANGUAGE_BEL, /**< Belarusian */
124 LANGUAGE_BEM, /**< Bemba */
125 LANGUAGE_BEN, /**< Bengali */
126 LANGUAGE_BER, /**< Berber languages */
127 LANGUAGE_BHO, /**< Bhojpuri */
128 LANGUAGE_BIH, /**< Bihari */
129 LANGUAGE_BIK, /**< Bikol */
130 LANGUAGE_BIN, /**< Bini; Edo */
131 LANGUAGE_BIS, /**< Bislama */
132 LANGUAGE_BLA, /**< Siksika */
133 LANGUAGE_BNT, /**< Bantu (Other) */
134 LANGUAGE_BOS, /**< Bosnian */
135 LANGUAGE_BRA, /**< Braj */
136 LANGUAGE_BRE, /**< Breton */
137 LANGUAGE_BTK, /**< Batak languages */
138 LANGUAGE_BUA, /**< Buriat */
139 LANGUAGE_BUG, /**< Buginese */
140 LANGUAGE_BUL, /**< Bulgarian */
141 LANGUAGE_MYA, /**< Burmese */
142 LANGUAGE_BYN, /**< Blin; Bilin */
143 LANGUAGE_CAD, /**< Caddo */
144 LANGUAGE_CAI, /**< Central American Indian languages */
145 LANGUAGE_CAR, /**< Galibi Carib */
146 LANGUAGE_CAT, /**< Catalan; Valencian */
147 LANGUAGE_CAU, /**< Caucasian languages */
148 LANGUAGE_CEB, /**< Cebuano */
149 LANGUAGE_CEL, /**< Celtic languages */
150 LANGUAGE_CHA, /**< Chamorro */
151 LANGUAGE_CHB, /**< Chibcha */
152 LANGUAGE_CHE, /**< Chechen */
153 LANGUAGE_CHG, /**< Chagatai */
154 LANGUAGE_ZHO, /**< Chinese */
155 LANGUAGE_ZHO_HANS, /**< Chinese (Simplified) */
156 LANGUAGE_ZHO_HANT, /**< Chinese (Traditional) */
157 LANGUAGE_CHK, /**< Chuukese */
158 LANGUAGE_CHM, /**< Mari */
159 LANGUAGE_CHN, /**< Chinook jargon */
160 LANGUAGE_CHO, /**< Choctaw */
161 LANGUAGE_CHP, /**< Chipewyan; Dene Suline */
162 LANGUAGE_CHR, /**< Cherokee */
163 LANGUAGE_CHU, /**< Church Slavic; Old Slavonic; Church Slavonic; Old Bulgarian; Old Church Slavonic */
164 LANGUAGE_CHV, /**< Chuvash */
165 LANGUAGE_CHY, /**< Cheyenne */
166 LANGUAGE_CMC, /**< Chamic languages */
167 LANGUAGE_COP, /**< Coptic */
168 LANGUAGE_COR, /**< Cornish */
169 LANGUAGE_COS, /**< Corsican */
170 LANGUAGE_CPE, /**< Creoles and pidgins, English based */
171 LANGUAGE_CPF, /**< Creoles and pidgins, French-based */
172 LANGUAGE_CPP, /**< Creoles and pidgins, Portuguese-based */
173 LANGUAGE_CRE, /**< Cree */
174 LANGUAGE_CRH, /**< Crimean Tatar; Crimean Turkish */
175 LANGUAGE_CRP, /**< Creoles and pidgins */
176 LANGUAGE_CSB, /**< Kashubian */
177 LANGUAGE_CUS, /**< Cushitic languages */
178 LANGUAGE_CES, /**< Czech */
179 LANGUAGE_DAK, /**< Dakota */
180 LANGUAGE_DAN, /**< Danish */
181 LANGUAGE_DAR, /**< Dargwa */
182 LANGUAGE_DAY, /**< Land Dayak languages */
183 LANGUAGE_DEL, /**< Delaware */
184 LANGUAGE_DEN, /**< Slave (Athapascan) */
185 LANGUAGE_DGR, /**< Dogrib */
186 LANGUAGE_DIN, /**< Dinka */
187 LANGUAGE_DIV, /**< Divehi; Dhivehi; Maldivian */
188 LANGUAGE_DOI, /**< Dogri */
189 LANGUAGE_DRA, /**< Dravidian languages */
190 LANGUAGE_DSB, /**< Lower Sorbian */
191 LANGUAGE_DUA, /**< Duala */
192 LANGUAGE_DUM, /**< Dutch, Middle (ca.1050-1350) */
193 LANGUAGE_NLD, /**< Dutch; Flemish */
194 LANGUAGE_DYU, /**< Dyula */
195 LANGUAGE_DZO, /**< Dzongkha */
196 LANGUAGE_EFI, /**< Efik */
197 LANGUAGE_EGY, /**< Egyptian (Ancient) */
198 LANGUAGE_EKA, /**< Ekajuk */
199 LANGUAGE_ELX, /**< Elamite */
200 LANGUAGE_ENG, /**< English */
201 LANGUAGE_ENM, /**< English, Middle (1100-1500) */
202 LANGUAGE_EPO, /**< Esperanto */
203 LANGUAGE_EST, /**< Estonian */
204 LANGUAGE_EWE, /**< Ewe */
205 LANGUAGE_EWO, /**< Ewondo */
206 LANGUAGE_FAN, /**< Fang */
207 LANGUAGE_FAO, /**< Faroese */
208 LANGUAGE_FAT, /**< Fanti */
209 LANGUAGE_FIJ, /**< Fijian */
210 LANGUAGE_FIL, /**< Filipino; Pilipino */
211 LANGUAGE_FIN, /**< Finnish */
212 LANGUAGE_FIU, /**< Finno-Ugrian languages */
213 LANGUAGE_FON, /**< Fon */
214 LANGUAGE_FRA, /**< French */
215 LANGUAGE_FRM, /**< French, Middle (ca.1400-1600) */
216 LANGUAGE_FRO, /**< French, Old (842-ca.1400) */
217 LANGUAGE_FRR, /**< Northern Frisian */
218 LANGUAGE_FRS, /**< Eastern Frisian */
219 LANGUAGE_FRY, /**< Western Frisian */
220 LANGUAGE_FUL, /**< Fulah */
221 LANGUAGE_FUR, /**< Friulian */
222 LANGUAGE_GAA, /**< Ga */
223 LANGUAGE_GAY, /**< Gayo */
224 LANGUAGE_GBA, /**< Gbaya */
225 LANGUAGE_GEM, /**< Germanic languages */
226 LANGUAGE_KAT, /**< Georgian */
227 LANGUAGE_DEU, /**< German */
228 LANGUAGE_GEZ, /**< Geez */
229 LANGUAGE_GIL, /**< Gilbertese */
230 LANGUAGE_GLA, /**< Gaelic; Scottish Gaelic */
231 LANGUAGE_GLE, /**< Irish */
232 LANGUAGE_GLG, /**< Galician */
233 LANGUAGE_GLV, /**< Manx */
234 LANGUAGE_GMH, /**< German, Middle High (ca.1050-1500) */
235 LANGUAGE_GOH, /**< German, Old High (ca.750-1050) */
236 LANGUAGE_GON, /**< Gondi */
237 LANGUAGE_GOR, /**< Gorontalo */
238 LANGUAGE_GOT, /**< Gothic */
239 LANGUAGE_GRB, /**< Grebo */
240 LANGUAGE_GRC, /**< Greek, Ancient (to 1453) */
241 LANGUAGE_ELL, /**< Greek, Modern (1453-) */
242 LANGUAGE_GRN, /**< Guarani */
243 LANGUAGE_GSW, /**< Swiss German; Alemannic; Alsatian */
244 LANGUAGE_GUJ, /**< Gujarati */
245 LANGUAGE_GWI, /**< Gwich'in */
246 LANGUAGE_HAI, /**< Haida */
247 LANGUAGE_HAT, /**< Haitian; Haitian Creole */
248 LANGUAGE_HAU, /**< Hausa */
249 LANGUAGE_HAU_LATIN, /**< Hausa (Latin) */
250 LANGUAGE_HAW, /**< Hawaiian */
251 LANGUAGE_HEB, /**< Hebrew */
252 LANGUAGE_HER, /**< Herero */
253 LANGUAGE_HIL, /**< Hiligaynon */
254 LANGUAGE_HIM, /**< Himachali */
255 LANGUAGE_HIN, /**< Hindi */
256 LANGUAGE_HIT, /**< Hittite */
257 LANGUAGE_HMN, /**< Hmong */
258 LANGUAGE_HMO, /**< Hiri Motu */
259 LANGUAGE_HRV, /**< Croatian */
260 LANGUAGE_HSB, /**< Upper Sorbian */
261 LANGUAGE_HUN, /**< Hungarian */
262 LANGUAGE_HUP, /**< Hupa */
263 LANGUAGE_IBA, /**< Iban */
264 LANGUAGE_IBO, /**< Igbo */
265 LANGUAGE_ISL, /**< Icelandic */
266 LANGUAGE_IDO, /**< Ido */
267 LANGUAGE_III, /**< Sichuan Yi; Nuosu */
268 LANGUAGE_IJO, /**< Ijo languages */
269 LANGUAGE_IKU, /**< Inuktitut */
270 LANGUAGE_ILE, /**< Interlingue; Occidental */
271 LANGUAGE_ILO, /**< Iloko */
272 LANGUAGE_INA, /**< Interlingua (International Auxiliary Language Association) */
273 LANGUAGE_INC, /**< Indic languages */
274 LANGUAGE_IND, /**< Indonesian */
275 LANGUAGE_INE, /**< Indo-European languages */
276 LANGUAGE_INH, /**< Ingush */
277 LANGUAGE_IPK, /**< Inupiaq */
278 LANGUAGE_IRA, /**< Iranian languages */
279 LANGUAGE_IRO, /**< Iroquoian languages */
280 LANGUAGE_ITA, /**< Italian */
281 LANGUAGE_JAV, /**< Javanese */
282 LANGUAGE_JBO, /**< Lojban */
283 LANGUAGE_JPN, /**< Japanese */
284 LANGUAGE_JPR, /**< Judeo-Persian */
285 LANGUAGE_JRB, /**< Judeo-Arabic */
286 LANGUAGE_KAA, /**< Kara-Kalpak */
287 LANGUAGE_KAB, /**< Kabyle */
288 LANGUAGE_KAC, /**< Kachin; Jingpho */
289 LANGUAGE_KAL, /**< Kalaallisut; Greenlandic */
290 LANGUAGE_KAM, /**< Kamba */
291 LANGUAGE_KAN, /**< Kannada */
292 LANGUAGE_KAR, /**< Karen languages */
293 LANGUAGE_KAS, /**< Kashmiri */
294 LANGUAGE_KAU, /**< Kanuri */
295 LANGUAGE_KAW, /**< Kawi */
296 LANGUAGE_KAZ, /**< Kazakh */
297 LANGUAGE_KAZ_CYRL, /**< Kazakh (Cyrillic) */
298 LANGUAGE_KBD, /**< Kabardian */
299 LANGUAGE_KHA, /**< Khasi */
300 LANGUAGE_KHI, /**< Khoisan languages */
301 LANGUAGE_KHM, /**< Central Khmer */
302 LANGUAGE_KHO, /**< Khotanese; Sakan */
303 LANGUAGE_KIK, /**< Kikuyu; Gikuyu */
304 LANGUAGE_KIN, /**< Kinyarwanda */
305 LANGUAGE_KIR, /**< Kirghiz; Kyrgyz */
306 LANGUAGE_KMB, /**< Kimbundu */
307 LANGUAGE_KOK, /**< Konkani */
308 LANGUAGE_KOM, /**< Komi */
309 LANGUAGE_KON, /**< Kongo */
310 LANGUAGE_KOR, /**< Korean */
311 LANGUAGE_KOS, /**< Kosraean */
312 LANGUAGE_KPE, /**< Kpelle */
313 LANGUAGE_KRC, /**< Karachay-Balkar */
314 LANGUAGE_KRL, /**< Karelian */
315 LANGUAGE_KRO, /**< Kru languages */
316 LANGUAGE_KRU, /**< Kurukh */
317 LANGUAGE_KUA, /**< Kuanyama; Kwanyama */
318 LANGUAGE_KUM, /**< Kumyk */
319 LANGUAGE_KUR, /**< Kurdish */
320 LANGUAGE_KUT, /**< Kutenai */
321 LANGUAGE_LAD, /**< Ladino */
322 LANGUAGE_LAH, /**< Lahnda */
323 LANGUAGE_LAM, /**< Lamba */
324 LANGUAGE_LAO, /**< Lao */
325 LANGUAGE_LAT, /**< Latin */
326 LANGUAGE_LAV, /**< Latvian */
327 LANGUAGE_LEZ, /**< Lezghian */
328 LANGUAGE_LIM, /**< Limburgan; Limburger; Limburgish */
329 LANGUAGE_LIN, /**< Lingala */
330 LANGUAGE_LIT, /**< Lithuanian */
331 LANGUAGE_LOL, /**< Mongo */
332 LANGUAGE_LOZ, /**< Lozi */
333 LANGUAGE_LTZ, /**< Luxembourgish; Letzeburgesch */
334 LANGUAGE_LUA, /**< Luba-Lulua */
335 LANGUAGE_LUB, /**< Luba-Katanga */
336 LANGUAGE_LUG, /**< Ganda */
337 LANGUAGE_LUI, /**< Luiseno */
338 LANGUAGE_LUN, /**< Lunda */
339 LANGUAGE_LUO, /**< Luo (Kenya and Tanzania) */
340 LANGUAGE_LUS, /**< Lushai */
341 LANGUAGE_MKD, /**< Macedonian */
342 LANGUAGE_MAD, /**< Madurese */
343 LANGUAGE_MAG, /**< Magahi */
344 LANGUAGE_MAH, /**< Marshallese */
345 LANGUAGE_MAI, /**< Maithili */
346 LANGUAGE_MAK, /**< Makasar */
347 LANGUAGE_MAL, /**< Malayalam */
348 LANGUAGE_MAN, /**< Mandingo */
349 LANGUAGE_MRI, /**< Maori */
350 LANGUAGE_MAP, /**< Austronesian languages */
351 LANGUAGE_MAR, /**< Marathi */
352 LANGUAGE_MAS, /**< Masai */
353 LANGUAGE_MSA, /**< Malay */
354 LANGUAGE_MDF, /**< Moksha */
355 LANGUAGE_MDR, /**< Mandar */
356 LANGUAGE_MEN, /**< Mende */
357 LANGUAGE_MGA, /**< Irish, Middle (900-1200) */
358 LANGUAGE_MIC, /**< Mi'kmaq; Micmac */
359 LANGUAGE_MIN, /**< Minangkabau */
360 LANGUAGE_MIS, /**< Uncoded languages */
361 LANGUAGE_MKH, /**< Mon-Khmer languages */
362 LANGUAGE_MLG, /**< Malagasy */
363 LANGUAGE_MLT, /**< Maltese */
364 LANGUAGE_MNC, /**< Manchu */
365 LANGUAGE_MNI, /**< Manipuri */
366 LANGUAGE_MNO, /**< Manobo languages */
367 LANGUAGE_MOH, /**< Mohawk */
368 LANGUAGE_MON, /**< Mongolian */
369 LANGUAGE_MOS, /**< Mossi */
370 LANGUAGE_MUL, /**< Multiple languages */
371 LANGUAGE_MUN, /**< Munda languages */
372 LANGUAGE_MUS, /**< Creek */
373 LANGUAGE_MWL, /**< Mirandese */
374 LANGUAGE_MWR, /**< Marwari */
375 LANGUAGE_MYN, /**< Mayan languages */
376 LANGUAGE_MYV, /**< Erzya */
377 LANGUAGE_NAH, /**< Nahuatl languages */
378 LANGUAGE_NAI, /**< North American Indian languages */
379 LANGUAGE_NAP, /**< Neapolitan */
380 LANGUAGE_NAU, /**< Nauru */
381 LANGUAGE_NAV, /**< Navajo; Navaho */
382 LANGUAGE_NBL, /**< Ndebele, South; South Ndebele */
383 LANGUAGE_NDE, /**< Ndebele, North; North Ndebele */
384 LANGUAGE_NDO, /**< Ndonga */
385 LANGUAGE_NDS, /**< Low German; Low Saxon; German, Low; Saxon, Low */
386 LANGUAGE_NEP, /**< Nepali */
387 LANGUAGE_NEW, /**< Nepal Bhasa; Newari */
388 LANGUAGE_NIA, /**< Nias */
389 LANGUAGE_NIC, /**< Niger-Kordofanian languages */
390 LANGUAGE_NIU, /**< Niuean */
391 LANGUAGE_NNO, /**< Norwegian Nynorsk; Nynorsk, Norwegian */
392 LANGUAGE_NOB, /**< Bokmal, Norwegian; Norwegian Bokmal */
393 LANGUAGE_NOG, /**< Nogai */
394 LANGUAGE_NON, /**< Norse, Old */
395 LANGUAGE_NOR, /**< Norwegian */
396 LANGUAGE_NQO, /**< N'Ko */
397 LANGUAGE_NSO, /**< Pedi; Sepedi; Northern Sotho */
398 LANGUAGE_NUB, /**< Nubian languages */
399 LANGUAGE_NWC, /**< Classical Newari; Old Newari; Classical Nepal Bhasa */
400 LANGUAGE_NYA, /**< Chichewa; Chewa; Nyanja */
401 LANGUAGE_NYM, /**< Nyamwezi */
402 LANGUAGE_NYN, /**< Nyankole */
403 LANGUAGE_NYO, /**< Nyoro */
404 LANGUAGE_NZI, /**< Nzima */
405 LANGUAGE_OCI, /**< Occitan (post 1500); Provencal */
406 LANGUAGE_OJI, /**< Ojibwa */
407 LANGUAGE_ORI, /**< Oriya */
408 LANGUAGE_ORM, /**< Oromo */
409 LANGUAGE_OSA, /**< Osage */
410 LANGUAGE_OSS, /**< Ossetian; Ossetic */
411 LANGUAGE_OTA, /**< Turkish, Ottoman (1500-1928) */
412 LANGUAGE_OTO, /**< Otomian languages */
413 LANGUAGE_PAA, /**< Papuan languages */
414 LANGUAGE_PAG, /**< Pangasinan */
415 LANGUAGE_PAL, /**< Pahlavi */
416 LANGUAGE_PAM, /**< Pampanga; Kapampangan */
417 LANGUAGE_PAN, /**< Panjabi; Punjabi */
418 LANGUAGE_PAN_ARAB, /**< Panjabi; Punjabi (Arabic) */
419 LANGUAGE_PAN_GURU, /**< Panjabi; Punjabi (Gurmukhi) */
420 LANGUAGE_PAP, /**< Papiamento */
421 LANGUAGE_PAU, /**< Palauan */
422 LANGUAGE_PEO, /**< Persian, Old (ca.600-400 B.C.) */
423 LANGUAGE_FAS, /**< Persian */
424 LANGUAGE_PHI, /**< Philippine languages */
425 LANGUAGE_PHN, /**< Phoenician */
426 LANGUAGE_PLI, /**< Pali */
427 LANGUAGE_POL, /**< Polish */
428 LANGUAGE_PON, /**< Pohnpeian */
429 LANGUAGE_POR, /**< Portuguese */
430 LANGUAGE_PRA, /**< Prakrit languages */
431 LANGUAGE_PRO, /**< Provencal, Old (to 1500) */
432 LANGUAGE_PUS, /**< Pushto; Pashto */
433 LANGUAGE_QAA_QTZ, /**< Reserved for local use */
434 LANGUAGE_QUE, /**< Quechua */
435 LANGUAGE_RAJ, /**< Rajasthani */
436 LANGUAGE_RAP, /**< Rapanui */
437 LANGUAGE_RAR, /**< Rarotongan; Cook Islands Maori */
438 LANGUAGE_ROA, /**< Romance languages */
439 LANGUAGE_ROH, /**< Romansh */
440 LANGUAGE_ROM, /**< Romany */
441 LANGUAGE_RON, /**< Romanian; Moldavian; Moldovan */
442 LANGUAGE_RUN, /**< Rundi */
443 LANGUAGE_RUP, /**< Aromanian; Arumanian; Macedo-Romanian */
444 LANGUAGE_RUS, /**< Russian */
445 LANGUAGE_SAD, /**< Sandawe */
446 LANGUAGE_SAG, /**< Sango */
447 LANGUAGE_SAH, /**< Yakut */
448 LANGUAGE_SAI, /**< South American Indian (Other) */
449 LANGUAGE_SAL, /**< Salishan languages */
450 LANGUAGE_SAM, /**< Samaritan Aramaic */
451 LANGUAGE_SAN, /**< Sanskrit */
452 LANGUAGE_SAS, /**< Sasak */
453 LANGUAGE_SAT, /**< Santali */
454 LANGUAGE_SCN, /**< Sicilian */
455 LANGUAGE_SCO, /**< Scots */
456 LANGUAGE_SEL, /**< Selkup */
457 LANGUAGE_SEM, /**< Semitic languages */
458 LANGUAGE_SGA, /**< Irish, Old (to 900) */
459 LANGUAGE_SGN, /**< Sign Languages */
460 LANGUAGE_SHN, /**< Shan */
461 LANGUAGE_SID, /**< Sidamo */
462 LANGUAGE_SIN, /**< Sinhala; Sinhalese */
463 LANGUAGE_SIO, /**< Siouan languages */
464 LANGUAGE_SIT, /**< Sino-Tibetan languages */
465 LANGUAGE_SLA, /**< Slavic languages */
466 LANGUAGE_SLK, /**< Slovak */
467 LANGUAGE_SLV, /**< Slovenian */
468 LANGUAGE_SMA, /**< Southern Sami */
469 LANGUAGE_SME, /**< Northern Sami */
470 LANGUAGE_SMI, /**< Sami languages */
471 LANGUAGE_SMJ, /**< Lule Sami */
472 LANGUAGE_SMN, /**< Inari Sami */
473 LANGUAGE_SMO, /**< Samoan */
474 LANGUAGE_SMS, /**< Skolt Sami */
475 LANGUAGE_SNA, /**< Shona */
476 LANGUAGE_SND, /**< Sindhi */
477 LANGUAGE_SNK, /**< Soninke */
478 LANGUAGE_SOG, /**< Sogdian */
479 LANGUAGE_SOM, /**< Somali */
480 LANGUAGE_SON, /**< Songhai languages */
481 LANGUAGE_SOT, /**< Sotho, Southern */
482 LANGUAGE_SPA, /**< Spanish; Castilian */
483 LANGUAGE_SRD, /**< Sardinian */
484 LANGUAGE_SRN, /**< Sranan Tongo */
485 LANGUAGE_SRP, /**< Serbian */
486 LANGUAGE_SRP_CYRL, /**< Serbian (Cyrillic) */
487 LANGUAGE_SRP_LATIN, /**< Serbian (Latin) */
488 LANGUAGE_SRR, /**< Serer */
489 LANGUAGE_SSA, /**< Nilo-Saharan languages */
490 LANGUAGE_SSW, /**< Swati */
491 LANGUAGE_SUK, /**< Sukuma */
492 LANGUAGE_SUN, /**< Sundanese */
493 LANGUAGE_SUS, /**< Susu */
494 LANGUAGE_SUX, /**< Sumerian */
495 LANGUAGE_SWA, /**< Swahili */
496 LANGUAGE_SWE, /**< Swedish */
497 LANGUAGE_SYC, /**< Classical Syriac */
498 LANGUAGE_SYR, /**< Syriac */
499 LANGUAGE_TAH, /**< Tahitian */
500 LANGUAGE_TAI, /**< Tai languages */
501 LANGUAGE_TAM, /**< Tamil */
502 LANGUAGE_TAT, /**< Tatar */
503 LANGUAGE_TEL, /**< Telugu */
504 LANGUAGE_TEM, /**< Timne */
505 LANGUAGE_TER, /**< Tereno */
506 LANGUAGE_TET, /**< Tetum */
507 LANGUAGE_TGK, /**< Tajik */
508 LANGUAGE_TGL, /**< Tagalog */
509 LANGUAGE_THA, /**< Thai */
510 LANGUAGE_BOD, /**< Tibetan */
511 LANGUAGE_TIG, /**< Tigre */
512 LANGUAGE_TIR, /**< Tigrinya */
513 LANGUAGE_TIV, /**< Tiv */
514 LANGUAGE_TKL, /**< Tokelau */
515 LANGUAGE_TLH, /**< Klingon; tlhIngan-Hol */
516 LANGUAGE_TLI, /**< Tlingit */
517 LANGUAGE_TMH, /**< Tamashek */
518 LANGUAGE_TOG, /**< Tonga (Nyasa) */
519 LANGUAGE_TON, /**< Tonga (Tonga Islands) */
520 LANGUAGE_TPI, /**< Tok Pisin */
521 LANGUAGE_TSI, /**< Tsimshian */
522 LANGUAGE_TSN, /**< Tswana */
523 LANGUAGE_TSO, /**< Tsonga */
524 LANGUAGE_TUK, /**< Turkmen */
525 LANGUAGE_TUK_CYRL, /**< Turkmen (Cyrillic) */
526 LANGUAGE_TUK_LATIN, /**< Turkmen (Latin) */
527 LANGUAGE_TUM, /**< Tumbuka */
528 LANGUAGE_TUP, /**< Tupi languages */
529 LANGUAGE_TUR, /**< Turkish */
530 LANGUAGE_TUT, /**< Altaic languages */
531 LANGUAGE_TVL, /**< Tuvalu */
532 LANGUAGE_TWI, /**< Twi */
533 LANGUAGE_TYV, /**< Tuvinian */
534 LANGUAGE_UDM, /**< Udmurt */
535 LANGUAGE_UGA, /**< Ugaritic */
536 LANGUAGE_UIG, /**< Uighur; Uyghur */
537 LANGUAGE_UKR, /**< Ukrainian */
538 LANGUAGE_UMB, /**< Umbundu */
539 LANGUAGE_UND, /**< Undetermined */
540 LANGUAGE_URD, /**< Urdu */
541 LANGUAGE_UZB, /**< Uzbek */
542 LANGUAGE_UZB_ARAB, /**< Uzbek (Arabic) */
543 LANGUAGE_UZB_CYRL, /**< Uzbek (Cyrillic) */
544 LANGUAGE_UZB_LATIN, /**< Uzbek (Latin) */
545 LANGUAGE_VAI, /**< Vai */
546 LANGUAGE_VEN, /**< Venda */
547 LANGUAGE_VIE, /**< Vietnamese */
548 LANGUAGE_VLS, /**< Vlaams; Flemish" */
549 LANGUAGE_VOL, /**< Volapuk */
550 LANGUAGE_VOT, /**< Votic */
551 LANGUAGE_WAK, /**< Wakashan languages */
552 LANGUAGE_WAL, /**< Walamo */
553 LANGUAGE_WAR, /**< Waray */
554 LANGUAGE_WAS, /**< Washo */
555 LANGUAGE_CYM, /**< Welsh */
556 LANGUAGE_WEN, /**< Sorbian languages */
557 LANGUAGE_WLN, /**< Walloon */
558 LANGUAGE_WOL, /**< Wolof */
559 LANGUAGE_XAL, /**< Kalmyk; Oirat */
560 LANGUAGE_XHO, /**< Xhosa */
561 LANGUAGE_YAO, /**< Yao */
562 LANGUAGE_YAP, /**< Yapese */
563 LANGUAGE_YID, /**< Yiddish */
564 LANGUAGE_YOR, /**< Yoruba */
565 LANGUAGE_YPK, /**< Yupik languages */
566 LANGUAGE_ZAP, /**< Zapotec */
567 LANGUAGE_ZBL, /**< Blissymbols; Blissymbolics; Bliss */
568 LANGUAGE_ZEN, /**< Zenaga */
569 LANGUAGE_ZHA, /**< Zhuang; Chuang */
570 LANGUAGE_ZND, /**< Zande languages */
571 LANGUAGE_ZUL, /**< Zulu */
572 LANGUAGE_ZUN, /**< Zuni */
573 LANGUAGE_ZXX, /**< No linguistic content; Not applicable */
574 LANGUAGE_ZZA, /**< Zaza; Dimili; Dimli; Kirdki; Kirmanjki; Zazaki */
575 LANGUAGE_MAX, // Language max count
577 LANGUAGE_INVALID_RESERVED = LANGUAGE_ZZA + 2, // An invalid language code for internal (LANGUAGE_ZZA+2)
584 * Defines the ISO 3166-1 alpha-2 country code. @n
585 * The CountryCode enumerator represents the ISO 3166-1 alpha-2 country codes.
586 * The area code for Latin america and the Caribbean represents the ISO 3166-1 numeric-3.
592 COUNTRY_INVALID = -1, /**< An invalid country code */
593 COUNTRY_AF, /**< AFGHANISTAN */
594 COUNTRY_AX, /**< ALAND ISLANDS */
595 COUNTRY_AL, /**< ALBANIA */
596 COUNTRY_DZ, /**< ALGERIA */
597 COUNTRY_AS, /**< AMERICAN SAMOA */
598 COUNTRY_AD, /**< ANDORRA */
599 COUNTRY_AO, /**< ANGOLA */
600 COUNTRY_AI, /**< ANGUILLA */
601 COUNTRY_AQ, /**< ANTARCTICA */
602 COUNTRY_AG, /**< ANTIGUA AND BARBUDA */
603 COUNTRY_AR, /**< ARGENTINA */
604 COUNTRY_AM, /**< ARMENIA */
605 COUNTRY_AW, /**< ARUBA */
606 COUNTRY_AU, /**< AUSTRALIA */
607 COUNTRY_AT, /**< AUSTRIA */
608 COUNTRY_AZ, /**< AZERBAIJAN */
609 COUNTRY_BS, /**< BAHAMAS */
610 COUNTRY_BH, /**< BAHRAIN */
611 COUNTRY_BD, /**< BANGLADESH */
612 COUNTRY_BB, /**< BARBADOS */
613 COUNTRY_BY, /**< BELARUS */
614 COUNTRY_BE, /**< BELGIUM */
615 COUNTRY_BZ, /**< BELIZE */
616 COUNTRY_BJ, /**< BENIN */
617 COUNTRY_BM, /**< BERMUDA */
618 COUNTRY_BT, /**< BHUTAN */
619 COUNTRY_BO, /**< BOLIVIA */
620 COUNTRY_BA, /**< BOSNIA AND HERZEGOVINA */
621 COUNTRY_BW, /**< BOTSWANA */
622 COUNTRY_BV, /**< BOUVET ISLAND */
623 COUNTRY_BR, /**< BRAZIL */
624 COUNTRY_IO, /**< BRITISH INDIAN OCEAN TERRITORY */
625 COUNTRY_BN, /**< BRUNEI DARUSSALAM */
626 COUNTRY_BG, /**< BULGARIA */
627 COUNTRY_BF, /**< BURKINA FASO */
628 COUNTRY_BI, /**< BURUNDI */
629 COUNTRY_KH, /**< CAMBODIA */
630 COUNTRY_CM, /**< CAMEROON */
631 COUNTRY_CA, /**< CANADA */
632 COUNTRY_CV, /**< CAPE VERDE */
633 COUNTRY_KY, /**< CAYMAN ISLANDS */
634 COUNTRY_CF, /**< CENTRAL AFRICAN REPUBLIC */
635 COUNTRY_TD, /**< CHAD */
636 COUNTRY_CL, /**< CHILE */
637 COUNTRY_CN, /**< CHINA */
638 COUNTRY_CX, /**< CHRISTMAS ISLAND */
639 COUNTRY_CC, /**< COCOS (KEELING) ISLANDS */
640 COUNTRY_CO, /**< COLOMBIA */
641 COUNTRY_KM, /**< COMOROS */
642 COUNTRY_CG, /**< CONGO */
643 COUNTRY_CD, /**< CONGO, THE DEMOCRATIC REPUBLIC OF THE */
644 COUNTRY_CK, /**< COOK ISLANDS */
645 COUNTRY_CR, /**< COSTA RICA */
646 COUNTRY_CI, /**< COTE D'IVOIRE */
647 COUNTRY_HR, /**< CROATIA */
648 COUNTRY_CU, /**< CUBA */
649 COUNTRY_CY, /**< CYPRUS */
650 COUNTRY_CZ, /**< CZECH REPUBLIC */
651 COUNTRY_DK, /**< DENMARK */
652 COUNTRY_DJ, /**< DJIBOUTI */
653 COUNTRY_DM, /**< DOMINICA */
654 COUNTRY_DO, /**< DOMINICAN REPUBLIC */
655 COUNTRY_EC, /**< ECUADOR */
656 COUNTRY_EG, /**< EGYPT */
657 COUNTRY_SV, /**< EL SALVADOR */
658 COUNTRY_GQ, /**< EQUATORIAL GUINEA */
659 COUNTRY_ER, /**< ERITREA */
660 COUNTRY_EE, /**< ESTONIA */
661 COUNTRY_ET, /**< ETHIOPIA */
662 COUNTRY_FK, /**< FALKLAND ISLANDS (MALVINAS) */
663 COUNTRY_FO, /**< FAROE ISLANDS */
664 COUNTRY_FJ, /**< FIJI */
665 COUNTRY_FI, /**< FINLAND */
666 COUNTRY_FR, /**< FRANCE */
667 COUNTRY_GF, /**< FRENCH GUIANA */
668 COUNTRY_PF, /**< FRENCH POLYNESIA */
669 COUNTRY_TF, /**< FRENCH SOUTHERN TERRITORIES */
670 COUNTRY_GA, /**< GABON */
671 COUNTRY_GM, /**< GAMBIA */
672 COUNTRY_GE, /**< GEORGIA */
673 COUNTRY_DE, /**< GERMANY */
674 COUNTRY_GH, /**< GHANA */
675 COUNTRY_GI, /**< GIBRALTAR */
676 COUNTRY_GR, /**< GREECE */
677 COUNTRY_GL, /**< GREENLAND */
678 COUNTRY_GD, /**< GRENADA */
679 COUNTRY_GP, /**< GUADELOUPE */
680 COUNTRY_GU, /**< GUAM */
681 COUNTRY_GT, /**< GUATEMALA */
682 COUNTRY_GN, /**< GUINEA */
683 COUNTRY_GW, /**< GUINEA-BISSAU */
684 COUNTRY_GY, /**< GUYANA */
685 COUNTRY_HT, /**< HAITI */
686 COUNTRY_HM, /**< HEARD ISLAND AND MCDONALD ISLANDS */
687 COUNTRY_VA, /**< HOLY SEE (VATICAN CITY STATE) */
688 COUNTRY_HN, /**< HONDURAS */
689 COUNTRY_HK, /**< HONG KONG */
690 COUNTRY_HU, /**< HUNGARY */
691 COUNTRY_IS, /**< ICELAND */
692 COUNTRY_IN, /**< INDIA */
693 COUNTRY_ID, /**< INDONESIA */
694 COUNTRY_IR, /**< IRAN, ISLAMIC REPUBLIC OF */
695 COUNTRY_IQ, /**< IRAQ */
696 COUNTRY_IE, /**< IRELAND */
697 COUNTRY_IL, /**< ISRAEL */
698 COUNTRY_IT, /**< ITALY */
699 COUNTRY_JM, /**< JAMAICA */
700 COUNTRY_JP, /**< JAPAN */
701 COUNTRY_JO, /**< JORDAN */
702 COUNTRY_KZ, /**< KAZAKHSTAN */
703 COUNTRY_KE, /**< KENYA */
704 COUNTRY_KI, /**< KIRIBATI */
705 COUNTRY_KP, /**< KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF */
706 COUNTRY_KR, /**< KOREA, REPUBLIC OF */
707 COUNTRY_KW, /**< KUWAIT */
708 COUNTRY_KG, /**< KYRGYZSTAN */
709 COUNTRY_LA, /**< LAO PEOPLE'S DEMOCRATIC REPUBLIC */
710 COUNTRY_LV, /**< LATVIA */
711 COUNTRY_LB, /**< LEBANON */
712 COUNTRY_LS, /**< LESOTHO */
713 COUNTRY_LR, /**< LIBERIA */
714 COUNTRY_LY, /**< LIBYAN ARAB JAMAHIRIYA */
715 COUNTRY_LI, /**< LIECHTENSTEIN */
716 COUNTRY_LT, /**< LITHUANIA */
717 COUNTRY_LU, /**< LUXEMBOURG */
718 COUNTRY_MO, /**< MACAO */
719 COUNTRY_MK, /**< MACEDONIA, THE FORMER YUGOSLAV REPUBLIC OF */
720 COUNTRY_MG, /**< MADAGASCAR */
721 COUNTRY_MW, /**< MALAWI */
722 COUNTRY_MY, /**< MALAYSIA */
723 COUNTRY_MV, /**< MALDIVES */
724 COUNTRY_ML, /**< MALI */
725 COUNTRY_MT, /**< MALTA */
726 COUNTRY_MH, /**< MARSHALL ISLANDS */
727 COUNTRY_MQ, /**< MARTINIQUE */
728 COUNTRY_MR, /**< MAURITANIA */
729 COUNTRY_MU, /**< MAURITIUS */
730 COUNTRY_YT, /**< MAYOTTE */
731 COUNTRY_MX, /**< MEXICO */
732 COUNTRY_FM, /**< MICRONESIA, FEDERATED STATES OF */
733 COUNTRY_MD, /**< MOLDOVA, REPUBLIC OF */
734 COUNTRY_MC, /**< MONACO */
735 COUNTRY_MN, /**< MONGOLIA */
736 COUNTRY_MS, /**< MONTSERRAT */
737 COUNTRY_MA, /**< MOROCCO */
738 COUNTRY_MZ, /**< MOZAMBIQUE */
739 COUNTRY_MM, /**< MYANMAR */
740 COUNTRY_NA, /**< NAMIBIA */
741 COUNTRY_NR, /**< NAURU */
742 COUNTRY_NP, /**< NEPAL */
743 COUNTRY_NL, /**< NETHERLANDS */
744 COUNTRY_AN, /**< NETHERLANDS ANTILLES */
745 COUNTRY_NC, /**< NEW CALEDONIA */
746 COUNTRY_NZ, /**< NEW ZEALAND */
747 COUNTRY_NI, /**< NICARAGUA */
748 COUNTRY_NE, /**< NIGER */
749 COUNTRY_NG, /**< NIGERIA */
750 COUNTRY_NU, /**< NIUE */
751 COUNTRY_NF, /**< NORFOLK ISLAND */
752 COUNTRY_MP, /**< NORTHERN MARIANA ISLANDS */
753 COUNTRY_NO, /**< NORWAY */
754 COUNTRY_OM, /**< OMAN */
755 COUNTRY_PK, /**< PAKISTAN */
756 COUNTRY_PW, /**< PALAU */
757 COUNTRY_PS, /**< PALESTINIAN TERRITORY, OCCUPIED */
758 COUNTRY_PA, /**< PANAMA */
759 COUNTRY_PG, /**< PAPUA NEW GUINEA */
760 COUNTRY_PY, /**< PARAGUAY */
761 COUNTRY_PE, /**< PERU */
762 COUNTRY_PH, /**< PHILIPPINES */
763 COUNTRY_PN, /**< PITCAIRN */
764 COUNTRY_PL, /**< POLAND */
765 COUNTRY_PT, /**< PORTUGAL */
766 COUNTRY_PR, /**< PUERTO RICO */
767 COUNTRY_QA, /**< QATAR */
768 COUNTRY_RE, /**< REUNION */
769 COUNTRY_RO, /**< ROMANIA */
770 COUNTRY_RU, /**< RUSSIAN FEDERATION */
771 COUNTRY_RW, /**< RWANDA */
772 COUNTRY_SH, /**< SAINT HELENA */
773 COUNTRY_KN, /**< SAINT KITTS AND NEVIS */
774 COUNTRY_LC, /**< SAINT LUCIA */
775 COUNTRY_PM, /**< SAINT PIERRE AND MIQUELON */
776 COUNTRY_VC, /**< SAINT VINCENT AND THE GRENADINES */
777 COUNTRY_WS, /**< SAMOA */
778 COUNTRY_SM, /**< SAN MARINO */
779 COUNTRY_ST, /**< SAO TOME AND PRINCIPE */
780 COUNTRY_SA, /**< SAUDI ARABIA */
781 COUNTRY_SN, /**< SENEGAL */
782 COUNTRY_SC, /**< SEYCHELLES */
783 COUNTRY_SL, /**< SIERRA LEONE */
784 COUNTRY_SG, /**< SINGAPORE */
785 COUNTRY_SK, /**< SLOVAKIA */
786 COUNTRY_SI, /**< SLOVENIA */
787 COUNTRY_SB, /**< SOLOMON ISLANDS */
788 COUNTRY_SO, /**< SOMALIA */
789 COUNTRY_ZA, /**< SOUTH AFRICA */
790 COUNTRY_GS, /**< SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS */
791 COUNTRY_ES, /**< SPAIN */
792 COUNTRY_LK, /**< SRI LANKA */
793 COUNTRY_SD, /**< SUDAN */
794 COUNTRY_SR, /**< SURINAME */
795 COUNTRY_SJ, /**< SVALBARD AND JAN MAYEN */
796 COUNTRY_SZ, /**< SWAZILAND */
797 COUNTRY_SE, /**< SWEDEN */
798 COUNTRY_CH, /**< SWITZERLAND */
799 COUNTRY_SY, /**< SYRIAN ARAB REPUBLIC */
800 COUNTRY_TW, /**< TAIWAN, PROVINCE OF CHINA */
801 COUNTRY_TJ, /**< TAJIKISTAN */
802 COUNTRY_TZ, /**< TANZANIA, UNITED REPUBLIC OF */
803 COUNTRY_TH, /**< THAILAND */
804 COUNTRY_TL, /**< TIMOR-LESTE */
805 COUNTRY_TG, /**< TOGO */
806 COUNTRY_TK, /**< TOKELAU */
807 COUNTRY_TO, /**< TONGA */
808 COUNTRY_TT, /**< TRINIDAD AND TOBAGO */
809 COUNTRY_TN, /**< TUNISIA */
810 COUNTRY_TR, /**< TURKEY */
811 COUNTRY_TM, /**< TURKMENISTAN */
812 COUNTRY_TC, /**< TURKS AND CAICOS ISLANDS */
813 COUNTRY_TV, /**< TUVALU */
814 COUNTRY_UG, /**< UGANDA */
815 COUNTRY_UA, /**< UKRAINE */
816 COUNTRY_AE, /**< UNITED ARAB EMIRATES */
817 COUNTRY_GB, /**< UNITED KINGDOM */
818 COUNTRY_US, /**< UNITED STATES */
819 COUNTRY_UM, /**< UNITED STATES MINOR OUTLYING ISLANDS */
820 COUNTRY_UY, /**< URUGUAY */
821 COUNTRY_UZ, /**< UZBEKISTAN */
822 COUNTRY_VU, /**< VANUATU */
823 COUNTRY_VE, /**< VENEZUELA */
824 COUNTRY_VN, /**< VIET NAM */
825 COUNTRY_VG, /**< VIRGIN ISLANDS, BRITISH */
826 COUNTRY_VI, /**< VIRGIN ISLANDS, U.S. */
827 COUNTRY_WF, /**< WALLIS AND FUTUNA */
828 COUNTRY_EH, /**< WESTERN SAHARA */
829 COUNTRY_YE, /**< YEMEN */
830 COUNTRY_ZM, /**< ZAMBIA */
831 COUNTRY_ZW, /**< ZIMBABWE */
832 COUNTRY_RS, /**< SERBIA */
833 COUNTRY_ME, /**< MONTENEGRO */
834 COUNTRY_BL, /**< SAINT BARTHELEMY @b Since: @b 2.1 */
835 COUNTRY_MF, /**< SAINT MARTIN (FRENCH PART) @b Since: @b 2.1 */
836 COUNTRY_AREA_419, /**< Latin America and the Caribbean @b Since: @b 2.1 */
837 COUNTRY_MAX, //< Country max count
839 COUNTRY_INVALID_RESERVED = COUNTRY_ME + 2, // An invalid country code for internal (COUNTRY_ME+2)
845 * @brief This class is for the locale identification.
849 * @final This class is not intended for extension.
851 * @remarks For more information on the example codes for %Locale class, see LocaleManager.
853 * The %Locale class represents a specific geographical, political, or cultural region. @n
854 * A %Locale object has three attributes:
859 * For more information on the class features, see <a href="../org.tizen.native.appprogramming/html/guide/locales/lang_country_codes.htm">Retrieving Language and Country Codes</a>.
866 class _OSP_EXPORT_ Locale
867 : public Tizen::Base::Object
871 * Initializes an instance of %Locale with the values of the specified locale. @n
872 * Copying of objects using this copy constructor is allowed.
876 * @param[in] otherLocale An instance of %Locale
878 Locale(const Locale& otherLocale);
881 * Initializes an instance of %Locale with the specified language, country, and variant code.
885 * @param[in] languageCode The language code
886 * @param[in] countryCode The country code
887 * @param[in] pVariantCodeString A pointer to the variant code string @n
888 * It is converted to a uppercase letter if it is written in a lowercase letter.
890 Locale(LanguageCode languageCode, CountryCode countryCode, const Tizen::Base::String* pVariantCodeString = null);
893 * Assigns the value of the specified instance to the current instance of %Locale. @n
894 * Copying of objects using this copy assignment operator is allowed.
898 * @return A reference to the current instance of %Locale
899 * @param[in] otherLocale An instance of %Locale
901 Locale& operator =(const Locale& otherLocale);
904 * This is the destructor for this class. @n
905 * This destructor overrides Tizen::Base::Object::~Object().
909 virtual ~Locale(void);
912 * Compares the current instance of %Locale with the specified instance of %Locale.
916 * @return @c true if the value of the specified instance is equal to the value of the current instance, @n
918 * @param[in] otherLocale An instance of %Locale
920 bool operator ==(const Locale& otherLocale) const;
923 * Compares the current instance of %Locale with the specified instance of %Locale.
927 * @return @c true if the value of the specified instance is not equal to the value of the current instance, @n
929 * @param[in] otherLocale An instance of %Locale
931 bool operator !=(const Locale& otherLocale) const;
934 * Converts the operand @c obj to an object of the %Locale type and then compares it with the current instance of %Locale.
938 * @return @c true if the value of the current instance is equal to the value of the specified Tizen::Base::Object, @n
940 * @param[in] obj The object to compare with the current instance
941 * @see Tizen::Base::Object::Equals()
943 virtual bool Equals(const Object& obj) const;
946 * Gets the hash value of the current instance.
950 * @return The hash value of the current instance
952 virtual int GetHashCode(void) const;
955 * Gets the language code (ISO 639-2 code) of the current instance of %Locale.
959 * @return The language code enum value of the instance
961 * @remark The specific LanguageCode represents the language code with the locale's ISO-15924 abbreviation script code.
963 LanguageCode GetLanguageCode(void) const;
966 * Gets the country code (ISO 3166-1 alpha-2 code) or the area code (ISO 3166-1 numeric-3 code) of the current instance of %Locale.
970 * @return The country code enum value of the instance
972 CountryCode GetCountryCode(void) const;
975 * Gets the language code (ISO 639-2 code) string of the current instance of %Locale.
979 * @return The language code, @n
980 * The specific language code string has the locale's ISO-15924 abbreviation script code.
982 Tizen::Base::String GetLanguageCodeString(void) const;
985 * Gets the country code (ISO 3166-1 alpha-2 code) or the area code (ISO 3166-1 numeric-3 code) string of the current instance of %Locale.
989 * @return The country code @n
990 * else the area code if the country code represents Latin America.
992 Tizen::Base::String GetCountryCodeString(void) const;
995 * Gets the variant code string of the current instance of %Locale.
999 * @return The variant code string written in a uppercase letter even if it was set to a lowercase letter, @n
1000 * else an empty string if the variant is not specified
1001 * @see SetVariantCodeString()
1003 Tizen::Base::String GetVariantCodeString(void) const;
1007 * Gets the string representing the current instance of %Locale. @n
1008 * The string consists of the values returned by GetLanguageCodeString(), GetCountryCodeString(), and GetVariantCodeString() assembled into a string.
1012 * @return A concatenated string with the language code string, country code string, and variant string @n
1013 * For example, if the language code is LANGUAGE_ENG, country code is COUNTRY_US, and variant string is empty, @n
1014 * the locale code string is "eng_US".
1015 * @see GetLanguageCodeString()
1016 * @see GetCountryCodeString()
1017 * @see GetVariantCodeString()
1019 Tizen::Base::String GetLocaleCodeString(void) const;
1022 * Gets the country name of the current instance of %Locale that is appropriate for display to the user. @n
1023 * The name is localized for this locale. For example, if this locale is eng_US, the name is "United States".
1027 * @return An error code
1028 * @param[out] countryName The country name of the locale
1029 * @exception E_SUCCESS The method is successful.
1030 * @exception E_UNSUPPORTED_OPERATION The current @c locale does not have country name entry in the database.
1032 result GetCountryName(Tizen::Base::String& countryName) const;
1035 * Gets the country name of the current instance of %Locale that is appropriate for display to the user in the specified %Locale. @n
1036 * The country name is localized for the specified locale(@c otherLocale). For example, if
1037 * the current instance of %Locale is fra_FR and the @c otherLocale is eng_US, the name is "France";
1038 * if the current instance is eng_US and the @c otherLocale is fra_FR, the name returned is "Etats-Unis".
1042 * @return An error code
1043 * @param[in] otherLocale An instance of %Locale according to which the country name of the specified %Locale is displayed
1044 * @param[out] countryName The country name of the locale
1045 * @exception E_SUCCESS The method is successful.
1046 * @exception E_UNSUPPORTED_OPERATION The specified @c locale is not supported, or the current @c locale does not have country name entry in the database.
1048 result GetCountryName(const Locale& otherLocale, Tizen::Base::String& countryName) const;
1051 * Gets the language name of the current instance of %Locale that is appropriate for display to the user. @n
1052 * The name is localized for the locale. For example, if this locale is
1053 * eng_US, the name is "English".
1057 * @return An error code
1058 * @param[out] languageName The language name of the locale
1059 * @exception E_SUCCESS The method is successful.
1060 * @exception E_UNSUPPORTED_OPERATION The current @c locale does not have country name entry in the database.
1062 result GetLanguageName(Tizen::Base::String& languageName) const;
1065 * Gets the language name of the current instance of %Locale that is appropriate for display to the user in the specified %Locale. @n
1066 * The name is localized for the specified locale (@c otherLocale). For example, if
1067 * the current instance is fra_FR and the @c otherLocale is eng_US, the name is "French";
1068 * if the current instance is engUS and the @c otherLocale is fra_FR, the name returned is "anglais".
1072 * @return An error code
1073 * @param[in] otherLocale An instance of %Locale according to which the language name of the specified %Locale is displayed
1074 * @param[out] languageName The language name of the locale
1075 * @exception E_SUCCESS The method is successful.
1076 * @exception E_UNSUPPORTED_OPERATION The specified @c locale is not supported, or the current @c locale does not have country name entry in the database.
1078 result GetLanguageName(const Locale& otherLocale, Tizen::Base::String& languageName) const;
1081 * Sets the variant code with the specified variant code string. @n
1082 * The variant code string is converted to a uppercase letter even if it is set to a lowercase letter.
1086 * @param[in] pVariantCode A pointer to the variant code
1088 void SetVariantCodeString(const Tizen::Base::String* pVariantCode = null);
1091 * Gets the language code equivalent to the specified language code string.
1095 * @param[in] languageCodeString The language code, @n
1096 * To get the specfied LanguageCode with the locale's ISO-15924 abbreviation script code, @n
1097 * the form of languageCodeString should combine the ISO 639-2 language codes and the locale's ISO-15924 abbreviation script code by "-". @n
1098 * For example, if the language code is "aze" and the script code is "latn", @n
1099 * the languageCodeString is "aze-latn", and the LanguageCode is LANGUAGE_AZE_LATIN.
1100 * @return An instance of LanguageCode associated with the @c languageCodeString.
1102 static LanguageCode StringToLanguageCode(const Tizen::Base::String& languageCodeString);
1105 * Gets the country code equivalent to the specified country code string.
1109 * @param[in] countryCodeString The country code
1110 * @return An instance of CountryCode associated with the @c countryCodeString.
1112 static CountryCode StringToCountryCode(const Tizen::Base::String& countryCodeString);
1115 * Gets the language code string equivalent to the specified @c languageCode.
1119 * @param[in] languageCode The language code
1120 * @return The language code string associated with the @c languageCode, @n
1121 * else an empty string if languageCode is invaild.
1122 * @see StringToLanguageCode()
1124 static Tizen::Base::String LanguageCodeToString(LanguageCode languageCode);
1127 * Gets the country code string equivalent to the specified @c countryCode.
1131 * @param[in] countryCode The country code
1132 * @return The ISO 3166-1 alpha-2 country code string associated with the @c countryCode, @n
1133 * else an empty string if countryCode is invaild.
1135 static Tizen::Base::String CountryCodeToString(CountryCode countryCode);
1138 * Gets the 2-letter language code string equivalent to the specified @c languageCode.
1142 * @param[in] languageCode The language code
1143 * @return The ISO 639-2 language code string associated with the @c languageCode, @n
1144 * or The ISO 639-2 language code string with the ISO-15924 script code @n
1145 * if the @c languageCode represents The ISO 639-2 language code with the ISO-15924 script code, @n
1146 * else an empty string if languageCode is invaild.
1148 static Tizen::Base::String LanguageCodeToTwoLetterLanguageCodeString(LanguageCode languageCode);
1151 * Gets the language code equivalent to the specified 2-letter language code string.
1155 * @param[in] languageCodeString The language code string
1156 * @return An instance of LanguageCode associated with the @c languageCodeString.
1157 * @see StringToLanguageCode()
1159 static LanguageCode TwoLetterLanguageCodeStringToLanguageCode(const Tizen::Base::String& languageCodeString);
1162 * Gets the 3-letter country code string equivalent to the specified @c countryCode.
1166 * @param[in] countryCode The country code
1167 * @return The ISO 3166-1 alpha-3 country code string associated with the @c countryCode, @n
1168 * else an empty string if countryCode is invaild
1169 * @see CountryCodeToString()
1170 * @remark COUNTRY_AREA_419 returns an empty string, since it is not defined in the ISO 3166-1 alpha-3.
1172 static Tizen::Base::String CountryCodeToThreeLetterCountryCodeString(CountryCode countryCode);
1175 * Gets the country code equivalent to the specified 3-letter country code string.
1179 * @param[in] countryCodeString The country code string
1180 * @return An instance of CountryCode associated with the @c countryCodeString.
1181 * @see StringToCountryCode()
1183 static CountryCode ThreeLetterCountryCodeStringToCountryCode(const Tizen::Base::String& countryCodeString);
1187 LanguageCode __languageCode;
1188 CountryCode __countryCode;
1190 friend class _LocaleImpl;
1191 class _LocaleImpl* __pLocaleImpl;
1195 }} // Tizen::Locales
1197 #endif //_FLCL_LOCALE_H_