Qt
Internal/Contributor docs for the Qt SDK. Note: These are NOT official API docs; those are found at https://doc.qt.io/
Loading...
Searching...
No Matches
qlocale.h
Go to the documentation of this file.
1// Copyright (C) 2021 The Qt Company Ltd.
2// SPDX-License-Identifier: LicenseRef-Qt-Commercial OR LGPL-3.0-only OR GPL-2.0-only OR GPL-3.0-only
3// Qt-Security score:significant reason:trivial-impl-only
4
5#ifndef QLOCALE_H
6#define QLOCALE_H
7
8#include <QtCore/qvariant.h>
9#include <QtCore/qstring.h>
10#include <QtCore/qobjectdefs.h>
11#include <QtCore/qshareddata.h>
12
14
15class QCalendar;
16class QDataStream;
17class QDate;
18class QDateTime;
19class QLocale;
20class QTime;
21class QVariant;
22class QTextStream;
24
25class QLocalePrivate;
26
27Q_CORE_EXPORT size_t qHash(const QLocale &key, size_t seed = 0) noexcept;
28
29class Q_CORE_EXPORT QLocale
30{
31 Q_GADGET
32 friend class QString;
33 friend class QByteArray;
34 friend class QIntValidator;
35 friend class QDoubleValidatorPrivate;
36 friend class QTextStream;
37 friend class QTextStreamPrivate;
38
39public:
40 static constexpr int DefaultTwoDigitBaseYear = 1900;
41
42// see qlocale_data_p.h for more info on generated data
43// GENERATED PART STARTS HERE
44 enum Language : ushort {
45 AnyLanguage = 0,
46 C = 1,
47 Abkhazian = 2,
48 Afar = 3,
49 Afrikaans = 4,
50 Aghem = 5,
51 Akan = 6,
52 Akkadian = 7,
53 Akoose = 8,
54 Albanian = 9,
55 AmericanSignLanguage = 10,
56 Amharic = 11,
57 AncientEgyptian = 12,
58 AncientGreek = 13,
59 Arabic = 14,
60 Aragonese = 15,
61 Aramaic = 16,
62 Armenian = 17,
63 Assamese = 18,
64 Asturian = 19,
65 Asu = 20,
66 Atsam = 21,
67 Avaric = 22,
68 Avestan = 23,
69 Aymara = 24,
70 Azerbaijani = 25,
71 Bafia = 26,
72 Balinese = 27,
73 Bambara = 28,
74 Bamun = 29,
75 Bangla = 30,
76 Basaa = 31,
77 Bashkir = 32,
78 Basque = 33,
79 BatakToba = 34,
80 Belarusian = 35,
81 Bemba = 36,
82 Bena = 37,
83 Bhojpuri = 38,
84 Bislama = 39,
85 Blin = 40,
86 Bodo = 41,
87 Bosnian = 42,
88 Breton = 43,
89 Buginese = 44,
90 Bulgarian = 45,
91 Burmese = 46,
92 Cantonese = 47,
93 Catalan = 48,
94 Cebuano = 49,
95 CentralAtlasTamazight = 50,
96 CentralKurdish = 51,
97 Chakma = 52,
98 Chamorro = 53,
99 Chechen = 54,
100 Cherokee = 55,
101 Chickasaw = 56,
102 Chiga = 57,
103 Chinese = 58,
104 Church = 59,
105 Chuvash = 60,
106 Colognian = 61,
107 Coptic = 62,
108 Cornish = 63,
109 Corsican = 64,
110 Cree = 65,
111 Croatian = 66,
112 Czech = 67,
113 Danish = 68,
114 Divehi = 69,
115 Dogri = 70,
116 Duala = 71,
117 Dutch = 72,
118 Dzongkha = 73,
119 Embu = 74,
120 English = 75,
121 Erzya = 76,
122 Esperanto = 77,
123 Estonian = 78,
124 Ewe = 79,
125 Ewondo = 80,
126 Faroese = 81,
127 Fijian = 82,
128 Filipino = 83,
129 Finnish = 84,
130 French = 85,
131 Friulian = 86,
132 Fulah = 87,
133 Gaelic = 88,
134 Ga = 89,
135 Galician = 90,
136 Ganda = 91,
137 Geez = 92,
138 Georgian = 93,
139 German = 94,
140 Gothic = 95,
141 Greek = 96,
142 Guarani = 97,
143 Gujarati = 98,
144 Gusii = 99,
145 Haitian = 100,
146 Hausa = 101,
147 Hawaiian = 102,
148 Hebrew = 103,
149 Herero = 104,
150 Hindi = 105,
151 HiriMotu = 106,
152 Hungarian = 107,
153 Icelandic = 108,
154 Ido = 109,
155 Igbo = 110,
156 InariSami = 111,
157 Indonesian = 112,
158 Ingush = 113,
159 Interlingua = 114,
160 Interlingue = 115,
161 Inuktitut = 116,
162 Inupiaq = 117,
163 Irish = 118,
164 Italian = 119,
165 Japanese = 120,
166 Javanese = 121,
167 Jju = 122,
168 JolaFonyi = 123,
169 Kabuverdianu = 124,
170 Kabyle = 125,
171 Kako = 126,
172 Kalaallisut = 127,
173 Kalenjin = 128,
174 Kamba = 129,
175 Kannada = 130,
176 Kanuri = 131,
177 Kashmiri = 132,
178 Kazakh = 133,
179 Kenyang = 134,
180 Khmer = 135,
181 Kiche = 136,
182 Kikuyu = 137,
183 Kinyarwanda = 138,
184 Komi = 139,
185 Kongo = 140,
186 Konkani = 141,
187 Korean = 142,
188 Koro = 143,
189 KoyraboroSenni = 144,
190 KoyraChiini = 145,
191 Kpelle = 146,
192 Kuanyama = 147,
193 Kurdish = 148,
194 Kwasio = 149,
195 Kyrgyz = 150,
196 Lakota = 151,
197 Langi = 152,
198 Lao = 153,
199 Latin = 154,
200 Latvian = 155,
201 Lezghian = 156,
202 Limburgish = 157,
203 Lingala = 158,
204 LiteraryChinese = 159,
205 Lithuanian = 160,
206 Lojban = 161,
207 LowerSorbian = 162,
208 LowGerman = 163,
209 LubaKatanga = 164,
210 LuleSami = 165,
211 Luo = 166,
212 Luxembourgish = 167,
213 Luyia = 168,
214 Macedonian = 169,
215 Machame = 170,
216 Maithili = 171,
217 MakhuwaMeetto = 172,
218 Makonde = 173,
219 Malagasy = 174,
220 Malayalam = 175,
221 Malay = 176,
222 Maltese = 177,
223 Mandingo = 178,
224 Manipuri = 179,
225 Manx = 180,
226 Maori = 181,
227 Mapuche = 182,
228 Marathi = 183,
229 Marshallese = 184,
230 Masai = 185,
231 Mazanderani = 186,
232 Mende = 187,
233 Meru = 188,
234 Meta = 189,
235 Mohawk = 190,
236 Mongolian = 191,
237 Morisyen = 192,
238 Mundang = 193,
239 Muscogee = 194,
240 Nama = 195,
241 NauruLanguage = 196,
242 Navajo = 197,
243 Ndonga = 198,
244 Nepali = 199,
245 Newari = 200,
246 Ngiemboon = 201,
247 Ngomba = 202,
248 NigerianPidgin = 203,
249 Nko = 204,
250 NorthernLuri = 205,
251 NorthernSami = 206,
252 NorthernSotho = 207,
253 NorthNdebele = 208,
254 NorwegianBokmal = 209,
255 NorwegianNynorsk = 210,
256 Nuer = 211,
257 Nyanja = 212,
258 Nyankole = 213,
259 Occitan = 214,
260 Odia = 215,
261 Ojibwa = 216,
262 OldIrish = 217,
263 OldNorse = 218,
264 OldPersian = 219,
265 Oromo = 220,
266 Osage = 221,
267 Ossetic = 222,
268 Pahlavi = 223,
269 Palauan = 224,
270 Pali = 225,
271 Papiamento = 226,
272 Pashto = 227,
273 Persian = 228,
274 Phoenician = 229,
275 Polish = 230,
276 Portuguese = 231,
277 Prussian = 232,
278 Punjabi = 233,
279 Quechua = 234,
280 Romanian = 235,
281 Romansh = 236,
282 Rombo = 237,
283 Rundi = 238,
284 Russian = 239,
285 Rwa = 240,
286 Saho = 241,
287 Sakha = 242,
288 Samburu = 243,
289 Samoan = 244,
290 Sango = 245,
291 Sangu = 246,
292 Sanskrit = 247,
293 Santali = 248,
294 Sardinian = 249,
295 Saurashtra = 250,
296 Sena = 251,
297 Serbian = 252,
298 Shambala = 253,
299 Shona = 254,
300 SichuanYi = 255,
301 Sicilian = 256,
302 Sidamo = 257,
303 Silesian = 258,
304 Sindhi = 259,
305 Sinhala = 260,
306 SkoltSami = 261,
307 Slovak = 262,
308 Slovenian = 263,
309 Soga = 264,
310 Somali = 265,
311 SouthernKurdish = 266,
312 SouthernSami = 267,
313 SouthernSotho = 268,
314 SouthNdebele = 269,
315 Spanish = 270,
316 StandardMoroccanTamazight = 271,
317 Sundanese = 272,
318 Swahili = 273,
319 Swati = 274,
320 Swedish = 275,
321 SwissGerman = 276,
322 Syriac = 277,
323 Tachelhit = 278,
324 Tahitian = 279,
325 TaiDam = 280,
326 Taita = 281,
327 Tajik = 282,
328 Tamil = 283,
329 Taroko = 284,
330 Tasawaq = 285,
331 Tatar = 286,
332 Telugu = 287,
333 Teso = 288,
334 Thai = 289,
335 Tibetan = 290,
336 Tigre = 291,
337 Tigrinya = 292,
338 TokelauLanguage = 293,
339 TokPisin = 294,
340 Tongan = 295,
341 Tsonga = 296,
342 Tswana = 297,
343 Turkish = 298,
344 Turkmen = 299,
345 TuvaluLanguage = 300,
346 Tyap = 301,
347 Ugaritic = 302,
348 Ukrainian = 303,
349 UpperSorbian = 304,
350 Urdu = 305,
351 Uyghur = 306,
352 Uzbek = 307,
353 Vai = 308,
354 Venda = 309,
355 Vietnamese = 310,
356 Volapuk = 311,
357 Vunjo = 312,
358 Walloon = 313,
359 Walser = 314,
360 Warlpiri = 315,
361 Welsh = 316,
362 WesternBalochi = 317,
363 WesternFrisian = 318,
364 Wolaytta = 319,
365 Wolof = 320,
366 Xhosa = 321,
367 Yangben = 322,
368 Yiddish = 323,
369 Yoruba = 324,
370 Zarma = 325,
371 Zhuang = 326,
372 Zulu = 327,
373 Kaingang = 328,
374 Nheengatu = 329,
375 Haryanvi = 330,
376 NorthernFrisian = 331,
377 Rajasthani = 332,
378 Moksha = 333,
379 TokiPona = 334,
380 Pijin = 335,
381 Obolo = 336,
382 Baluchi = 337,
383 Ligurian = 338,
384 Rohingya = 339,
385 Torwali = 340,
386 Anii = 341,
387 Kangri = 342,
388 Venetian = 343,
389 Kuvi = 344,
390 KaraKalpak = 345,
391 SwampyCree = 346,
392 Ladin = 347,
393 Shan = 348,
394
395 Afan = Oromo,
396 Bengali = Bangla,
397 Bhutani = Dzongkha,
398 Byelorussian = Belarusian,
399 Cambodian = Khmer,
400 CentralMoroccoTamazight = CentralAtlasTamazight,
401 Chewa = Nyanja,
402 Frisian = WesternFrisian,
403 Greenlandic = Kalaallisut,
404 Inupiak = Inupiaq,
405 Kirghiz = Kyrgyz,
406 Kurundi = Rundi,
407 Kwanyama = Kuanyama,
408 Navaho = Navajo,
409 Oriya = Odia,
410 RhaetoRomance = Romansh,
411 Uighur = Uyghur,
412 Uigur = Uyghur,
413 Walamo = Wolaytta,
414
415 LastLanguage = Shan
416 };
417
418 enum Script : ushort {
419 AnyScript = 0,
420 AdlamScript = 1,
421 AhomScript = 2,
422 AnatolianHieroglyphsScript = 3,
423 ArabicScript = 4,
424 ArmenianScript = 5,
425 AvestanScript = 6,
426 BalineseScript = 7,
427 BamumScript = 8,
428 BanglaScript = 9,
429 BassaVahScript = 10,
430 BatakScript = 11,
431 BhaiksukiScript = 12,
432 BopomofoScript = 13,
433 BrahmiScript = 14,
434 BrailleScript = 15,
435 BugineseScript = 16,
436 BuhidScript = 17,
437 CanadianAboriginalScript = 18,
438 CarianScript = 19,
439 CaucasianAlbanianScript = 20,
440 ChakmaScript = 21,
441 ChamScript = 22,
442 CherokeeScript = 23,
443 CopticScript = 24,
444 CuneiformScript = 25,
445 CypriotScript = 26,
446 CyrillicScript = 27,
447 DeseretScript = 28,
448 DevanagariScript = 29,
449 DuployanScript = 30,
450 EgyptianHieroglyphsScript = 31,
451 ElbasanScript = 32,
452 EthiopicScript = 33,
453 FraserScript = 34,
454 GeorgianScript = 35,
455 GlagoliticScript = 36,
456 GothicScript = 37,
457 GranthaScript = 38,
458 GreekScript = 39,
459 GujaratiScript = 40,
460 GurmukhiScript = 41,
461 HangulScript = 42,
462 HanScript = 43,
463 HanunooScript = 44,
464 HanWithBopomofoScript = 45,
465 HatranScript = 46,
466 HebrewScript = 47,
467 HiraganaScript = 48,
468 ImperialAramaicScript = 49,
469 InscriptionalPahlaviScript = 50,
470 InscriptionalParthianScript = 51,
471 JamoScript = 52,
472 JapaneseScript = 53,
473 JavaneseScript = 54,
474 KaithiScript = 55,
475 KannadaScript = 56,
476 KatakanaScript = 57,
477 KayahLiScript = 58,
478 KharoshthiScript = 59,
479 KhmerScript = 60,
480 KhojkiScript = 61,
481 KhudawadiScript = 62,
482 KoreanScript = 63,
483 LannaScript = 64,
484 LaoScript = 65,
485 LatinScript = 66,
486 LepchaScript = 67,
487 LimbuScript = 68,
488 LinearAScript = 69,
489 LinearBScript = 70,
490 LycianScript = 71,
491 LydianScript = 72,
492 MahajaniScript = 73,
493 MalayalamScript = 74,
494 MandaeanScript = 75,
495 ManichaeanScript = 76,
496 MarchenScript = 77,
497 MeiteiMayekScript = 78,
498 MendeScript = 79,
499 MeroiticCursiveScript = 80,
500 MeroiticScript = 81,
501 ModiScript = 82,
502 MongolianScript = 83,
503 MroScript = 84,
504 MultaniScript = 85,
505 MyanmarScript = 86,
506 NabataeanScript = 87,
507 NewaScript = 88,
508 NewTaiLueScript = 89,
509 NkoScript = 90,
510 OdiaScript = 91,
511 OghamScript = 92,
512 OlChikiScript = 93,
513 OldHungarianScript = 94,
514 OldItalicScript = 95,
515 OldNorthArabianScript = 96,
516 OldPermicScript = 97,
517 OldPersianScript = 98,
518 OldSouthArabianScript = 99,
519 OrkhonScript = 100,
520 OsageScript = 101,
521 OsmanyaScript = 102,
522 PahawhHmongScript = 103,
523 PalmyreneScript = 104,
524 PauCinHauScript = 105,
525 PhagsPaScript = 106,
526 PhoenicianScript = 107,
527 PollardPhoneticScript = 108,
528 PsalterPahlaviScript = 109,
529 RejangScript = 110,
530 RunicScript = 111,
531 SamaritanScript = 112,
532 SaurashtraScript = 113,
533 SharadaScript = 114,
534 ShavianScript = 115,
535 SiddhamScript = 116,
536 SignWritingScript = 117,
537 SimplifiedHanScript = 118,
538 SinhalaScript = 119,
539 SoraSompengScript = 120,
540 SundaneseScript = 121,
541 SylotiNagriScript = 122,
542 SyriacScript = 123,
543 TagalogScript = 124,
544 TagbanwaScript = 125,
545 TaiLeScript = 126,
546 TaiVietScript = 127,
547 TakriScript = 128,
548 TamilScript = 129,
549 TangutScript = 130,
550 TeluguScript = 131,
551 ThaanaScript = 132,
552 ThaiScript = 133,
553 TibetanScript = 134,
554 TifinaghScript = 135,
555 TirhutaScript = 136,
556 TraditionalHanScript = 137,
557 UgariticScript = 138,
558 VaiScript = 139,
559 VarangKshitiScript = 140,
560 YiScript = 141,
561 HanifiScript = 142,
562
563 BengaliScript = BanglaScript,
564 MendeKikakuiScript = MendeScript,
565 OriyaScript = OdiaScript,
566 SimplifiedChineseScript = SimplifiedHanScript,
567 TraditionalChineseScript = TraditionalHanScript,
568
569 LastScript = HanifiScript
570 };
571
572 // ### Qt 7: Rename to Territory
573 enum Country : ushort {
574 AnyTerritory = 0,
575 Afghanistan = 1,
576 AlandIslands = 2,
577 Albania = 3,
578 Algeria = 4,
579 AmericanSamoa = 5,
580 Andorra = 6,
581 Angola = 7,
582 Anguilla = 8,
583 Antarctica = 9,
584 AntiguaAndBarbuda = 10,
585 Argentina = 11,
586 Armenia = 12,
587 Aruba = 13,
588 AscensionIsland = 14,
589 Australia = 15,
590 Austria = 16,
591 Azerbaijan = 17,
592 Bahamas = 18,
593 Bahrain = 19,
594 Bangladesh = 20,
595 Barbados = 21,
596 Belarus = 22,
597 Belgium = 23,
598 Belize = 24,
599 Benin = 25,
600 Bermuda = 26,
601 Bhutan = 27,
602 Bolivia = 28,
603 BosniaAndHerzegovina = 29,
604 Botswana = 30,
605 BouvetIsland = 31,
606 Brazil = 32,
607 BritishIndianOceanTerritory = 33,
608 BritishVirginIslands = 34,
609 Brunei = 35,
610 Bulgaria = 36,
611 BurkinaFaso = 37,
612 Burundi = 38,
613 Cambodia = 39,
614 Cameroon = 40,
615 Canada = 41,
616 CanaryIslands = 42,
617 CapeVerde = 43,
618 CaribbeanNetherlands = 44,
619 CaymanIslands = 45,
620 CentralAfricanRepublic = 46,
621 CeutaAndMelilla = 47,
622 Chad = 48,
623 Chile = 49,
624 China = 50,
625 ChristmasIsland = 51,
626 ClippertonIsland = 52,
627 CocosIslands = 53,
628 Colombia = 54,
629 Comoros = 55,
630 CongoBrazzaville = 56,
631 CongoKinshasa = 57,
632 CookIslands = 58,
633 CostaRica = 59,
634 Croatia = 60,
635 Cuba = 61,
636 Curacao = 62,
637 Cyprus = 63,
638 Czechia = 64,
639 Denmark = 65,
640 DiegoGarcia = 66,
641 Djibouti = 67,
642 Dominica = 68,
643 DominicanRepublic = 69,
644 Ecuador = 70,
645 Egypt = 71,
646 ElSalvador = 72,
647 EquatorialGuinea = 73,
648 Eritrea = 74,
649 Estonia = 75,
650 Eswatini = 76,
651 Ethiopia = 77,
652 Europe = 78,
653 EuropeanUnion = 79,
654 FalklandIslands = 80,
655 FaroeIslands = 81,
656 Fiji = 82,
657 Finland = 83,
658 France = 84,
659 FrenchGuiana = 85,
660 FrenchPolynesia = 86,
661 FrenchSouthernTerritories = 87,
662 Gabon = 88,
663 Gambia = 89,
664 Georgia = 90,
665 Germany = 91,
666 Ghana = 92,
667 Gibraltar = 93,
668 Greece = 94,
669 Greenland = 95,
670 Grenada = 96,
671 Guadeloupe = 97,
672 Guam = 98,
673 Guatemala = 99,
674 Guernsey = 100,
675 GuineaBissau = 101,
676 Guinea = 102,
677 Guyana = 103,
678 Haiti = 104,
679 HeardAndMcDonaldIslands = 105,
680 Honduras = 106,
681 HongKong = 107,
682 Hungary = 108,
683 Iceland = 109,
684 India = 110,
685 Indonesia = 111,
686 Iran = 112,
687 Iraq = 113,
688 Ireland = 114,
689 IsleOfMan = 115,
690 Israel = 116,
691 Italy = 117,
692 IvoryCoast = 118,
693 Jamaica = 119,
694 Japan = 120,
695 Jersey = 121,
696 Jordan = 122,
697 Kazakhstan = 123,
698 Kenya = 124,
699 Kiribati = 125,
700 Kosovo = 126,
701 Kuwait = 127,
702 Kyrgyzstan = 128,
703 Laos = 129,
704 LatinAmerica = 130,
705 Latvia = 131,
706 Lebanon = 132,
707 Lesotho = 133,
708 Liberia = 134,
709 Libya = 135,
710 Liechtenstein = 136,
711 Lithuania = 137,
712 Luxembourg = 138,
713 Macao = 139,
714 Macedonia = 140,
715 Madagascar = 141,
716 Malawi = 142,
717 Malaysia = 143,
718 Maldives = 144,
719 Mali = 145,
720 Malta = 146,
721 MarshallIslands = 147,
722 Martinique = 148,
723 Mauritania = 149,
724 Mauritius = 150,
725 Mayotte = 151,
726 Mexico = 152,
727 Micronesia = 153,
728 Moldova = 154,
729 Monaco = 155,
730 Mongolia = 156,
731 Montenegro = 157,
732 Montserrat = 158,
733 Morocco = 159,
734 Mozambique = 160,
735 Myanmar = 161,
736 Namibia = 162,
737 NauruTerritory = 163,
738 Nepal = 164,
739 Netherlands = 165,
740 NewCaledonia = 166,
741 NewZealand = 167,
742 Nicaragua = 168,
743 Nigeria = 169,
744 Niger = 170,
745 Niue = 171,
746 NorfolkIsland = 172,
747 NorthernMarianaIslands = 173,
748 NorthKorea = 174,
749 Norway = 175,
750 Oman = 176,
751 OutlyingOceania = 177,
752 Pakistan = 178,
753 Palau = 179,
754 PalestinianTerritories = 180,
755 Panama = 181,
756 PapuaNewGuinea = 182,
757 Paraguay = 183,
758 Peru = 184,
759 Philippines = 185,
760 Pitcairn = 186,
761 Poland = 187,
762 Portugal = 188,
763 PuertoRico = 189,
764 Qatar = 190,
765 Reunion = 191,
766 Romania = 192,
767 Russia = 193,
768 Rwanda = 194,
769 SaintBarthelemy = 195,
770 SaintHelena = 196,
771 SaintKittsAndNevis = 197,
772 SaintLucia = 198,
773 SaintMartin = 199,
774 SaintPierreAndMiquelon = 200,
775 SaintVincentAndGrenadines = 201,
776 Samoa = 202,
777 SanMarino = 203,
778 SaoTomeAndPrincipe = 204,
779 SaudiArabia = 205,
780 Senegal = 206,
781 Serbia = 207,
782 Seychelles = 208,
783 SierraLeone = 209,
784 Singapore = 210,
785 SintMaarten = 211,
786 Slovakia = 212,
787 Slovenia = 213,
788 SolomonIslands = 214,
789 Somalia = 215,
790 SouthAfrica = 216,
791 SouthGeorgiaAndSouthSandwichIslands = 217,
792 SouthKorea = 218,
793 SouthSudan = 219,
794 Spain = 220,
795 SriLanka = 221,
796 Sudan = 222,
797 Suriname = 223,
798 SvalbardAndJanMayen = 224,
799 Sweden = 225,
800 Switzerland = 226,
801 Syria = 227,
802 Taiwan = 228,
803 Tajikistan = 229,
804 Tanzania = 230,
805 Thailand = 231,
806 TimorLeste = 232,
807 Togo = 233,
808 TokelauTerritory = 234,
809 Tonga = 235,
810 TrinidadAndTobago = 236,
811 TristanDaCunha = 237,
812 Tunisia = 238,
813 Turkey = 239,
814 Turkmenistan = 240,
815 TurksAndCaicosIslands = 241,
816 TuvaluTerritory = 242,
817 Uganda = 243,
818 Ukraine = 244,
819 UnitedArabEmirates = 245,
820 UnitedKingdom = 246,
821 UnitedStatesOutlyingIslands = 247,
822 UnitedStates = 248,
823 UnitedStatesVirginIslands = 249,
824 Uruguay = 250,
825 Uzbekistan = 251,
826 Vanuatu = 252,
827 VaticanCity = 253,
828 Venezuela = 254,
829 Vietnam = 255,
830 WallisAndFutuna = 256,
831 WesternSahara = 257,
832 World = 258,
833 Yemen = 259,
834 Zambia = 260,
835 Zimbabwe = 261,
836
837 AnyCountry = AnyTerritory,
838 Bonaire = CaribbeanNetherlands,
839 BosniaAndHerzegowina = BosniaAndHerzegovina,
840 CuraSao = Curacao,
841 CzechRepublic = Czechia,
842 DemocraticRepublicOfCongo = CongoKinshasa,
843 DemocraticRepublicOfKorea = NorthKorea,
844 EastTimor = TimorLeste,
845 LatinAmericaAndTheCaribbean = LatinAmerica,
846 Macau = Macao,
847 NauruCountry = NauruTerritory,
848 PeoplesRepublicOfCongo = CongoBrazzaville,
849 RepublicOfKorea = SouthKorea,
850 RussianFederation = Russia,
851 SaintVincentAndTheGrenadines = SaintVincentAndGrenadines,
852 SouthGeorgiaAndTheSouthSandwichIslands = SouthGeorgiaAndSouthSandwichIslands,
853 SvalbardAndJanMayenIslands = SvalbardAndJanMayen,
854 Swaziland = Eswatini,
855 SyrianArabRepublic = Syria,
856 TokelauCountry = TokelauTerritory,
857 TuvaluCountry = TuvaluTerritory,
858 UnitedStatesMinorOutlyingIslands = UnitedStatesOutlyingIslands,
859 VaticanCityState = VaticanCity,
860 WallisAndFutunaIslands = WallisAndFutuna,
861
862 LastTerritory = Zimbabwe,
863 LastCountry = LastTerritory
864 };
865// GENERATED PART ENDS HERE
866
867 using Territory = Country; // ### Qt 7: reverse
868
869 Q_ENUM(Language)
870 Q_ENUM(Country)
871 Q_ENUM(Script)
872
873 enum MeasurementSystem {
874 MetricSystem,
875 ImperialUSSystem,
876 ImperialUKSystem,
877 ImperialSystem = ImperialUSSystem // Qt 4 compatibility
878 };
879 Q_ENUM(MeasurementSystem)
880
881 enum FormatType { LongFormat, ShortFormat, NarrowFormat };
882 Q_ENUM(FormatType)
883 enum NumberOption {
884 DefaultNumberOptions = 0x0,
885 OmitGroupSeparator = 0x01,
886 RejectGroupSeparator = 0x02,
887 OmitLeadingZeroInExponent = 0x04,
888 RejectLeadingZeroInExponent = 0x08,
889 IncludeTrailingZeroesAfterDot = 0x10,
890 RejectTrailingZeroesAfterDot = 0x20
891 };
892 Q_DECLARE_FLAGS(NumberOptions, NumberOption)
893 Q_FLAG(NumberOptions)
894
895 enum FloatingPointPrecisionOption {
896 FloatingPointShortest = -128
897 };
898
899 enum class TagSeparator : char { Dash = '-', Underscore = '_' };
900 Q_ENUM(TagSeparator)
901
902 enum CurrencySymbolFormat {
903 CurrencyIsoCode,
904 CurrencySymbol,
905 CurrencyDisplayName
906 };
907 Q_ENUM(CurrencySymbolFormat)
908
909 enum DataSizeFormat {
910 // Single-bit values, for internal use.
911 DataSizeBase1000 = 1, // use factors of 1000 instead of IEC's 1024;
912 DataSizeSIQuantifiers = 2, // use SI quantifiers instead of IEC ones.
913
914 // Flags values for use in API:
915 DataSizeIecFormat = 0, // base 1024, KiB, MiB, GiB, ...
916 DataSizeTraditionalFormat = DataSizeSIQuantifiers, // base 1024, kB, MB, GB, ...
917 DataSizeSIFormat = DataSizeBase1000 | DataSizeSIQuantifiers // base 1000, kB, MB, GB, ...
918 };
919 Q_DECLARE_FLAGS(DataSizeFormats, DataSizeFormat)
920 Q_FLAG(DataSizeFormats)
921
922 QLocale();
923 QT_CORE_INLINE_SINCE(6, 4)
924 explicit QLocale(const QString &name);
925 explicit QLocale(QStringView name);
926 QLocale(Language language, Territory territory);
927 QLocale(Language language, Script script = AnyScript, Territory territory = AnyTerritory);
928 QLocale(const QLocale &other) noexcept;
929 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QLocale)
930 QLocale &operator=(const QLocale &other) noexcept;
931 ~QLocale();
932
933 void swap(QLocale &other) noexcept { d.swap(other.d); }
934
935 Language language() const;
936 Script script() const;
937 Territory territory() const;
938#if QT_DEPRECATED_SINCE(6, 6)
939 QT_DEPRECATED_VERSION_X_6_6("Use territory() instead")
940 Country country() const;
941#endif
942
943#if QT_CORE_REMOVED_SINCE(6, 7)
944 QString name() const;
945 QString bcp47Name() const;
946#endif
947 QString name(TagSeparator separator = TagSeparator::Underscore) const;
948 QString bcp47Name(TagSeparator separator = TagSeparator::Dash) const;
949
950 QString nativeLanguageName() const;
951 QString nativeTerritoryName() const;
952#if QT_DEPRECATED_SINCE(6, 6)
953 QT_DEPRECATED_VERSION_X_6_6("Use nativeTerritoryName() instead")
954 QString nativeCountryName() const;
955#endif
956
957 short toShort(const QString &s, bool *ok = nullptr) const
958 { return toShort(qToStringViewIgnoringNull(s), ok); }
959 ushort toUShort(const QString &s, bool *ok = nullptr) const
960 { return toUShort(qToStringViewIgnoringNull(s), ok); }
961 int toInt(const QString &s, bool *ok = nullptr) const
962 { return toInt(qToStringViewIgnoringNull(s), ok); }
963 uint toUInt(const QString &s, bool *ok = nullptr) const
964 { return toUInt(qToStringViewIgnoringNull(s), ok); }
965 long toLong(const QString &s, bool *ok = nullptr) const
966 { return toLong(qToStringViewIgnoringNull(s), ok); }
967 ulong toULong(const QString &s, bool *ok = nullptr) const
968 { return toULong(qToStringViewIgnoringNull(s), ok); }
969 qlonglong toLongLong(const QString &s, bool *ok = nullptr) const
970 { return toLongLong(qToStringViewIgnoringNull(s), ok); }
971 qulonglong toULongLong(const QString &s, bool *ok = nullptr) const
972 { return toULongLong(qToStringViewIgnoringNull(s), ok); }
973 float toFloat(const QString &s, bool *ok = nullptr) const
974 { return toFloat(qToStringViewIgnoringNull(s), ok); }
975 double toDouble(const QString &s, bool *ok = nullptr) const
976 { return toDouble(qToStringViewIgnoringNull(s), ok); }
977
978 short toShort(QStringView s, bool *ok = nullptr) const;
979 ushort toUShort(QStringView s, bool *ok = nullptr) const;
980 int toInt(QStringView s, bool *ok = nullptr) const;
981 uint toUInt(QStringView s, bool *ok = nullptr) const;
982 long toLong(QStringView s, bool *ok = nullptr) const;
983 ulong toULong(QStringView s, bool *ok = nullptr) const;
984 qlonglong toLongLong(QStringView s, bool *ok = nullptr) const;
985 qulonglong toULongLong(QStringView s, bool *ok = nullptr) const;
986 float toFloat(QStringView s, bool *ok = nullptr) const;
987 double toDouble(QStringView s, bool *ok = nullptr) const;
988
989 QString toString(qlonglong i) const;
990 QString toString(qulonglong i) const;
991 QString toString(long i) const { return toString(qlonglong(i)); }
992 QString toString(ulong i) const { return toString(qulonglong(i)); }
993 QString toString(short i) const { return toString(qlonglong(i)); }
994 QString toString(ushort i) const { return toString(qulonglong(i)); }
995 QString toString(int i) const { return toString(qlonglong(i)); }
996 QString toString(uint i) const { return toString(qulonglong(i)); }
997 QString toString(qlonglong number, int fieldWidth, char32_t fillChar) const;
998 QString toString(qulonglong number, int fieldWidth, char32_t fillChar) const;
999 QString toString(int number, int fieldWidth, char32_t fillChar) const
1000 { return toString(qlonglong(number), fieldWidth, fillChar); }
1001 QString toString(uint number, int fieldWidth, char32_t fillChar) const
1002 { return toString(qulonglong(number), fieldWidth, fillChar); }
1003 QString toString(long number, int fieldWidth, char32_t fillChar) const
1004 { return toString(qlonglong(number), fieldWidth, fillChar); }
1005 QString toString(ulong(number), int fieldWidth, char32_t fillChar) const
1006 { return toString(qulonglong(number), fieldWidth, fillChar); }
1007 QString toString(short number, int fieldWidth, char32_t fillChar) const
1008 { return toString(qlonglong(number), fieldWidth, fillChar); }
1009 QString toString(ushort number, int fieldWidth, char32_t fillChar) const
1010 { return toString(qulonglong(number), fieldWidth, fillChar); }
1011 QString toString(double f, char format = 'g', int precision = 6) const;
1012 QString toString(float f, char format = 'g', int precision = 6) const
1013 { return toString(double(f), format, precision); }
1014
1015 // (Can't inline first two: passing by value doesn't work when only forward-declared.)
1016 QString toString(QDate date, const QString &format) const;
1017 QString toString(QTime time, const QString &format) const;
1018 QString toString(const QDateTime &dateTime, const QString &format) const
1019 { return toString(dateTime, qToStringViewIgnoringNull(format)); }
1020 QString toString(QDate date, QStringView format) const;
1021 QString toString(QTime time, QStringView format) const;
1022 QString toString(const QDateTime &dateTime, QStringView format) const;
1023 QString toString(QDate date, FormatType format = LongFormat) const;
1024 QString toString(QTime time, FormatType format = LongFormat) const;
1025 QString toString(const QDateTime &dateTime, FormatType format = LongFormat) const;
1026
1027 /* We can't pass a default for QCalendar (its declaration mentions
1028 * QLocale::FormatType, so it has to #include this header, which thus can't
1029 * #include its, so we can't instantiate QCalendar() as default). This
1030 * precludes any default for format, too.
1031 */
1032 QString toString(QDate date, QStringView format, QCalendar cal) const;
1033 QString toString(QDate date, FormatType format, QCalendar cal) const;
1034 QString toString(const QDateTime &dateTime, FormatType format, QCalendar cal) const;
1035 QString toString(const QDateTime &dateTime, QStringView format, QCalendar cal) const;
1036
1037 QString dateFormat(FormatType format = LongFormat) const;
1038 QString timeFormat(FormatType format = LongFormat) const;
1039 QString dateTimeFormat(FormatType format = LongFormat) const;
1040 // QCalendar's header has to #include QLocale's, preventing the reverse, so
1041 // QCalendar parameters can't have defaults here.
1042#if QT_CONFIG(datestring)
1043 QTime toTime(const QString &string, FormatType = LongFormat) const;
1044 QTime toTime(const QString &string, const QString &format) const;
1045# if QT_CORE_REMOVED_SINCE(6, 7)
1046 QDate toDate(const QString &string, FormatType = LongFormat) const;
1047 QDate toDate(const QString &string, const QString &format) const;
1048 QDateTime toDateTime(const QString &string, FormatType format = LongFormat) const;
1049 QDateTime toDateTime(const QString &string, const QString &format) const;
1050 // Calendar-aware API
1051 QDate toDate(const QString &string, FormatType format, QCalendar cal) const;
1052 QDate toDate(const QString &string, const QString &format, QCalendar cal) const;
1053 QDateTime toDateTime(const QString &string, FormatType format, QCalendar cal) const;
1054 QDateTime toDateTime(const QString &string, const QString &format, QCalendar cal) const;
1055# endif
1056 QDate toDate(const QString &string, FormatType = LongFormat,
1057 int baseYear = DefaultTwoDigitBaseYear) const;
1058 QDate toDate(const QString &string, const QString &format,
1059 int baseYear = DefaultTwoDigitBaseYear) const;
1060 QDateTime toDateTime(const QString &string, FormatType format = LongFormat,
1061 int baseYear = DefaultTwoDigitBaseYear) const;
1062 QDateTime toDateTime(const QString &string, const QString &format,
1063 int baseYear = DefaultTwoDigitBaseYear) const;
1064 // Calendar-aware API
1065 QDate toDate(const QString &string, FormatType format, QCalendar cal,
1066 int baseYear = DefaultTwoDigitBaseYear) const;
1067 QDate toDate(const QString &string, const QString &format, QCalendar cal,
1068 int baseYear = DefaultTwoDigitBaseYear) const;
1069 QDateTime toDateTime(const QString &string, FormatType format, QCalendar cal,
1070 int baseYear = DefaultTwoDigitBaseYear) const;
1071 QDateTime toDateTime(const QString &string, const QString &format, QCalendar cal,
1072 int baseYear = DefaultTwoDigitBaseYear) const;
1073#endif
1074
1075 QString decimalPoint() const;
1076 QString groupSeparator() const;
1077 QString percent() const;
1078 QString zeroDigit() const;
1079 QString negativeSign() const;
1080 QString positiveSign() const;
1081 QString exponential() const;
1082
1083 QString monthName(int, FormatType format = LongFormat) const;
1084 QString standaloneMonthName(int, FormatType format = LongFormat) const;
1085 QString dayName(int, FormatType format = LongFormat) const;
1086 QString standaloneDayName(int, FormatType format = LongFormat) const;
1087
1088 Qt::DayOfWeek firstDayOfWeek() const;
1089 QList<Qt::DayOfWeek> weekdays() const;
1090
1091 QString amText() const;
1092 QString pmText() const;
1093
1094 MeasurementSystem measurementSystem() const;
1095 QLocale collation() const;
1096 Qt::LayoutDirection textDirection() const;
1097
1098 QString toUpper(const QString &str) const;
1099 QString toLower(const QString &str) const;
1100
1101 QString currencySymbol(CurrencySymbolFormat = CurrencySymbol) const;
1102 QString toCurrencyString(qlonglong, const QString &symbol = QString()) const;
1103 QString toCurrencyString(qulonglong, const QString &symbol = QString()) const;
1104 QString toCurrencyString(short i, const QString &symbol = QString()) const
1105 { return toCurrencyString(qlonglong(i), symbol); }
1106 QString toCurrencyString(ushort i, const QString &symbol = QString()) const
1107 { return toCurrencyString(qulonglong(i), symbol); }
1108 QString toCurrencyString(int i, const QString &symbol = QString()) const
1109 { return toCurrencyString(qlonglong(i), symbol); }
1110 QString toCurrencyString(uint i, const QString &symbol = QString()) const
1111 { return toCurrencyString(qulonglong(i), symbol); }
1112 QString toCurrencyString(double, const QString &symbol = QString(), int precision = -1) const;
1113 QString toCurrencyString(float i, const QString &symbol = QString(), int precision = -1) const
1114 { return toCurrencyString(double(i), symbol, precision); }
1115
1116 QString formattedDataSize(qint64 bytes, int precision = 2, DataSizeFormats format = DataSizeIecFormat) const;
1117
1118#if QT_CORE_REMOVED_SINCE(6, 7)
1119 QStringList uiLanguages() const;
1120#endif
1121 QStringList uiLanguages(TagSeparator separator = TagSeparator::Dash) const;
1122
1123 enum LanguageCodeType {
1124 ISO639Part1 = 1 << 0,
1125 ISO639Part2B = 1 << 1,
1126 ISO639Part2T = 1 << 2,
1127 ISO639Part3 = 1 << 3,
1128 LegacyLanguageCode = 1 << 15,
1129
1130 ISO639Part2 = ISO639Part2B | ISO639Part2T,
1131 ISO639Alpha2 = ISO639Part1,
1132 ISO639Alpha3 = ISO639Part2 | ISO639Part3,
1133 ISO639 = ISO639Alpha2 | ISO639Alpha3,
1134
1135 AnyLanguageCode = -1
1136 };
1137 Q_DECLARE_FLAGS(LanguageCodeTypes, LanguageCodeType)
1138 Q_FLAG(LanguageCodeTypes)
1139
1140#if QT_CORE_REMOVED_SINCE(6, 3)
1141 static QString languageToCode(Language language);
1142 static Language codeToLanguage(QStringView languageCode) noexcept;
1143#endif
1144 static QString languageToCode(Language language, LanguageCodeTypes codeTypes = AnyLanguageCode);
1145 static Language codeToLanguage(QStringView languageCode,
1146 LanguageCodeTypes codeTypes = AnyLanguageCode) noexcept;
1147 static QString territoryToCode(Territory territory);
1148 static Territory codeToTerritory(QStringView territoryCode) noexcept;
1149#if QT_DEPRECATED_SINCE(6, 6)
1150 QT_DEPRECATED_VERSION_X_6_6("Use territoryToCode(Territory) instead")
1151 static QString countryToCode(Country country);
1152 QT_DEPRECATED_VERSION_X_6_6("Use codeToTerritory(QStringView) instead")
1153 static Country codeToCountry(QStringView countryCode) noexcept;
1154#endif
1155 static QString scriptToCode(Script script);
1156 static Script codeToScript(QStringView scriptCode) noexcept;
1157
1158 static QString languageToString(Language language);
1159 static QString territoryToString(Territory territory);
1160#if QT_DEPRECATED_SINCE(6, 6)
1161 QT_DEPRECATED_VERSION_X_6_6("Use territoryToString(Territory) instead")
1162 static QString countryToString(Country country);
1163#endif
1164 static QString scriptToString(Script script);
1165 static void setDefault(const QLocale &locale);
1166
1167 static QLocale c() noexcept;
1168 static QLocale system();
1169
1170 static QList<QLocale> matchingLocales(QLocale::Language language, QLocale::Script script,
1171 QLocale::Territory territory);
1172#if QT_DEPRECATED_SINCE(6, 6)
1173 QT_DEPRECATED_VERSION_X_6_6("Query territory() on each entry from matchingLocales() instead")
1174 static QList<Country> countriesForLanguage(Language lang);
1175#endif
1176
1177 void setNumberOptions(NumberOptions options);
1178 NumberOptions numberOptions() const;
1179
1180 enum QuotationStyle { StandardQuotation, AlternateQuotation };
1181 Q_ENUM(QuotationStyle)
1182 QString quoteString(const QString &str, QuotationStyle style = StandardQuotation) const
1183 { return quoteString(QStringView(str), style); }
1184 QString quoteString(QStringView str, QuotationStyle style = StandardQuotation) const;
1185
1186 QString createSeparatedList(const QStringList &strl) const;
1187
1188private:
1189 QLocale(QLocalePrivate &dd);
1190 bool equals(const QLocale &other) const noexcept;
1191 friend class QLocalePrivate;
1192 friend class QSystemLocale;
1193 friend class QTimeZonePrivate;
1194 friend class QCalendarBackend;
1195 friend class QRomanCalendar;
1196 friend Q_CORE_EXPORT size_t qHash(const QLocale &key, size_t seed) noexcept;
1197
1198 friend bool comparesEqual(const QLocale &lhs, const QLocale &rhs) noexcept
1199 {
1200 return lhs.equals(rhs);
1201 }
1202 Q_DECLARE_EQUALITY_COMPARABLE(QLocale)
1203
1204 friend Q_CORE_EXPORT bool comparesEqual(const QLocale &lhs, Language rhs);
1205 Q_DECLARE_EQUALITY_COMPARABLE_NON_NOEXCEPT(QLocale, Language)
1206
1207 QSharedDataPointer<QLocalePrivate> d;
1208};
1210Q_DECLARE_OPERATORS_FOR_FLAGS(QLocale::NumberOptions)
1211Q_DECLARE_OPERATORS_FOR_FLAGS(QLocale::LanguageCodeTypes)
1212
1213#if QT_CORE_INLINE_IMPL_SINCE(6, 4)
1214QLocale::QLocale(const QString &name)
1215 : QLocale(qToStringViewIgnoringNull(name)) {}
1216#endif
1217
1218#ifndef QT_NO_DATASTREAM
1219Q_CORE_EXPORT QDataStream &operator<<(QDataStream &, const QLocale &);
1220Q_CORE_EXPORT QDataStream &operator>>(QDataStream &, QLocale &);
1221#endif
1222
1223#ifndef QT_NO_DEBUG_STREAM
1224Q_CORE_EXPORT QDebug operator<<(QDebug, const QLocale &);
1225#endif
1226
1227QT_END_NAMESPACE
1228
1229#endif // QLOCALE_H
\inmodule QtCore\reentrant
Definition qdatastream.h:50
Definition qlist.h:81
QResourceFileEngineIterator(const QString &path, QDir::Filters filters, const QStringList &filterNames)
bool advance() override
This pure virtual function advances the iterator to the next directory entry; if the operation was su...
QString currentFileName() const override
This pure virtual function returns the name of the current directory entry, excluding the path.
QFileInfo currentFileInfo() const override
The virtual function returns a QFileInfo for the current directory entry.
QResourceFileEnginePrivate(QAbstractFileEngine *q)
bool caseSensitive() const override
Should return true if the underlying file system is case-sensitive; otherwise return false.
bool flush() override
Flushes the open file, returning true if successful; otherwise returns false.
qint64 read(char *data, qint64 maxlen) override
Reads a number of characters from the file into data.
bool close() override
Closes the file, returning true if successful; otherwise returns false.
bool open(QIODevice::OpenMode flags, std::optional< QFile::Permissions > permissions) override
Opens the file in the specified mode.
void setFileName(const QString &file) override
Sets the file engine's file name to file.
IteratorUniquePtr beginEntryList(const QString &path, QDirListing::IteratorFlags filters, const QStringList &filterNames) override
bool seek(qint64) override
Sets the file position to the given offset.
qint64 pos() const override
Returns the current file position.
QString fileName(QAbstractFileEngine::FileName file) const override
Return the file engine's current file name in the format specified by file.
qint64 size() const override
Returns the size of the file.
FileFlags fileFlags(FileFlags type) const override
This function should return the set of OR'd flags that are true for the file engine's file,...
bool extension(Extension extension, const ExtensionOption *option=nullptr, ExtensionReturn *output=nullptr) override
QDateTime fileTime(QFile::FileTime time) const override
If time is BirthTime, return when the file was born (created).
virtual bool atEnd() const
uint ownerId(FileOwner) const override
If owner is OwnerUser return the ID of the user who owns the file.
bool supportsExtension(Extension extension) const override
void ensureChildren() const
static bool mayRemapData(const QResource &resource)
void ensureInitialized() const
QList< QResourceRoot * > related
QResource * q_ptr
QResourcePrivate(QResource *_q)
QString absoluteFilePath
QStringList children
qsizetype decompress(char *buffer, qsizetype bufferSize) const
bool load(const QString &file)
const uchar * data
\inmodule QtCore
Definition qresource.h:21
Combined button and popup list for selecting options.
Q_CORE_EXPORT QDebug operator<<(QDebug debug, QDir::Filters filters)
Definition qdir.cpp:2582
static ResourceList * resourceList()
#define RCC_FEATURE_SYMBOL(feature)
Definition qresource.cpp:66
static QRecursiveMutex & resourceMutex()
static auto mappingBoundaries(const void *location, qsizetype size)
QList< QResourceRoot * > ResourceList
Q_CORE_EXPORT bool qUnregisterResourceData(int version, const unsigned char *tree, const unsigned char *name, const unsigned char *data)
static QString qt_resource_fixResourceRoot(QString r)
Q_CORE_EXPORT bool qRegisterResourceData(int version, const unsigned char *tree, const unsigned char *name, const unsigned char *data)