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,
396 Byelorussian = Belarusian,
398 CentralMoroccoTamazight = CentralAtlasTamazight,
400 Frisian = WesternFrisian,
401 Greenlandic = Kalaallisut,
408 RhaetoRomance = Romansh,
413 LastLanguage = SwampyCree
416 enum Script : ushort {
420 AnatolianHieroglyphsScript = 3,
429 BhaiksukiScript = 12,
435 CanadianAboriginalScript = 18,
437 CaucasianAlbanianScript = 20,
442 CuneiformScript = 25,
446 DevanagariScript = 29,
448 EgyptianHieroglyphsScript = 31,
453 GlagoliticScript = 36,
462 HanWithBopomofoScript = 45,
466 ImperialAramaicScript = 49,
467 InscriptionalPahlaviScript = 50,
468 InscriptionalParthianScript = 51,
476 KharoshthiScript = 59,
479 KhudawadiScript = 62,
491 MalayalamScript = 74,
493 ManichaeanScript = 76,
495 MeiteiMayekScript = 78,
497 MeroiticCursiveScript = 80,
500 MongolianScript = 83,
504 NabataeanScript = 87,
506 NewTaiLueScript = 89,
511 OldHungarianScript = 94,
512 OldItalicScript = 95,
513 OldNorthArabianScript = 96,
514 OldPermicScript = 97,
515 OldPersianScript = 98,
516 OldSouthArabianScript = 99,
520 PahawhHmongScript = 103,
521 PalmyreneScript = 104,
522 PauCinHauScript = 105,
524 PhoenicianScript = 107,
525 PollardPhoneticScript = 108,
526 PsalterPahlaviScript = 109,
529 SamaritanScript = 112,
530 SaurashtraScript = 113,
534 SignWritingScript = 117,
535 SimplifiedHanScript = 118,
537 SoraSompengScript = 120,
538 SundaneseScript = 121,
539 SylotiNagriScript = 122,
542 TagbanwaScript = 125,
552 TifinaghScript = 135,
554 TraditionalHanScript = 137,
555 UgariticScript = 138,
557 VarangKshitiScript = 140,
561 BengaliScript = BanglaScript,
562 MendeKikakuiScript = MendeScript,
563 OriyaScript = OdiaScript,
564 SimplifiedChineseScript = SimplifiedHanScript,
565 TraditionalChineseScript = TraditionalHanScript,
567 LastScript = HanifiScript
571 enum Country : ushort {
582 AntiguaAndBarbuda = 10,
586 AscensionIsland = 14,
601 BosniaAndHerzegovina = 29,
605 BritishIndianOceanTerritory = 33,
606 BritishVirginIslands = 34,
616 CaribbeanNetherlands = 44,
618 CentralAfricanRepublic = 46,
619 CeutaAndMelilla = 47,
623 ChristmasIsland = 51,
624 ClippertonIsland = 52,
628 CongoBrazzaville = 56,
641 DominicanRepublic = 69,
645 EquatorialGuinea = 73,
652 FalklandIslands = 80,
658 FrenchPolynesia = 86,
659 FrenchSouthernTerritories = 87,
677 HeardAndMcDonaldIslands = 105,
719 MarshallIslands = 147,
735 NauruTerritory = 163,
745 NorthernMarianaIslands = 173,
749 OutlyingOceania = 177,
752 PalestinianTerritories = 180,
754 PapuaNewGuinea = 182,
767 SaintBarthelemy = 195,
769 SaintKittsAndNevis = 197,
772 SaintPierreAndMiquelon = 200,
773 SaintVincentAndGrenadines = 201,
776 SaoTomeAndPrincipe = 204,
786 SolomonIslands = 214,
789 SouthGeorgiaAndSouthSandwichIslands = 217,
796 SvalbardAndJanMayen = 224,
806 TokelauTerritory = 234,
808 TrinidadAndTobago = 236,
809 TristanDaCunha = 237,
813 TurksAndCaicosIslands = 241,
814 TuvaluTerritory = 242,
817 UnitedArabEmirates = 245,
819 UnitedStatesOutlyingIslands = 247,
821 UnitedStatesVirginIslands = 249,
828 WallisAndFutuna = 256,
835 AnyCountry = AnyTerritory,
836 Bonaire = CaribbeanNetherlands,
837 BosniaAndHerzegowina = BosniaAndHerzegovina,
839 CzechRepublic = Czechia,
840 DemocraticRepublicOfCongo = CongoKinshasa,
841 DemocraticRepublicOfKorea = NorthKorea,
842 EastTimor = TimorLeste,
843 LatinAmericaAndTheCaribbean = LatinAmerica,
845 NauruCountry = NauruTerritory,
846 PeoplesRepublicOfCongo = CongoBrazzaville,
847 RepublicOfKorea = SouthKorea,
848 RussianFederation = Russia,
849 SaintVincentAndTheGrenadines = SaintVincentAndGrenadines,
850 SouthGeorgiaAndTheSouthSandwichIslands = SouthGeorgiaAndSouthSandwichIslands,
851 SvalbardAndJanMayenIslands = SvalbardAndJanMayen,
852 Swaziland = Eswatini,
853 SyrianArabRepublic = Syria,
854 TokelauCountry = TokelauTerritory,
855 TuvaluCountry = TuvaluTerritory,
856 UnitedStatesMinorOutlyingIslands = UnitedStatesOutlyingIslands,
857 VaticanCityState = VaticanCity,
858 WallisAndFutunaIslands = WallisAndFutuna,
860 LastTerritory = Zimbabwe,
861 LastCountry = LastTerritory
865 using Territory = Country;
871 enum MeasurementSystem {
875 ImperialSystem = ImperialUSSystem
877 Q_ENUM(MeasurementSystem)
879 enum FormatType { LongFormat, ShortFormat, NarrowFormat };
882 DefaultNumberOptions = 0x0,
883 OmitGroupSeparator = 0x01,
884 RejectGroupSeparator = 0x02,
885 OmitLeadingZeroInExponent = 0x04,
886 RejectLeadingZeroInExponent = 0x08,
887 IncludeTrailingZeroesAfterDot = 0x10,
888 RejectTrailingZeroesAfterDot = 0x20
890 Q_DECLARE_FLAGS(NumberOptions, NumberOption)
891 Q_FLAG(NumberOptions)
893 enum FloatingPointPrecisionOption {
894 FloatingPointShortest = -128
897 enum class TagSeparator :
char { Dash =
'-', Underscore =
'_' };
900 enum CurrencySymbolFormat {
905 Q_ENUM(CurrencySymbolFormat)
907 enum DataSizeFormat {
909 DataSizeBase1000 = 1,
910 DataSizeSIQuantifiers = 2,
913 DataSizeIecFormat = 0,
914 DataSizeTraditionalFormat = DataSizeSIQuantifiers,
915 DataSizeSIFormat = DataSizeBase1000 | DataSizeSIQuantifiers
917 Q_DECLARE_FLAGS(DataSizeFormats, DataSizeFormat)
918 Q_FLAG(DataSizeFormats)
921 QT_CORE_INLINE_SINCE(6, 4)
922 explicit QLocale(
const QString &name);
923 explicit QLocale(QStringView name);
924 QLocale(Language language, Territory territory);
925 QLocale(Language language, Script script = AnyScript, Territory territory = AnyTerritory);
926 QLocale(
const QLocale &other)
noexcept;
927 QT_MOVE_ASSIGNMENT_OPERATOR_IMPL_VIA_PURE_SWAP(QLocale)
928 QLocale &operator=(
const QLocale &other)
noexcept;
931 void swap(QLocale &other)
noexcept { d.swap(other.d); }
933 Language language()
const;
934 Script script()
const;
935 Territory territory()
const;
936#if QT_DEPRECATED_SINCE(6
, 6
)
937 QT_DEPRECATED_VERSION_X_6_6(
"Use territory() instead")
938 Country country()
const;
941#if QT_CORE_REMOVED_SINCE(6
, 7
)
942 QString name()
const;
943 QString bcp47Name()
const;
945 QString name(TagSeparator separator = TagSeparator::Underscore)
const;
946 QString bcp47Name(TagSeparator separator = TagSeparator::Dash)
const;
948 QString nativeLanguageName()
const;
949 QString nativeTerritoryName()
const;
950#if QT_DEPRECATED_SINCE(6
, 6
)
951 QT_DEPRECATED_VERSION_X_6_6(
"Use nativeTerritoryName() instead")
952 QString nativeCountryName()
const;
955 short toShort(
const QString &s,
bool *ok =
nullptr)
const
956 {
return toShort(qToStringViewIgnoringNull(s), ok); }
957 ushort toUShort(
const QString &s,
bool *ok =
nullptr)
const
958 {
return toUShort(qToStringViewIgnoringNull(s), ok); }
959 int toInt(
const QString &s,
bool *ok =
nullptr)
const
960 {
return toInt(qToStringViewIgnoringNull(s), ok); }
961 uint toUInt(
const QString &s,
bool *ok =
nullptr)
const
962 {
return toUInt(qToStringViewIgnoringNull(s), ok); }
963 long toLong(
const QString &s,
bool *ok =
nullptr)
const
964 {
return toLong(qToStringViewIgnoringNull(s), ok); }
965 ulong toULong(
const QString &s,
bool *ok =
nullptr)
const
966 {
return toULong(qToStringViewIgnoringNull(s), ok); }
967 qlonglong toLongLong(
const QString &s,
bool *ok =
nullptr)
const
968 {
return toLongLong(qToStringViewIgnoringNull(s), ok); }
969 qulonglong toULongLong(
const QString &s,
bool *ok =
nullptr)
const
970 {
return toULongLong(qToStringViewIgnoringNull(s), ok); }
971 float toFloat(
const QString &s,
bool *ok =
nullptr)
const
972 {
return toFloat(qToStringViewIgnoringNull(s), ok); }
973 double toDouble(
const QString &s,
bool *ok =
nullptr)
const
974 {
return toDouble(qToStringViewIgnoringNull(s), ok); }
976 short toShort(QStringView s,
bool *ok =
nullptr)
const;
977 ushort toUShort(QStringView s,
bool *ok =
nullptr)
const;
978 int toInt(QStringView s,
bool *ok =
nullptr)
const;
979 uint toUInt(QStringView s,
bool *ok =
nullptr)
const;
980 long toLong(QStringView s,
bool *ok =
nullptr)
const;
981 ulong toULong(QStringView s,
bool *ok =
nullptr)
const;
982 qlonglong toLongLong(QStringView s,
bool *ok =
nullptr)
const;
983 qulonglong toULongLong(QStringView s,
bool *ok =
nullptr)
const;
984 float toFloat(QStringView s,
bool *ok =
nullptr)
const;
985 double toDouble(QStringView s,
bool *ok =
nullptr)
const;
987 QString toString(qlonglong i)
const;
988 QString toString(qulonglong i)
const;
989 QString toString(
long i)
const {
return toString(qlonglong(i)); }
990 QString toString(ulong i)
const {
return toString(qulonglong(i)); }
991 QString toString(
short i)
const {
return toString(qlonglong(i)); }
992 QString toString(ushort i)
const {
return toString(qulonglong(i)); }
993 QString toString(
int i)
const {
return toString(qlonglong(i)); }
994 QString toString(uint i)
const {
return toString(qulonglong(i)); }
995 QString toString(qlonglong number,
int fieldWidth,
char32_t fillChar)
const;
996 QString toString(qulonglong number,
int fieldWidth,
char32_t fillChar)
const;
997 QString toString(
int number,
int fieldWidth,
char32_t fillChar)
const
998 {
return toString(qlonglong(number), fieldWidth, fillChar); }
999 QString toString(uint number,
int fieldWidth,
char32_t fillChar)
const
1000 {
return toString(qulonglong(number), fieldWidth, fillChar); }
1001 QString toString(
long number,
int fieldWidth,
char32_t fillChar)
const
1002 {
return toString(qlonglong(number), fieldWidth, fillChar); }
1003 QString toString(ulong(number),
int fieldWidth,
char32_t fillChar)
const
1004 {
return toString(qulonglong(number), fieldWidth, fillChar); }
1005 QString toString(
short number,
int fieldWidth,
char32_t fillChar)
const
1006 {
return toString(qlonglong(number), fieldWidth, fillChar); }
1007 QString toString(ushort number,
int fieldWidth,
char32_t fillChar)
const
1008 {
return toString(qulonglong(number), fieldWidth, fillChar); }
1009 QString toString(
double f,
char format =
'g',
int precision = 6)
const;
1010 QString toString(
float f,
char format =
'g',
int precision = 6)
const
1011 {
return toString(
double(f), format, precision); }
1014 QString toString(QDate date,
const QString &format)
const;
1015 QString toString(QTime time,
const QString &format)
const;
1016 QString toString(
const QDateTime &dateTime,
const QString &format)
const
1017 {
return toString(dateTime, qToStringViewIgnoringNull(format)); }
1018 QString toString(QDate date, QStringView format)
const;
1019 QString toString(QTime time, QStringView format)
const;
1020 QString toString(
const QDateTime &dateTime, QStringView format)
const;
1021 QString toString(QDate date, FormatType format = LongFormat)
const;
1022 QString toString(QTime time, FormatType format = LongFormat)
const;
1023 QString toString(
const QDateTime &dateTime, FormatType format = LongFormat)
const;
1026
1027
1028
1029
1030 QString toString(QDate date, QStringView format, QCalendar cal)
const;
1031 QString toString(QDate date, FormatType format, QCalendar cal)
const;
1032 QString toString(
const QDateTime &dateTime, FormatType format, QCalendar cal)
const;
1033 QString toString(
const QDateTime &dateTime, QStringView format, QCalendar cal)
const;
1035 QString dateFormat(FormatType format = LongFormat)
const;
1036 QString timeFormat(FormatType format = LongFormat)
const;
1037 QString dateTimeFormat(FormatType format = LongFormat)
const;
1040#if QT_CONFIG(datestring)
1041 QTime toTime(
const QString &string, FormatType = LongFormat)
const;
1042 QTime toTime(
const QString &string,
const QString &format)
const;
1043# if QT_CORE_REMOVED_SINCE(6
, 7
)
1044 QDate toDate(
const QString &string, FormatType = LongFormat)
const;
1045 QDate toDate(
const QString &string,
const QString &format)
const;
1046 QDateTime toDateTime(
const QString &string, FormatType format = LongFormat)
const;
1047 QDateTime toDateTime(
const QString &string,
const QString &format)
const;
1049 QDate toDate(
const QString &string, FormatType format, QCalendar cal)
const;
1050 QDate toDate(
const QString &string,
const QString &format, QCalendar cal)
const;
1051 QDateTime toDateTime(
const QString &string, FormatType format, QCalendar cal)
const;
1052 QDateTime toDateTime(
const QString &string,
const QString &format, QCalendar cal)
const;
1054 QDate toDate(
const QString &string, FormatType = LongFormat,
1055 int baseYear = DefaultTwoDigitBaseYear)
const;
1056 QDate toDate(
const QString &string,
const QString &format,
1057 int baseYear = DefaultTwoDigitBaseYear)
const;
1058 QDateTime toDateTime(
const QString &string, FormatType format = LongFormat,
1059 int baseYear = DefaultTwoDigitBaseYear)
const;
1060 QDateTime toDateTime(
const QString &string,
const QString &format,
1061 int baseYear = DefaultTwoDigitBaseYear)
const;
1063 QDate toDate(
const QString &string, FormatType format, QCalendar cal,
1064 int baseYear = DefaultTwoDigitBaseYear)
const;
1065 QDate toDate(
const QString &string,
const QString &format, QCalendar cal,
1066 int baseYear = DefaultTwoDigitBaseYear)
const;
1067 QDateTime toDateTime(
const QString &string, FormatType format, QCalendar cal,
1068 int baseYear = DefaultTwoDigitBaseYear)
const;
1069 QDateTime toDateTime(
const QString &string,
const QString &format, QCalendar cal,
1070 int baseYear = DefaultTwoDigitBaseYear)
const;
1073 QString decimalPoint()
const;
1074 QString groupSeparator()
const;
1075 QString percent()
const;
1076 QString zeroDigit()
const;
1077 QString negativeSign()
const;
1078 QString positiveSign()
const;
1079 QString exponential()
const;
1081 QString monthName(
int, FormatType format = LongFormat)
const;
1082 QString standaloneMonthName(
int, FormatType format = LongFormat)
const;
1083 QString dayName(
int, FormatType format = LongFormat)
const;
1084 QString standaloneDayName(
int, FormatType format = LongFormat)
const;
1086 Qt::DayOfWeek firstDayOfWeek()
const;
1087 QList<Qt::DayOfWeek> weekdays()
const;
1089 QString amText()
const;
1090 QString pmText()
const;
1092 MeasurementSystem measurementSystem()
const;
1093 QLocale collation()
const;
1094 Qt::LayoutDirection textDirection()
const;
1096 QString toUpper(
const QString &str)
const;
1097 QString toLower(
const QString &str)
const;
1099 QString currencySymbol(CurrencySymbolFormat = CurrencySymbol)
const;
1100 QString toCurrencyString(qlonglong,
const QString &symbol = QString())
const;
1101 QString toCurrencyString(qulonglong,
const QString &symbol = QString())
const;
1102 QString toCurrencyString(
short i,
const QString &symbol = QString())
const
1103 {
return toCurrencyString(qlonglong(i), symbol); }
1104 QString toCurrencyString(ushort i,
const QString &symbol = QString())
const
1105 {
return toCurrencyString(qulonglong(i), symbol); }
1106 QString toCurrencyString(
int i,
const QString &symbol = QString())
const
1107 {
return toCurrencyString(qlonglong(i), symbol); }
1108 QString toCurrencyString(uint i,
const QString &symbol = QString())
const
1109 {
return toCurrencyString(qulonglong(i), symbol); }
1110 QString toCurrencyString(
double,
const QString &symbol = QString(),
int precision = -1)
const;
1111 QString toCurrencyString(
float i,
const QString &symbol = QString(),
int precision = -1)
const
1112 {
return toCurrencyString(
double(i), symbol, precision); }
1114 QString formattedDataSize(qint64 bytes,
int precision = 2, DataSizeFormats format = DataSizeIecFormat)
const;
1116#if QT_CORE_REMOVED_SINCE(6
, 7
)
1117 QStringList uiLanguages()
const;
1119 QStringList uiLanguages(TagSeparator separator = TagSeparator::Dash)
const;
1121 enum LanguageCodeType {
1122 ISO639Part1 = 1 << 0,
1123 ISO639Part2B = 1 << 1,
1124 ISO639Part2T = 1 << 2,
1125 ISO639Part3 = 1 << 3,
1126 LegacyLanguageCode = 1 << 15,
1128 ISO639Part2 = ISO639Part2B | ISO639Part2T,
1129 ISO639Alpha2 = ISO639Part1,
1130 ISO639Alpha3 = ISO639Part2 | ISO639Part3,
1131 ISO639 = ISO639Alpha2 | ISO639Alpha3,
1133 AnyLanguageCode = -1
1135 Q_DECLARE_FLAGS(LanguageCodeTypes, LanguageCodeType)
1136 Q_FLAG(LanguageCodeTypes)
1138#if QT_CORE_REMOVED_SINCE(6
, 3
)
1139 static QString languageToCode(Language language);
1140 static Language codeToLanguage(QStringView languageCode)
noexcept;
1142 static QString languageToCode(Language language, LanguageCodeTypes codeTypes = AnyLanguageCode);
1143 static Language codeToLanguage(QStringView languageCode,
1144 LanguageCodeTypes codeTypes = AnyLanguageCode)
noexcept;
1145 static QString territoryToCode(Territory territory);
1146 static Territory codeToTerritory(QStringView territoryCode)
noexcept;
1147#if QT_DEPRECATED_SINCE(6
, 6
)
1148 QT_DEPRECATED_VERSION_X_6_6(
"Use territoryToCode(Territory) instead")
1149 static QString countryToCode(Country country);
1150 QT_DEPRECATED_VERSION_X_6_6(
"Use codeToTerritory(QStringView) instead")
1151 static Country codeToCountry(QStringView countryCode)
noexcept;
1153 static QString scriptToCode(Script script);
1154 static Script codeToScript(QStringView scriptCode)
noexcept;
1156 static QString languageToString(Language language);
1157 static QString territoryToString(Territory territory);
1158#if QT_DEPRECATED_SINCE(6
, 6
)
1159 QT_DEPRECATED_VERSION_X_6_6(
"Use territoryToString(Territory) instead")
1160 static QString countryToString(Country country);
1162 static QString scriptToString(Script script);
1163 static void setDefault(
const QLocale &locale);
1165 static QLocale c()
noexcept;
1166 static QLocale system();
1168 static QList<QLocale> matchingLocales(QLocale::Language language, QLocale::Script script,
1169 QLocale::Territory territory);
1170#if QT_DEPRECATED_SINCE(6
, 6
)
1171 QT_DEPRECATED_VERSION_X_6_6(
"Query territory() on each entry from matchingLocales() instead")
1172 static QList<Country> countriesForLanguage(Language lang);
1175 void setNumberOptions(NumberOptions options);
1176 NumberOptions numberOptions()
const;
1178 enum QuotationStyle { StandardQuotation, AlternateQuotation };
1179 Q_ENUM(QuotationStyle)
1180 QString quoteString(
const QString &str, QuotationStyle style = StandardQuotation)
const
1181 {
return quoteString(QStringView(str), style); }
1182 QString quoteString(QStringView str, QuotationStyle style = StandardQuotation)
const;
1184 QString createSeparatedList(
const QStringList &strl)
const;
1187 QLocale(QLocalePrivate &dd);
1188 bool equals(
const QLocale &other)
const noexcept;
1189 friend class QLocalePrivate;
1190 friend class QSystemLocale;
1191 friend class QTimeZonePrivate;
1192 friend class QCalendarBackend;
1193 friend class QRomanCalendar;
1194 friend Q_CORE_EXPORT size_t qHash(
const QLocale &key, size_t seed)
noexcept;
1196 friend bool comparesEqual(
const QLocale &lhs,
const QLocale &rhs)
noexcept
1198 return lhs.equals(rhs);
1200 Q_DECLARE_EQUALITY_COMPARABLE(QLocale)
1202 friend Q_CORE_EXPORT
bool comparesEqual(
const QLocale &lhs, Language rhs);
1203 Q_DECLARE_EQUALITY_COMPARABLE_NON_NOEXCEPT(QLocale, Language)
1205 QSharedDataPointer<QLocalePrivate> d;