33 friend class QByteArray;
34 friend class QIntValidator;
35 friend class QDoubleValidatorPrivate;
36 friend class QTextStream;
37 friend class QTextStreamPrivate;
40 static constexpr int DefaultTwoDigitBaseYear = 1900;
44 enum Language : ushort {
55 AmericanSignLanguage = 10,
95 CentralAtlasTamazight = 50,
189 KoyraboroSenni = 144,
204 LiteraryChinese = 159,
248 NigerianPidgin = 203,
254 NorwegianBokmal = 209,
255 NorwegianNynorsk = 210,
311 SouthernKurdish = 266,
316 StandardMoroccanTamazight = 271,
338 TokelauLanguage = 293,
345 TuvaluLanguage = 300,
362 WesternBalochi = 317,
363 WesternFrisian = 318,
376 NorthernFrisian = 331,
398 Byelorussian = Belarusian,
400 CentralMoroccoTamazight = CentralAtlasTamazight,
402 Frisian = WesternFrisian,
403 Greenlandic = Kalaallisut,
410 RhaetoRomance = Romansh,
418 enum Script : ushort {
422 AnatolianHieroglyphsScript = 3,
431 BhaiksukiScript = 12,
437 CanadianAboriginalScript = 18,
439 CaucasianAlbanianScript = 20,
444 CuneiformScript = 25,
448 DevanagariScript = 29,
450 EgyptianHieroglyphsScript = 31,
455 GlagoliticScript = 36,
464 HanWithBopomofoScript = 45,
468 ImperialAramaicScript = 49,
469 InscriptionalPahlaviScript = 50,
470 InscriptionalParthianScript = 51,
478 KharoshthiScript = 59,
481 KhudawadiScript = 62,
493 MalayalamScript = 74,
495 ManichaeanScript = 76,
497 MeiteiMayekScript = 78,
499 MeroiticCursiveScript = 80,
502 MongolianScript = 83,
506 NabataeanScript = 87,
508 NewTaiLueScript = 89,
513 OldHungarianScript = 94,
514 OldItalicScript = 95,
515 OldNorthArabianScript = 96,
516 OldPermicScript = 97,
517 OldPersianScript = 98,
518 OldSouthArabianScript = 99,
522 PahawhHmongScript = 103,
523 PalmyreneScript = 104,
524 PauCinHauScript = 105,
526 PhoenicianScript = 107,
527 PollardPhoneticScript = 108,
528 PsalterPahlaviScript = 109,
531 SamaritanScript = 112,
532 SaurashtraScript = 113,
536 SignWritingScript = 117,
537 SimplifiedHanScript = 118,
539 SoraSompengScript = 120,
540 SundaneseScript = 121,
541 SylotiNagriScript = 122,
544 TagbanwaScript = 125,
554 TifinaghScript = 135,
556 TraditionalHanScript = 137,
557 UgariticScript = 138,
559 VarangKshitiScript = 140,
563 BengaliScript = BanglaScript,
564 MendeKikakuiScript = MendeScript,
565 OriyaScript = OdiaScript,
566 SimplifiedChineseScript = SimplifiedHanScript,
567 TraditionalChineseScript = TraditionalHanScript,
569 LastScript = HanifiScript
573 enum Country : ushort {
584 AntiguaAndBarbuda = 10,
588 AscensionIsland = 14,
603 BosniaAndHerzegovina = 29,
607 BritishIndianOceanTerritory = 33,
608 BritishVirginIslands = 34,
618 CaribbeanNetherlands = 44,
620 CentralAfricanRepublic = 46,
621 CeutaAndMelilla = 47,
625 ChristmasIsland = 51,
626 ClippertonIsland = 52,
630 CongoBrazzaville = 56,
643 DominicanRepublic = 69,
647 EquatorialGuinea = 73,
654 FalklandIslands = 80,
660 FrenchPolynesia = 86,
661 FrenchSouthernTerritories = 87,
679 HeardAndMcDonaldIslands = 105,
721 MarshallIslands = 147,
737 NauruTerritory = 163,
747 NorthernMarianaIslands = 173,
751 OutlyingOceania = 177,
754 PalestinianTerritories = 180,
756 PapuaNewGuinea = 182,
769 SaintBarthelemy = 195,
771 SaintKittsAndNevis = 197,
774 SaintPierreAndMiquelon = 200,
775 SaintVincentAndGrenadines = 201,
778 SaoTomeAndPrincipe = 204,
788 SolomonIslands = 214,
791 SouthGeorgiaAndSouthSandwichIslands = 217,
798 SvalbardAndJanMayen = 224,
808 TokelauTerritory = 234,
810 TrinidadAndTobago = 236,
811 TristanDaCunha = 237,
815 TurksAndCaicosIslands = 241,
816 TuvaluTerritory = 242,
819 UnitedArabEmirates = 245,
821 UnitedStatesOutlyingIslands = 247,
823 UnitedStatesVirginIslands = 249,
830 WallisAndFutuna = 256,
837 AnyCountry = AnyTerritory,
838 Bonaire = CaribbeanNetherlands,
839 BosniaAndHerzegowina = BosniaAndHerzegovina,
841 CzechRepublic = Czechia,
842 DemocraticRepublicOfCongo = CongoKinshasa,
843 DemocraticRepublicOfKorea = NorthKorea,
844 EastTimor = TimorLeste,
845 LatinAmericaAndTheCaribbean = LatinAmerica,
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,
862 LastTerritory = Zimbabwe,
863 LastCountry = LastTerritory
867 using Territory = Country;
873 enum MeasurementSystem {
877 ImperialSystem = ImperialUSSystem
879 Q_ENUM(MeasurementSystem)
881 enum FormatType { LongFormat, ShortFormat, NarrowFormat };
884 DefaultNumberOptions = 0x0,
885 OmitGroupSeparator = 0x01,
886 RejectGroupSeparator = 0x02,
887 OmitLeadingZeroInExponent = 0x04,
888 RejectLeadingZeroInExponent = 0x08,
889 IncludeTrailingZeroesAfterDot = 0x10,
890 RejectTrailingZeroesAfterDot = 0x20
892 Q_DECLARE_FLAGS(NumberOptions, NumberOption)
893 Q_FLAG(NumberOptions)
895 enum FloatingPointPrecisionOption {
896 FloatingPointShortest = -128
899 enum class TagSeparator :
char { Dash =
'-', Underscore =
'_' };
902 enum CurrencySymbolFormat {
907 Q_ENUM(CurrencySymbolFormat)
909 enum DataSizeFormat {
911 DataSizeBase1000 = 1,
912 DataSizeSIQuantifiers = 2,
915 DataSizeIecFormat = 0,
916 DataSizeTraditionalFormat = DataSizeSIQuantifiers,
917 DataSizeSIFormat = DataSizeBase1000 | DataSizeSIQuantifiers
919 Q_DECLARE_FLAGS(DataSizeFormats, DataSizeFormat)
920 Q_FLAG(DataSizeFormats)
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;
933 void swap(QLocale &other)
noexcept { d.swap(other.d); }
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;
943#if QT_CORE_REMOVED_SINCE(6
, 7
)
944 QString name()
const;
945 QString bcp47Name()
const;
947 QString name(TagSeparator separator = TagSeparator::Underscore)
const;
948 QString bcp47Name(TagSeparator separator = TagSeparator::Dash)
const;
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;
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); }
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;
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); }
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;
1028
1029
1030
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;
1037 QString dateFormat(FormatType format = LongFormat)
const;
1038 QString timeFormat(FormatType format = LongFormat)
const;
1039 QString dateTimeFormat(FormatType format = LongFormat)
const;
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;
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;
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;
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;
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;
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;
1088 Qt::DayOfWeek firstDayOfWeek()
const;
1089 QList<Qt::DayOfWeek> weekdays()
const;
1091 QString amText()
const;
1092 QString pmText()
const;
1094 MeasurementSystem measurementSystem()
const;
1095 QLocale collation()
const;
1096 Qt::LayoutDirection textDirection()
const;
1098 QString toUpper(
const QString &str)
const;
1099 QString toLower(
const QString &str)
const;
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); }
1116 QString formattedDataSize(qint64 bytes,
int precision = 2, DataSizeFormats format = DataSizeIecFormat)
const;
1118#if QT_CORE_REMOVED_SINCE(6
, 7
)
1119 QStringList uiLanguages()
const;
1121 QStringList uiLanguages(TagSeparator separator = TagSeparator::Dash)
const;
1123 enum LanguageCodeType {
1124 ISO639Part1 = 1 << 0,
1125 ISO639Part2B = 1 << 1,
1126 ISO639Part2T = 1 << 2,
1127 ISO639Part3 = 1 << 3,
1128 LegacyLanguageCode = 1 << 15,
1130 ISO639Part2 = ISO639Part2B | ISO639Part2T,
1131 ISO639Alpha2 = ISO639Part1,
1132 ISO639Alpha3 = ISO639Part2 | ISO639Part3,
1133 ISO639 = ISO639Alpha2 | ISO639Alpha3,
1135 AnyLanguageCode = -1
1137 Q_DECLARE_FLAGS(LanguageCodeTypes, LanguageCodeType)
1138 Q_FLAG(LanguageCodeTypes)
1140#if QT_CORE_REMOVED_SINCE(6
, 3
)
1141 static QString languageToCode(Language language);
1142 static Language codeToLanguage(QStringView languageCode)
noexcept;
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;
1155 static QString scriptToCode(Script script);
1156 static Script codeToScript(QStringView scriptCode)
noexcept;
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);
1164 static QString scriptToString(Script script);
1165 static void setDefault(
const QLocale &locale);
1167 static QLocale c()
noexcept;
1168 static QLocale system();
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);
1177 void setNumberOptions(NumberOptions options);
1178 NumberOptions numberOptions()
const;
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;
1186 QString createSeparatedList(
const QStringList &strl)
const;
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;
1198 friend bool comparesEqual(
const QLocale &lhs,
const QLocale &rhs)
noexcept
1200 return lhs.equals(rhs);
1202 Q_DECLARE_EQUALITY_COMPARABLE(QLocale)
1204 friend Q_CORE_EXPORT
bool comparesEqual(
const QLocale &lhs, Language rhs);
1205 Q_DECLARE_EQUALITY_COMPARABLE_NON_NOEXCEPT(QLocale, Language)
1207 QSharedDataPointer<QLocalePrivate> d;