W3cubDocs

/Qt 6.9

QLocale Class

The QLocale class converts between numbers and their string representations in various languages. More...

Header: #include <QLocale>
CMake: find_package(Qt6 REQUIRED COMPONENTS Core)
target_link_libraries(mytarget PRIVATE Qt6::Core)
qmake: QT += core

This class is equality-comparable.

Note: All functions in this class are reentrant with the following exceptions:

Public Types

enum Country { AnyCountry, AnyTerritory, Afghanistan, AlandIslands, Albania, …, Zimbabwe }
enum CurrencySymbolFormat { CurrencyIsoCode, CurrencySymbol, CurrencyDisplayName }
enum DataSizeFormat { DataSizeIecFormat, DataSizeTraditionalFormat, DataSizeSIFormat }
flags DataSizeFormats
enum FloatingPointPrecisionOption { FloatingPointShortest }
enum FormatType { LongFormat, ShortFormat, NarrowFormat }
enum Language { AnyLanguage, C, Abkhazian, Afan, Afar, …, Zulu }
enum LanguageCodeType { ISO639Part1, ISO639Part2B, ISO639Part2T, ISO639Part3, LegacyLanguageCode, …, AnyLanguageCode }
flags LanguageCodeTypes
enum MeasurementSystem { MetricSystem, ImperialUSSystem, ImperialUKSystem, ImperialSystem }
enum NumberOption { DefaultNumberOptions, OmitGroupSeparator, RejectGroupSeparator, OmitLeadingZeroInExponent, RejectLeadingZeroInExponent, …, RejectTrailingZeroesAfterDot }
flags NumberOptions
enum QuotationStyle { StandardQuotation, AlternateQuotation }
enum Script { AnyScript, AdlamScript, AhomScript, AnatolianHieroglyphsScript, ArabicScript, …, YiScript }
(since 6.7) enum class TagSeparator { Dash, Underscore }
Territory

Public Functions

QLocale()
(since 6.3) QLocale(QStringView name)
QLocale(QLocale::Language language, QLocale::Territory territory)
QLocale(QLocale::Language language, QLocale::Script script = AnyScript, QLocale::Territory territory = AnyTerritory)
QLocale(const QString &name)
QLocale(const QLocale &other)
~QLocale()
QString amText() const
QString bcp47Name(QLocale::TagSeparator separator = TagSeparator::Dash) const
QLocale collation() const
QString createSeparatedList(const QStringList &list) const
QString currencySymbol(QLocale::CurrencySymbolFormat format = CurrencySymbol) const
QString dateFormat(QLocale::FormatType format = LongFormat) const
QString dateTimeFormat(QLocale::FormatType format = LongFormat) const
QString dayName(int day, QLocale::FormatType type = LongFormat) const
QString decimalPoint() const
QString exponential() const
Qt::DayOfWeek firstDayOfWeek() const
QString formattedDataSize(qint64 bytes, int precision = 2, QLocale::DataSizeFormats format = DataSizeIecFormat) const
QString groupSeparator() const
QLocale::Language language() const
QLocale::MeasurementSystem measurementSystem() const
QString monthName(int month, QLocale::FormatType type = LongFormat) const
QString name(QLocale::TagSeparator separator = TagSeparator::Underscore) const
QString nativeLanguageName() const
(since 6.2) QString nativeTerritoryName() const
QString negativeSign() const
QLocale::NumberOptions numberOptions() const
QString percent() const
QString pmText() const
QString positiveSign() const
QString quoteString(const QString &str, QLocale::QuotationStyle style = StandardQuotation) const
(since 6.0) QString quoteString(QStringView str, QLocale::QuotationStyle style = StandardQuotation) const
QLocale::Script script() const
void setNumberOptions(QLocale::NumberOptions options)
QString standaloneDayName(int day, QLocale::FormatType type = LongFormat) const
QString standaloneMonthName(int month, QLocale::FormatType type = LongFormat) const
void swap(QLocale &other)
(since 6.2) QLocale::Territory territory() const
Qt::LayoutDirection textDirection() const
QString timeFormat(QLocale::FormatType format = LongFormat) const
QString toCurrencyString(qlonglong value, const QString &symbol = QString()) const
QString toCurrencyString(int value, const QString &symbol = QString()) const
QString toCurrencyString(qulonglong value, const QString &symbol = QString()) const
QString toCurrencyString(short value, const QString &symbol = QString()) const
QString toCurrencyString(uint value, const QString &symbol = QString()) const
QString toCurrencyString(ushort value, const QString &symbol = QString()) const
QString toCurrencyString(double value, const QString &symbol = QString(), int precision = -1) const
QString toCurrencyString(float i, const QString &symbol = QString(), int precision = -1) const
QDate toDate(const QString &string, QLocale::FormatType format = LongFormat, int baseYear = DefaultTwoDigitBaseYear) const
QDate toDate(const QString &string, const QString &format, int baseYear = DefaultTwoDigitBaseYear) const
QDate toDate(const QString &string, QLocale::FormatType format, QCalendar cal, int baseYear = DefaultTwoDigitBaseYear) const
QDate toDate(const QString &string, const QString &format, QCalendar cal, int baseYear = DefaultTwoDigitBaseYear) const
QDateTime toDateTime(const QString &string, QLocale::FormatType format = LongFormat, int baseYear = DefaultTwoDigitBaseYear) const
QDateTime toDateTime(const QString &string, const QString &format, int baseYear = DefaultTwoDigitBaseYear) const
QDateTime toDateTime(const QString &string, QLocale::FormatType format, QCalendar cal, int baseYear = DefaultTwoDigitBaseYear) const
QDateTime toDateTime(const QString &string, const QString &format, QCalendar cal, int baseYear = DefaultTwoDigitBaseYear) const
double toDouble(QStringView s, bool *ok = nullptr) const
double toDouble(const QString &s, bool *ok = nullptr) const
float toFloat(QStringView s, bool *ok = nullptr) const
float toFloat(const QString &s, bool *ok = nullptr) const
int toInt(QStringView s, bool *ok = nullptr) const
int toInt(const QString &s, bool *ok = nullptr) const
long toLong(QStringView s, bool *ok = nullptr) const
long toLong(const QString &s, bool *ok = nullptr) const
qlonglong toLongLong(QStringView s, bool *ok = nullptr) const
qlonglong toLongLong(const QString &s, bool *ok = nullptr) const
QString toLower(const QString &str) const
short toShort(QStringView s, bool *ok = nullptr) const
short toShort(const QString &s, bool *ok = nullptr) const
QString toString(qlonglong i) const
QString toString(QDate date, const QString &format) const
QString toString(QTime time, QLocale::FormatType format = LongFormat) const
QString toString(QTime time, QStringView format) const
QString toString(QTime time, const QString &format) const
QString toString(const QDateTime &dateTime, const QString &format) const
QString toString(QDate date, QLocale::FormatType format, QCalendar cal) const
QString toString(QDate date, QStringView format, QCalendar cal) const
QString toString(const QDateTime &dateTime, QLocale::FormatType format, QCalendar cal) const
QString toString(const QDateTime &dateTime, QStringView format, QCalendar cal) const
QString toString(int i) const
QString toString(long i) const
QString toString(qulonglong i) const
QString toString(short i) const
QString toString(uint i) const
QString toString(ulong i) const
QString toString(ushort i) const
QString toString(QDate date, QLocale::FormatType format = LongFormat) const
QString toString(QDate date, QStringView format) const
QString toString(const QDateTime &dateTime, QLocale::FormatType format = LongFormat) const
QString toString(const QDateTime &dateTime, QStringView format) const
QString toString(double f, char format = 'g', int precision = 6) const
QString toString(float f, char format = 'g', int precision = 6) const
QTime toTime(const QString &string, QLocale::FormatType format = LongFormat) const
QTime toTime(const QString &string, const QString &format) const
uint toUInt(QStringView s, bool *ok = nullptr) const
uint toUInt(const QString &s, bool *ok = nullptr) const
ulong toULong(QStringView s, bool *ok = nullptr) const
ulong toULong(const QString &s, bool *ok = nullptr) const
qulonglong toULongLong(QStringView s, bool *ok = nullptr) const
qulonglong toULongLong(const QString &s, bool *ok = nullptr) const
ushort toUShort(QStringView s, bool *ok = nullptr) const
ushort toUShort(const QString &s, bool *ok = nullptr) const
QString toUpper(const QString &str) const
QStringList uiLanguages(QLocale::TagSeparator separator = TagSeparator::Dash) const
QList<Qt::DayOfWeek> weekdays() const
QString zeroDigit() const
QLocale & operator=(const QLocale &other)

Static Public Members

(since 6.7) const int DefaultTwoDigitBaseYear
QLocale c()
(since 6.3) QLocale::Language codeToLanguage(QStringView languageCode, QLocale::LanguageCodeTypes codeTypes = AnyLanguageCode)
(since 6.1) QLocale::Script codeToScript(QStringView scriptCode)
(since 6.2) QLocale::Territory codeToTerritory(QStringView territoryCode)
(since 6.3) QString languageToCode(QLocale::Language language, QLocale::LanguageCodeTypes codeTypes = AnyLanguageCode)
QString languageToString(QLocale::Language language)
QList<QLocale> matchingLocales(QLocale::Language language, QLocale::Script script, QLocale::Territory territory)
(since 6.1) QString scriptToCode(QLocale::Script script)
QString scriptToString(QLocale::Script script)
void setDefault(const QLocale &locale)
QLocale system()
(since 6.2) QString territoryToCode(QLocale::Territory territory)
(since 6.2) QString territoryToString(QLocale::Territory territory)
size_t qHash(const QLocale &key, size_t seed = 0)
bool operator!=(const QLocale &lhs, const QLocale &rhs)
bool operator==(const QLocale &lhs, const QLocale &rhs)

Detailed Description

QLocale is constructed for a specified language, optional script and territory. It offers various facilities for formatting data as text, localized appropriately, and for reading data out of localized text.

Example:

QLocale egyptian(QLocale::Arabic, QLocale::Egypt);
QString s1 = egyptian.toString(1.571429E+07, 'e');
QString s2 = egyptian.toString(10);

double d = egyptian.toDouble(s1);
int i = egyptian.toInt(s2);

QLocale supports the concept of a default locale, which is determined from the system's locale settings at application startup. The default locale can be changed by calling the static member setDefault(). Setting the default locale has the following effects:

  • If a QLocale object is constructed with the default constructor, it will use the default locale's settings.
  • QString::arg() uses the default locale to format a number when its position specifier in the format string contains an 'L', e.g. "%L1".

The following example illustrates how to use QLocale directly:

bool ok;
double d;

QLocale::setDefault(QLocale::C);      // uses '.' as a decimal point
QLocale cLocale;                      // default-constructed C locale
d = cLocale.toDouble("1234,56", &ok); // ok == false, d == 0
d = cLocale.toDouble("1234.56", &ok); // ok == true,  d == 1234.56

QLocale::setDefault(QLocale::German); // uses ',' as a decimal point
QLocale german;                       // default-constructed German locale
d = german.toDouble("1234,56", &ok);  // ok == true,  d == 1234.56
d = german.toDouble("1234.56", &ok);  // ok == false, d == 0

QLocale::setDefault(QLocale::English);
// Default locale now uses ',' as a group separator.
QString str = QString("%1 %L2 %L3").arg(12345).arg(12345).arg(12345, 0, 16);
// str == "12345 12,345 3039"

An alternative method for constructing a QLocale object is by specifying the locale name.

QLocale korean("ko");
QLocale swiss("de_CH");

This constructor reads the language, script and/or territory from the given name, accepting either uderscore or dash as separator (and ignoring any trailing .codeset or @variant suffix).

Note: For the current keyboard input locale take a look at QInputMethod::locale().

Appropriateness of the formats

QLocale's data is based on Common Locale Data Repository v47.

This data is published by The Unicode Consortium, who aim to follow customary, common use by writers of each language, in each script, in each territory for which data is given. This may in some cases differ from what is recognized as official, depending on how widely that official standard is followed in practice.

For example, although the relevant international standard (from the BIPM) mandates a thin non-breaking space as the separator between groups of digits in numbers, when they are split up to aid readability, and many jurisdictions have adopted this as their official standard for the formatting of numbers, many locales in fact have a traditional way of formatting numbers with punctuators separating groups of digits. CLDR, and thus QLocale, follows this common usage rather than the official standard.

Matching combinations of language, script and territory

QLocale has data, derived from CLDR, for many combinations of language, script and territory, but not all. If it is constructed with all three of these key values specified (treating AnyLanguage, AnyScript or AnyTerritory as unspecified) and QLocale has data for the given combination, this data is used. Otherwise, QLocale does its best to find a sensible combination of language, script and territory, for which it does have data, that matches those that were specified.

The CLDR provides tables of likely combinations, which are used to fill in any unspecified key or keys; if QLocale has data for the result of such a likely combination, that is used. If no language is specified, and none can be determined from script and territory, or if QLocale has no data for the language, the "C" locale (when reading the keys from a string) or default locale (otherwise) is used.

When QLocale has no data for the keys specified, with likely keys filled in where unspecified, but does have data for the resulting language, a fall-back is sought, based on ignoring either territory, script or both (in that order). This results in a QLocale which may not match what was asked for, but provides localization that's as suitable as the available data permits, for the keys specified.

Use language(), script() and territory() to determine the actual keys used.

See also QString::arg() and QInputMethod::locale().

Member Type Documentation

enum QLocale::Country

This enumerated type is used to identify a territory.

An individual territory may be a province of a country, a country (by far the most common case) or a larger geographic entity, to which some localization details are specific.

Constant Value Description
QLocale::AnyCountry AnyTerritory Osbolete alias for AnyTerritory
QLocale::AnyTerritory (since Qt 6.2) 0
QLocale::Afghanistan 1
QLocale::AlandIslands 2
QLocale::Albania 3
QLocale::Algeria 4
QLocale::AmericanSamoa 5
QLocale::Andorra 6
QLocale::Angola 7
QLocale::Anguilla 8
QLocale::Antarctica 9
QLocale::AntiguaAndBarbuda 10
QLocale::Argentina 11
QLocale::Armenia 12
QLocale::Aruba 13
QLocale::AscensionIsland 14
QLocale::Australia 15
QLocale::Austria 16
QLocale::Azerbaijan 17
QLocale::Bahamas 18
QLocale::Bahrain 19
QLocale::Bangladesh 20
QLocale::Barbados 21
QLocale::Belarus 22
QLocale::Belgium 23
QLocale::Belize 24
QLocale::Benin 25
QLocale::Bermuda 26
QLocale::Bhutan 27
QLocale::Bolivia 28
QLocale::Bonaire CaribbeanNetherlands
QLocale::BosniaAndHerzegowina BosniaAndHerzegovina Obsolete, use BosniaAndHerzegovina instead
QLocale::BosniaAndHerzegovina (since Qt 6.0) 29
QLocale::Botswana 30
QLocale::BouvetIsland 31
QLocale::Brazil 32
QLocale::BritishIndianOceanTerritory 33
QLocale::BritishVirginIslands 34
QLocale::Brunei 35
QLocale::Bulgaria 36
QLocale::BurkinaFaso 37
QLocale::Burundi 38
QLocale::Cambodia 39
QLocale::Cameroon 40
QLocale::Canada 41
QLocale::CanaryIslands 42
QLocale::CaribbeanNetherlands 44
QLocale::CapeVerde 43
QLocale::CaymanIslands 45
QLocale::CentralAfricanRepublic 46
QLocale::CeutaAndMelilla 47
QLocale::Chad 48
QLocale::Chile 49
QLocale::China 50
QLocale::ChristmasIsland 51
QLocale::ClippertonIsland 52
QLocale::CocosIslands 53
QLocale::Colombia 54
QLocale::Comoros 55
QLocale::CongoBrazzaville 56
QLocale::CongoKinshasa 57
QLocale::CookIslands 58
QLocale::CostaRica 59
QLocale::Croatia 60
QLocale::Cuba 61
QLocale::Curacao (since Qt 6.0) 62
QLocale::CuraSao Curacao Obsolete, use Curacao instead
QLocale::Cyprus 63
QLocale::Czechia (since Qt 6.0) 64
QLocale::CzechRepublic Czechia Obsolete, use Czechia instead
QLocale::DemocraticRepublicOfCongo CongoKinshasa Obsolete, use CongoKinshasa instead
QLocale::DemocraticRepublicOfKorea NorthKorea Obsolete, use NorthKorea instead
QLocale::Denmark 65
QLocale::DiegoGarcia 66
QLocale::Djibouti 67
QLocale::Dominica 68
QLocale::DominicanRepublic 69
QLocale::EastTimor TimorLeste
QLocale::Ecuador 70
QLocale::Egypt 71
QLocale::ElSalvador 72
QLocale::EquatorialGuinea 73
QLocale::Eritrea 74
QLocale::Estonia 75
QLocale::Eswatini 76
QLocale::Ethiopia 77
QLocale::EuropeanUnion (since Qt 5.7) 79
QLocale::Europe (since Qt 5.12) 78
QLocale::FalklandIslands 80
QLocale::FaroeIslands 81
QLocale::Fiji 82
QLocale::Finland 83
QLocale::France 84
QLocale::FrenchGuiana 85
QLocale::FrenchPolynesia 86
QLocale::FrenchSouthernTerritories 87
QLocale::Gabon 88
QLocale::Gambia 89
QLocale::Georgia 90
QLocale::Germany 91
QLocale::Ghana 92
QLocale::Gibraltar 93
QLocale::Greece 94
QLocale::Greenland 95
QLocale::Grenada 96
QLocale::Guadeloupe 97
QLocale::Guam 98
QLocale::Guatemala 99
QLocale::Guernsey 100
QLocale::Guinea 102
QLocale::GuineaBissau 101
QLocale::Guyana 103
QLocale::Haiti 104
QLocale::HeardAndMcDonaldIslands 105
QLocale::Honduras 106
QLocale::HongKong 107
QLocale::Hungary 108
QLocale::Iceland 109
QLocale::India 110
QLocale::Indonesia 111
QLocale::Iran 112
QLocale::Iraq 113
QLocale::Ireland 114
QLocale::IsleOfMan 115
QLocale::Israel 116
QLocale::Italy 117
QLocale::IvoryCoast 118
QLocale::Jamaica 119
QLocale::Japan 120
QLocale::Jersey 121
QLocale::Jordan 122
QLocale::Kazakhstan 123
QLocale::Kenya 124
QLocale::Kiribati 125
QLocale::Kosovo (since Qt 5.2) 126
QLocale::Kuwait 127
QLocale::Kyrgyzstan 128
QLocale::Laos 129
QLocale::LatinAmerica 130
QLocale::LatinAmericaAndTheCaribbean LatinAmerica Obsolete, use LatinAmerica instead
QLocale::Latvia 131
QLocale::Lebanon 132
QLocale::Lesotho 133
QLocale::Liberia 134
QLocale::Libya 135
QLocale::Liechtenstein 136
QLocale::Lithuania 137
QLocale::Luxembourg 138
QLocale::Macao 139
QLocale::Macau Macao
QLocale::Macedonia 140
QLocale::Madagascar 141
QLocale::Malawi 142
QLocale::Malaysia 143
QLocale::Maldives 144
QLocale::Mali 145
QLocale::Malta 146
QLocale::MarshallIslands 147
QLocale::Martinique 148
QLocale::Mauritania 149
QLocale::Mauritius 150
QLocale::Mayotte 151
QLocale::Mexico 152
QLocale::Micronesia 153
QLocale::Moldova 154
QLocale::Monaco 155
QLocale::Mongolia 156
QLocale::Montenegro 157
QLocale::Montserrat 158
QLocale::Morocco 159
QLocale::Mozambique 160
QLocale::Myanmar 161
QLocale::Namibia 162
QLocale::NauruCountry NauruTerritory Osbolete alias for NauruTerritory
QLocale::NauruTerritory (since Qt 6.2) 163
QLocale::Nepal 164
QLocale::Netherlands 165
QLocale::NewCaledonia 166
QLocale::NewZealand 167
QLocale::Nicaragua 168
QLocale::Niger 170
QLocale::Nigeria 169
QLocale::Niue 171
QLocale::NorfolkIsland 172
QLocale::NorthernMarianaIslands 173
QLocale::NorthKorea 174
QLocale::Norway 175
QLocale::Oman 176
QLocale::OutlyingOceania (since Qt 5.7) 177
QLocale::Pakistan 178
QLocale::Palau 179
QLocale::PalestinianTerritories 180
QLocale::Panama 181
QLocale::PapuaNewGuinea 182
QLocale::Paraguay 183
QLocale::PeoplesRepublicOfCongo CongoBrazzaville Obsolete, use CongoBrazzaville instead
QLocale::Peru 184
QLocale::Philippines 185
QLocale::Pitcairn 186
QLocale::Poland 187
QLocale::Portugal 188
QLocale::PuertoRico 189
QLocale::Qatar 190
QLocale::RepublicOfKorea SouthKorea Obsolete, use SouthKorea instead
QLocale::Reunion 191
QLocale::Romania 192
QLocale::RussianFederation Russia
QLocale::Russia 193
QLocale::Rwanda 194
QLocale::SaintBarthelemy 195
QLocale::SaintHelena 196
QLocale::SaintKittsAndNevis 197
QLocale::SaintLucia 198
QLocale::SaintMartin 199
QLocale::SaintPierreAndMiquelon 200
QLocale::SaintVincentAndGrenadines 201
QLocale::SaintVincentAndTheGrenadines SaintVincentAndGrenadines
QLocale::Samoa 202
QLocale::SanMarino 203
QLocale::SaoTomeAndPrincipe 204
QLocale::SaudiArabia 205
QLocale::Senegal 206
QLocale::Serbia 207
QLocale::Seychelles 208
QLocale::SierraLeone 209
QLocale::Singapore 210
QLocale::SintMaarten 211
QLocale::Slovakia 212
QLocale::Slovenia 213
QLocale::SolomonIslands 214
QLocale::Somalia 215
QLocale::SouthAfrica 216
QLocale::SouthGeorgiaAndSouthSandwichIslands 217
QLocale::SouthGeorgiaAndTheSouthSandwichIslands SouthGeorgiaAndSouthSandwichIslands
QLocale::SouthKorea 218
QLocale::SouthSudan 219
QLocale::Spain 220
QLocale::SriLanka 221
QLocale::Sudan 222
QLocale::Suriname 223
QLocale::SvalbardAndJanMayen 224
QLocale::SvalbardAndJanMayenIslands SvalbardAndJanMayen
QLocale::Swaziland Eswatini
QLocale::Sweden 225
QLocale::Switzerland 226
QLocale::Syria 227
QLocale::SyrianArabRepublic Syria Obsolete, use Syria instead
QLocale::Taiwan 228
QLocale::Tajikistan 229
QLocale::Tanzania 230
QLocale::Thailand 231
QLocale::TimorLeste 232
QLocale::Togo 233
QLocale::TokelauCountry TokelauTerritory Osbolete alias for TokelauTerritory
QLocale::TokelauTerritory (since Qt 6.2) 234
QLocale::Tonga 235
QLocale::TrinidadAndTobago 236
QLocale::TristanDaCunha 237
QLocale::Tunisia 238
QLocale::Turkey 239
QLocale::Turkmenistan 240
QLocale::TurksAndCaicosIslands 241
QLocale::TuvaluCountry TuvaluTerritory Osbolete alias for TuvaluTerritory
QLocale::TuvaluTerritory (since Qt 6.2) 242
QLocale::Uganda 243
QLocale::Ukraine 244
QLocale::UnitedArabEmirates 245
QLocale::UnitedKingdom 246
QLocale::UnitedStates 248
QLocale::UnitedStatesOutlyingIslands 247
QLocale::UnitedStatesMinorOutlyingIslands UnitedStatesOutlyingIslands
QLocale::UnitedStatesVirginIslands 249
QLocale::Uruguay 250
QLocale::Uzbekistan 251
QLocale::Vanuatu 252
QLocale::VaticanCity 253
QLocale::VaticanCityState VaticanCity
QLocale::Venezuela 254
QLocale::Vietnam 255
QLocale::WallisAndFutuna 256
QLocale::WallisAndFutunaIslands WallisAndFutuna
QLocale::WesternSahara 257
QLocale::World (since Qt 5.12) 258
QLocale::Yemen 259
QLocale::Zambia 260
QLocale::Zimbabwe 261

Note: Use the Territory alias for this enumeration where possible. The Country enum shall be renamed to Territory at a later release.

See also territory(), territoryToString(), codeToTerritory(), and territoryToCode().

enum QLocale::CurrencySymbolFormat

Specifies the format of the currency symbol.

Constant Value Description
QLocale::CurrencyIsoCode 0 a ISO-4217 code of the currency.
QLocale::CurrencySymbol 1 a currency symbol.
QLocale::CurrencyDisplayName 2 a user readable name of the currency.

enum QLocale::DataSizeFormat
flags QLocale::DataSizeFormats

Specifies the format for representation of data quantities.

Constant Value Description
QLocale::DataSizeIecFormat 0 format using base 1024 and IEC prefixes: KiB, MiB, GiB, ...
QLocale::DataSizeTraditionalFormat DataSizeSIQuantifiers format using base 1024 and SI prefixes: kB, MB, GB, ...
QLocale::DataSizeSIFormat DataSizeBase1000 | DataSizeSIQuantifiers format using base 1000 and SI prefixes: kB, MB, GB, ...

The DataSizeFormats type is a typedef for QFlags<DataSizeFormat>. It stores an OR combination of DataSizeFormat values.

See also formattedDataSize().

enum QLocale::FloatingPointPrecisionOption

This enum defines a constant that can be given as precision to QString::number(), QByteArray::number(), and QLocale::toString() when converting floats or doubles, in order to express a variable number of digits as precision.

Constant Value Description
QLocale::FloatingPointShortest -128 The conversion algorithm will try to find the shortest accurate representation for the given number. "Accurate" means that you get the exact same number back from an inverse conversion on the generated string representation. In particular, trailing zeros are omitted (from the mantissa, in exponent formats).

See also toString(), QString::number(), and QByteArray::number().

enum QLocale::FormatType

This enum describes the different formats that can be used when converting QDate, QTime, and QDateTime objects, as well as months and days, to strings specific to the locale.

Constant Value Description
QLocale::LongFormat 0 Longer format.
QLocale::ShortFormat 1 Shorter format.
QLocale::NarrowFormat 2 A special version for use when space is very limited.

Note: NarrowFormat might contain the same text for different months and days. It can even be an empty string if the locale doesn't support narrow names, so you should avoid using it for date formatting. Also, for the system locale this format is the same as ShortFormat.

See also dateFormat(), timeFormat(), dateTimeFormat(), monthName(), standaloneMonthName(), dayName(), standaloneDayName(), toDate(), toTime(), and toDateTime().

enum QLocale::Language

This enumerated type is used to specify a language.

Constant Value Description
QLocale::AnyLanguage 0
QLocale::C 1 A simplified English locale; see QLocale::c()
QLocale::Abkhazian 2
QLocale::Afan Oromo Obsolete, please use Oromo
QLocale::Afar 3
QLocale::Afrikaans 4
QLocale::Aghem 5
QLocale::Akan 6
QLocale::Akkadian (since Qt 5.1) 7
QLocale::Akoose (since Qt 5.3) 8
QLocale::Albanian 9
QLocale::AmericanSignLanguage (since Qt 5.7) 10
QLocale::Amharic 11
QLocale::AncientEgyptian (since Qt 5.1) 12
QLocale::AncientGreek (since Qt 5.1) 13
QLocale::Anii (since Qt 6.7) 341
QLocale::Arabic 14
QLocale::Aragonese (since Qt 5.1) 15
QLocale::Aramaic (since Qt 5.1) 16
QLocale::Armenian 17
QLocale::Assamese 18
QLocale::Asturian 19
QLocale::Asu 20
QLocale::Atsam 21
QLocale::Avaric 22
QLocale::Avestan 23
QLocale::Aymara 24
QLocale::Azerbaijani 25
QLocale::Bafia 26
QLocale::Balinese (since Qt 5.1) 27
QLocale::Baluchi (since Qt 6.6) 337
QLocale::Bambara 28
QLocale::Bamun (since Qt 5.1) 29
QLocale::Bangla (since Qt 6.0) 30
QLocale::Basaa 31
QLocale::Bashkir 32
QLocale::Basque 33
QLocale::BatakToba (since Qt 5.1) 34
QLocale::Belarusian 35
QLocale::Bemba 36
QLocale::Bena 37
QLocale::Bengali Bangla Obsolete, please use Bangla
QLocale::Bhojpuri (since Qt 5.7) 38
QLocale::Bhutani Dzongkha Obsolete, please use Dzongkha
QLocale::Bislama 39
QLocale::Blin 40
QLocale::Bodo 41
QLocale::Bosnian 42
QLocale::Breton 43
QLocale::Buginese (since Qt 5.1) 44
QLocale::Bulgarian 45
QLocale::Burmese 46
QLocale::Byelorussian Belarusian Obsolete, please use Belarusian
QLocale::Cambodian Khmer Obsolete, please use Khmer
QLocale::Cantonese (since Qt 5.7) 47
QLocale::Catalan 48
QLocale::Cebuano (since Qt 5.14) 49
QLocale::CentralAtlasTamazight (since Qt 6.0) 50
QLocale::CentralKurdish (since Qt 5.5) 51
QLocale::CentralMoroccoTamazight CentralAtlasTamazight Obsolete, please use CentralAtlasTamazight
QLocale::Chakma (since Qt 5.1) 52
QLocale::Chamorro 53
QLocale::Chechen 54
QLocale::Cherokee 55
QLocale::Chewa Nyanja Obsolete, please use Nyanja
QLocale::Chickasaw (since Qt 5.14) 56
QLocale::Chiga 57
QLocale::Chinese 58 (Mandarin)
QLocale::Church 59
QLocale::Chuvash 60
QLocale::Colognian 61
QLocale::Coptic (since Qt 5.1) 62
QLocale::Cornish 63
QLocale::Corsican 64
QLocale::Cree 65
QLocale::Croatian 66
QLocale::Czech 67
QLocale::Danish 68
QLocale::Divehi 69
QLocale::Dogri (since Qt 5.1) 70
QLocale::Duala 71
QLocale::Dutch 72
QLocale::Dzongkha 73
QLocale::Embu 74
QLocale::English 75
QLocale::Erzya (since Qt 5.14) 76
QLocale::Esperanto 77
QLocale::Estonian 78
QLocale::Ewe 79
QLocale::Ewondo 80
QLocale::Faroese 81
QLocale::Fijian 82
QLocale::Filipino 83
QLocale::Finnish 84
QLocale::French 85
QLocale::Frisian WesternFrisian same as WesternFrisian
QLocale::Friulian 86
QLocale::Fulah 87
QLocale::Ga 89
QLocale::Gaelic 88
QLocale::Galician 90
QLocale::Ganda 91
QLocale::Geez 92
QLocale::Georgian 93
QLocale::German 94
QLocale::Gothic (since Qt 5.1) 95
QLocale::Greek 96
QLocale::Greenlandic Kalaallisut Obsolete, please use Kalaallisut
QLocale::Guarani 97
QLocale::Gujarati 98
QLocale::Gusii 99
QLocale::Haitian 100
QLocale::Haryanvi (since Qt 6.5) 330
QLocale::Hausa 101
QLocale::Hawaiian 102
QLocale::Hebrew 103
QLocale::Herero 104
QLocale::Hindi 105
QLocale::HiriMotu 106
QLocale::Hungarian 107
QLocale::Icelandic 108
QLocale::Ido (since Qt 5.12) 109
QLocale::Igbo 110
QLocale::InariSami (since Qt 5.5) 111
QLocale::Indonesian 112
QLocale::Ingush (since Qt 5.1) 113
QLocale::Interlingua 114
QLocale::Interlingue 115
QLocale::Inuktitut 116
QLocale::Inupiak Inupiaq Obsolete, please use Inupiaq
QLocale::Inupiaq (since Qt 6.0) 117
QLocale::Irish 118
QLocale::Italian 119
QLocale::Japanese 120
QLocale::Javanese 121
QLocale::Jju 122
QLocale::JolaFonyi 123
QLocale::Kabuverdianu 124
QLocale::Kabyle 125
QLocale::Kaingang (since Qt 6.3) 328
QLocale::Kako 126
QLocale::Kalaallisut (since Qt 6.0) 127
QLocale::Kalenjin 128
QLocale::Kamba 129
QLocale::Kangri (since Qt 6.7) 342
QLocale::Kannada 130
QLocale::Kanuri 131
QLocale::KaraKalpak (since Qt 6.9) 345
QLocale::Kashmiri 132
QLocale::Kazakh 133
QLocale::Kenyang (since Qt 5.5) 134
QLocale::Khmer 135
QLocale::Kiche (since Qt 5.5) 136
QLocale::Kikuyu 137
QLocale::Kinyarwanda 138
QLocale::Kirghiz Kyrgyz Obsolete, please use Kyrgyz
QLocale::Komi 139
QLocale::Kongo 140
QLocale::Konkani 141
QLocale::Korean 142
QLocale::Koro 143
QLocale::KoyraboroSenni 144
QLocale::KoyraChiini 145
QLocale::Kpelle 146
QLocale::Kuanyama (since Qt 6.0) 147
QLocale::Kurdish 148
QLocale::Kurundi Rundi Obsolete, please use Rundi
QLocale::Kuvi (since Qt 6.8) 344
QLocale::Kwanyama Kuanyama Obsolete, please use Kuanyama
QLocale::Kwasio 149
QLocale::Kyrgyz (since Qt 6.0) 150
QLocale::Lakota (since Qt 5.3) 151
QLocale::Langi 152
QLocale::Lao 153
QLocale::Latin 154
QLocale::Latvian 155
QLocale::Lezghian (since Qt 5.5) 156
QLocale::Limburgish 157
QLocale::Lingala 158
QLocale::Ligurian (since Qt 6.6) 338
QLocale::LiteraryChinese (since Qt 5.7) 159
QLocale::Lithuanian 160
QLocale::Lojban (since Qt 5.12) 161
QLocale::LowerSorbian (since Qt 5.5) 162
QLocale::LowGerman 163
QLocale::LubaKatanga 164
QLocale::LuleSami (since Qt 5.5) 165
QLocale::Luo 166
QLocale::Luxembourgish 167
QLocale::Luyia 168
QLocale::Macedonian 169
QLocale::Machame 170
QLocale::Maithili (since Qt 5.5) 171
QLocale::MakhuwaMeetto 172
QLocale::Makonde 173
QLocale::Malagasy 174
QLocale::Malay 176
QLocale::Malayalam 175
QLocale::Maltese 177
QLocale::Mandingo (since Qt 5.1) 178
QLocale::Manipuri (since Qt 5.1) 179
QLocale::Manx 180
QLocale::Maori 181
QLocale::Mapuche (since Qt 5.5) 182
QLocale::Marathi 183
QLocale::Marshallese 184
QLocale::Masai 185
QLocale::Mazanderani (since Qt 5.7) 186
QLocale::Mende (since Qt 5.5) 187
QLocale::Meru 188
QLocale::Meta 189
QLocale::Mohawk (since Qt 5.5) 190
QLocale::Moksha (since Qt 6.5) 333
QLocale::Mongolian 191
QLocale::Morisyen 192
QLocale::Mundang 193
QLocale::Muscogee (since Qt 5.14) 194
QLocale::Nama 195
QLocale::NauruLanguage 196
QLocale::Navaho Navajo Obsolete, please use Navajo
QLocale::Navajo (since Qt 6.0) 197
QLocale::Ndonga 198
QLocale::Nepali 199
QLocale::Newari (since Qt 5.7) 200
QLocale::Ngiemboon 201
QLocale::Nheengatu (since Qt 6.3) 329
QLocale::NigerianPidgin (since Qt 6.0) 203
QLocale::Ngomba 202
QLocale::Nko (since Qt 5.5) 204
QLocale::NorthernFrisian (since Qt 6.5) 331
QLocale::NorthernLuri (since Qt 5.7) 205
QLocale::NorthernSami 206
QLocale::NorthernSotho 207
QLocale::NorthNdebele 208
QLocale::NorwegianBokmal 209
QLocale::NorwegianNynorsk 210
QLocale::Nuer 211
QLocale::Nyanja 212
QLocale::Nyankole 213
QLocale::Obolo (since Qt 6.5) 336
QLocale::Occitan 214
QLocale::Odia (since Qt 6.0) 215
QLocale::Ojibwa 216
QLocale::OldIrish (since Qt 5.1) 217
QLocale::OldNorse (since Qt 5.1) 218
QLocale::OldPersian (since Qt 5.1) 219
QLocale::Oriya Odia Obsolete, please use Odia
QLocale::Oromo 220
QLocale::Osage (since Qt 5.7) 221
QLocale::Ossetic 222
QLocale::Pahlavi (since Qt 5.1) 223
QLocale::Palauan (since Qt 5.7) 224
QLocale::Pali 225
QLocale::Papiamento (since Qt 5.7) 226
QLocale::Pashto 227
QLocale::Persian 228
QLocale::Phoenician (since Qt 5.1) 229
QLocale::Pijin (since Qt 6.5) 335
QLocale::Polish 230
QLocale::Portuguese 231
QLocale::Prussian (since Qt 5.5) 232
QLocale::Punjabi 233
QLocale::Quechua 234
QLocale::Rajasthani (since Qt 6.5) 332
QLocale::RhaetoRomance Romansh Obsolete, please use Romansh
QLocale::Rohingya (since Qt 6.6) 339
QLocale::Romanian 235
QLocale::Romansh 236
QLocale::Rombo 237
QLocale::Rundi 238
QLocale::Russian 239
QLocale::Rwa 240
QLocale::Saho 241
QLocale::Sakha 242
QLocale::Samburu 243
QLocale::Samoan 244
QLocale::Sango 245
QLocale::Sangu 246
QLocale::Sanskrit 247
QLocale::Santali (since Qt 5.1) 248
QLocale::Sardinian 249
QLocale::Saurashtra (since Qt 5.1) 250
QLocale::Sena 251
QLocale::Serbian 252
QLocale::Shambala 253
QLocale::Shona 254
QLocale::SichuanYi 255
QLocale::Sicilian (since Qt 5.12) 256
QLocale::Sidamo 257
QLocale::Silesian (since Qt 5.14) 258
QLocale::Sindhi 259
QLocale::Sinhala 260
QLocale::SkoltSami (since Qt 5.5) 261
QLocale::Slovak 262
QLocale::Slovenian 263
QLocale::Soga 264
QLocale::Somali 265
QLocale::SouthernKurdish (since Qt 5.12) 266
QLocale::SouthernSami (since Qt 5.5) 267
QLocale::SouthernSotho 268
QLocale::SouthNdebele 269
QLocale::Spanish 270
QLocale::StandardMoroccanTamazight (since Qt 5.3) 271
QLocale::Sundanese 272
QLocale::Swahili 273
QLocale::SwampyCree (since Qt 6.9) 346
QLocale::Swati 274
QLocale::Swedish 275
QLocale::SwissGerman 276
QLocale::Syriac 277
QLocale::Tachelhit 278
QLocale::Tahitian 279
QLocale::TaiDam (since Qt 5.1) 280
QLocale::Taita 281
QLocale::Tajik 282
QLocale::Tamil 283
QLocale::Taroko 284
QLocale::Tasawaq 285
QLocale::Tatar 286
QLocale::Telugu 287
QLocale::Teso 288
QLocale::Thai 289
QLocale::Tibetan 290
QLocale::Tigre 291
QLocale::Tigrinya 292
QLocale::TokelauLanguage (since Qt 5.7) 293
QLocale::TokiPona (since Qt 6.5) 334
QLocale::TokPisin (since Qt 5.7) 294
QLocale::Tongan 295
QLocale::Torwali (since Qt 6.6) 340
QLocale::Tsonga 296
QLocale::Tswana 297
QLocale::Turkish 298
QLocale::Turkmen 299
QLocale::TuvaluLanguage (since Qt 5.7) 300
QLocale::Tyap 301
QLocale::Ugaritic (since Qt 5.1) 302
QLocale::Uighur Uyghur Obsolete, please use Uyghur
QLocale::Uigur Uyghur Obsolete, please use Uyghur
QLocale::Ukrainian 303
QLocale::UpperSorbian (since Qt 5.5) 304
QLocale::Urdu 305
QLocale::Uyghur (since Qt 6.0) 306
QLocale::Uzbek 307
QLocale::Vai 308
QLocale::Venda 309
QLocale::Venetian (since Qt 6.7) 343
QLocale::Vietnamese 310
QLocale::Volapuk 311
QLocale::Vunjo 312
QLocale::Walamo Wolaytta Obsolete, please use Wolaytta
QLocale::Walloon 313
QLocale::Walser 314
QLocale::Warlpiri (since Qt 5.5) 315
QLocale::Welsh 316
QLocale::WesternBalochi (since Qt 5.12) 317
QLocale::WesternFrisian 318 same as Frisian
QLocale::Wolaytta (since Qt 6.0) 319
QLocale::Wolof 320
QLocale::Xhosa 321
QLocale::Yangben 322
QLocale::Yiddish 323
QLocale::Yoruba 324
QLocale::Zarma 325
QLocale::Zhuang 326
QLocale::Zulu 327

See also language() and languageToString().

enum QLocale::LanguageCodeType
flags QLocale::LanguageCodeTypes

This enum defines language code types that can be used to restrict set of language codes considered by codeToLanguage and languageToCode.

Constant Value Description
QLocale::ISO639Part1 1 << 0 ISO 639 Part 1 Alpha 2 code.
QLocale::ISO639Part2B 1 << 1 ISO 639 Part 2 bibliographic Alpha 3 code.
QLocale::ISO639Part2T 1 << 2 ISO 639 Part 2 terminological Alpha 3 code.
QLocale::ISO639Part3 1 << 3 ISO 639 Part 3 Alpha 3 code.
QLocale::LegacyLanguageCode 1 << 15 Codes that are not part of the above set, but that were supported by Qt in the past. This value can only be used by codeToLanguage(). It is ignored when passed to languageToCode().
QLocale::ISO639Part2 ISO639Part2B | ISO639Part2T Any ISO 639 Part 2 code.
QLocale::ISO639Alpha2 ISO639Part1 Any ISO-639 2-letter code.
QLocale::ISO639Alpha3 ISO639Part2 | ISO639Part3 Any ISO-639 3-letter code.
QLocale::ISO639 ISO639Alpha2 | ISO639Alpha3 Any ISO 639 code.
QLocale::AnyLanguageCode -1 Specifies that any code can be used.

The LanguageCodeTypes type is a typedef for QFlags<LanguageCodeType>. It stores an OR combination of LanguageCodeType values.

enum QLocale::MeasurementSystem

This enum defines which units are used for measurement.

Constant Value Description
QLocale::MetricSystem 0 This value indicates metric units, such as meters, centimeters and millimeters, based on SI.
QLocale::ImperialUSSystem 1 This value indicates imperial units, such as inches and miles as they are used in the United States.
QLocale::ImperialUKSystem 2 This value indicates imperial units, such as inches and miles as they are used in the United Kingdom.
QLocale::ImperialSystem ImperialUSSystem Provided for compatibility. Same as ImperialUSSystem

enum QLocale::NumberOption
flags QLocale::NumberOptions

This enum defines a set of options for number-to-string and string-to-number conversions. They can be retrieved with numberOptions() and set with setNumberOptions().

Constant Value Description
QLocale::DefaultNumberOptions 0x0 This option represents the default behavior for all locales except the C locale, with group separators, with one leading zero in single digit exponents, and without trailing zeroes at the end of the fractional part (when present).
QLocale::OmitGroupSeparator 0x01 If this option is set, the number-to-string functions will not break up digits into groups. The C locale sets this option by default. The default for all other locales is to break up digits into groups, in the whole-number part of a number, with group separators.
QLocale::RejectGroupSeparator 0x02 If this option is set, the string-to-number functions will fail if they encounter group separators in their input. The default is to accept numbers containing correctly placed group separators.
QLocale::OmitLeadingZeroInExponent 0x04 If this option is set, the number-to-string functions will not pad exponents with zeroes when printing floating point numbers in scientific notation. The default is to add one leading zero to single digit exponents.
QLocale::RejectLeadingZeroInExponent 0x08 If this option is set, the string-to-number functions will fail if they encounter an exponent padded with zeroes when parsing a floating point number in scientific notation. The default is to accept such padding.
QLocale::IncludeTrailingZeroesAfterDot 0x10 If this option is set, the number-to-string functions will pad numbers with zeroes to the requested precision in "g" or "most concise" mode. The default is to omit trailing zeroes, which may leave fewer digits in the fractional part than the precision asked for.
QLocale::RejectTrailingZeroesAfterDot 0x20 If this option is set, the string-to-number functions will fail if they encounter trailing zeroes at the end of the fractional part, when parsing a number in scientific or decimal representation. The default is to accept trailing zeroes.

The NumberOptions type is a typedef for QFlags<NumberOption>. It stores an OR combination of NumberOption values.

See also setNumberOptions(), numberOptions(), and FloatingPointPrecisionOption.

enum QLocale::QuotationStyle

This enum defines a set of possible styles for locale specific quotation.

Constant Value Description
QLocale::StandardQuotation 0 If this option is set, the standard quotation marks will be used to quote strings.
QLocale::AlternateQuotation 1 If this option is set, the alternate quotation marks will be used to quote strings.

See also quoteString().

enum QLocale::Script

This enumerated type is used to specify a script.

Constant Value Description
QLocale::AnyScript 0
QLocale::AdlamScript (since Qt 5.7) 1
QLocale::AhomScript (since Qt 5.7) 2
QLocale::AnatolianHieroglyphsScript (since Qt 5.7) 3
QLocale::ArabicScript 4
QLocale::ArmenianScript 5
QLocale::AvestanScript (since Qt 5.1) 6
QLocale::BalineseScript (since Qt 5.1) 7
QLocale::BamumScript (since Qt 5.1) 8
QLocale::BanglaScript (since Qt 6.0) 9
QLocale::BassaVahScript (since Qt 5.5) 10
QLocale::BatakScript (since Qt 5.1) 11
QLocale::BengaliScript BanglaScript Obsolete, please use BanglaScript
QLocale::BhaiksukiScript (since Qt 5.7) 12
QLocale::BopomofoScript (since Qt 5.1) 13
QLocale::BrahmiScript (since Qt 5.1) 14
QLocale::BrailleScript (since Qt 5.1) 15
QLocale::BugineseScript (since Qt 5.1) 16
QLocale::BuhidScript (since Qt 5.1) 17
QLocale::CanadianAboriginalScript (since Qt 5.1) 18
QLocale::CarianScript (since Qt 5.1) 19
QLocale::CaucasianAlbanianScript (since Qt 5.5) 20
QLocale::ChakmaScript (since Qt 5.1) 21
QLocale::ChamScript (since Qt 5.1) 22
QLocale::CherokeeScript 23
QLocale::CopticScript (since Qt 5.1) 24
QLocale::CuneiformScript (since Qt 5.1) 25
QLocale::CypriotScript (since Qt 5.1) 26
QLocale::CyrillicScript 27
QLocale::DeseretScript (since Qt 5.1) 28
QLocale::DevanagariScript 29
QLocale::DuployanScript (since Qt 5.5) 30
QLocale::EgyptianHieroglyphsScript (since Qt 5.1) 31
QLocale::ElbasanScript (since Qt 5.5) 32
QLocale::EthiopicScript 33
QLocale::FraserScript (since Qt 5.1) 34
QLocale::GeorgianScript 35
QLocale::GlagoliticScript (since Qt 5.1) 36
QLocale::GothicScript (since Qt 5.1) 37
QLocale::GranthaScript (since Qt 5.5) 38
QLocale::GreekScript 39
QLocale::GujaratiScript 40
QLocale::GurmukhiScript 41
QLocale::HangulScript (since Qt 5.1) 42
QLocale::HanifiScript (since Qt 6.6) 142
QLocale::HanScript (since Qt 5.1) 43
QLocale::HanunooScript (since Qt 5.1) 44
QLocale::HanWithBopomofoScript (since Qt 5.7) 45
QLocale::HatranScript (since Qt 5.7) 46
QLocale::HebrewScript 47
QLocale::HiraganaScript (since Qt 5.1) 48
QLocale::ImperialAramaicScript (since Qt 5.1) 49
QLocale::InscriptionalPahlaviScript (since Qt 5.1) 50
QLocale::InscriptionalParthianScript (since Qt 5.1) 51
QLocale::JamoScript (since Qt 5.7) 52
QLocale::JapaneseScript 53
QLocale::JavaneseScript (since Qt 5.1) 54
QLocale::KaithiScript (since Qt 5.1) 55
QLocale::KannadaScript 56
QLocale::KatakanaScript (since Qt 5.1) 57
QLocale::KayahLiScript (since Qt 5.1) 58
QLocale::KharoshthiScript (since Qt 5.1) 59
QLocale::KhmerScript (since Qt 5.1) 60
QLocale::KhojkiScript (since Qt 5.5) 61
QLocale::KhudawadiScript (since Qt 5.5) 62
QLocale::KoreanScript 63
QLocale::LannaScript (since Qt 5.1) 64
QLocale::LaoScript 65
QLocale::LatinScript 66
QLocale::LepchaScript (since Qt 5.1) 67
QLocale::LimbuScript (since Qt 5.1) 68
QLocale::LinearAScript (since Qt 5.5) 69
QLocale::LinearBScript (since Qt 5.1) 70
QLocale::LycianScript (since Qt 5.1) 71
QLocale::LydianScript (since Qt 5.1) 72
QLocale::MahajaniScript (since Qt 5.5) 73
QLocale::MalayalamScript 74
QLocale::MandaeanScript (since Qt 5.1) 75
QLocale::ManichaeanScript (since Qt 5.5) 76
QLocale::MarchenScript (since Qt 5.7) 77
QLocale::MeiteiMayekScript (since Qt 5.1) 78
QLocale::MendeScript (since Qt 6.0) 79
QLocale::MendeKikakuiScript MendeScript Obsolete, please use MendeScript
QLocale::MeroiticCursiveScript (since Qt 5.1) 80
QLocale::MeroiticScript (since Qt 5.1) 81
QLocale::ModiScript (since Qt 5.5) 82
QLocale::MongolianScript 83
QLocale::MroScript (since Qt 5.5) 84
QLocale::MultaniScript (since Qt 5.7) 85
QLocale::MyanmarScript 86
QLocale::NabataeanScript (since Qt 5.5) 87
QLocale::NewaScript (since Qt 5.7) 88
QLocale::NewTaiLueScript (since Qt 5.1) 89
QLocale::NkoScript (since Qt 5.1) 90
QLocale::OghamScript (since Qt 5.1) 92
QLocale::OlChikiScript (since Qt 5.1) 93
QLocale::OldHungarianScript (since Qt 5.7) 94
QLocale::OldItalicScript (since Qt 5.1) 95
QLocale::OldNorthArabianScript (since Qt 5.5) 96
QLocale::OldPermicScript (since Qt 5.5) 97
QLocale::OldPersianScript (since Qt 5.1) 98
QLocale::OldSouthArabianScript (since Qt 5.1) 99
QLocale::OdiaScript (since Qt 6.0) 91
QLocale::OriyaScript OdiaScript Obsolete, please use OdiaScript
QLocale::OrkhonScript (since Qt 5.1) 100
QLocale::OsageScript (since Qt 5.7) 101
QLocale::OsmanyaScript (since Qt 5.1) 102
QLocale::PahawhHmongScript (since Qt 5.5) 103
QLocale::PalmyreneScript (since Qt 5.5) 104
QLocale::PauCinHauScript (since Qt 5.5) 105
QLocale::PhagsPaScript (since Qt 5.1) 106
QLocale::PhoenicianScript (since Qt 5.1) 107
QLocale::PollardPhoneticScript (since Qt 5.1) 108
QLocale::PsalterPahlaviScript (since Qt 5.5) 109
QLocale::RejangScript (since Qt 5.1) 110
QLocale::RunicScript (since Qt 5.1) 111
QLocale::SamaritanScript (since Qt 5.1) 112
QLocale::SaurashtraScript (since Qt 5.1) 113
QLocale::SharadaScript (since Qt 5.1) 114
QLocale::ShavianScript (since Qt 5.1) 115
QLocale::SiddhamScript (since Qt 5.5) 116
QLocale::SignWritingScript (since Qt 5.7) 117
QLocale::SimplifiedChineseScript SimplifiedHanScript same as SimplifiedHanScript
QLocale::SimplifiedHanScript 118 same as SimplifiedChineseScript
QLocale::SinhalaScript 119
QLocale::SoraSompengScript (since Qt 5.1) 120
QLocale::SundaneseScript (since Qt 5.1) 121
QLocale::SylotiNagriScript (since Qt 5.1) 122
QLocale::SyriacScript 123
QLocale::TagalogScript (since Qt 5.1) 124
QLocale::TagbanwaScript (since Qt 5.1) 125
QLocale::TaiLeScript (since Qt 5.1) 126
QLocale::TaiVietScript (since Qt 5.1) 127
QLocale::TakriScript (since Qt 5.1) 128
QLocale::TamilScript 129
QLocale::TangutScript (since Qt 5.7) 130
QLocale::TeluguScript 131
QLocale::ThaanaScript 132
QLocale::ThaiScript 133
QLocale::TibetanScript 134
QLocale::TifinaghScript 135
QLocale::TirhutaScript (since Qt 5.5) 136
QLocale::TraditionalChineseScript TraditionalHanScript same as TraditionalHanScript
QLocale::TraditionalHanScript 137 same as TraditionalChineseScript
QLocale::UgariticScript (since Qt 5.1) 138
QLocale::VaiScript 139
QLocale::VarangKshitiScript (since Qt 5.5) 140
QLocale::YiScript 141

See also script(), scriptToString(), and languageToString().

[since 6.7] enum class QLocale::TagSeparator

Indicate how to combine the parts that make up a locale identifier.

A locale identifier may be made up of several tags, indicating language, script and territory (plus, potentially, other details), joined together to form the identifier. Various standards and conventional forms use either a dash (the Unicode HYPHEN-MINUS, U+002D) or an underscore (LOW LINE, U+005F). Different clients of QLocale may thus need one or the other.

Constant Value Description
QLocale::TagSeparator::Dash '-' Use '-', the dash or hyphen character.
QLocale::TagSeparator::Underscore '_' Use '_', the underscore character.

Note: Although dash and underscore are the only separators used in public standards (as at 2023), it is possible to cast any ASCII character to this type if a non-standard ASCII separator is needed. Casting a non-ASCII character (with decimal value above 127) is not supported: such values are reserved for future use as enum members if some public standard ever uses a non-ASCII separator. It is, of course, possible to use QString::replace() to replace the separator used by a function taking a parameter of this type with an arbitrary Unicode character or string.

This enum was introduced in Qt 6.7.

[alias] QLocale::Territory

This enumeration type is an alias for Country, which shall be renamed to Territory at a future release.

See also territory() and territoryToString().

Member Function Documentation

QLocale::QLocale()

Constructs a QLocale object initialized with the default locale.

If no default locale was set using setDefault(), this locale will be the same as the one returned by system().

See also setDefault() and system().

[explicit, since 6.3] QLocale::QLocale(QStringView name)

Constructs a QLocale object with the specified name.

The name has the format "language[_script][_territory][.codeset][@modifier]" or "C", where:

  • language is a lowercase, two-letter, ISO 639 language code (some three-letter codes are also recognized),
  • script is a capitalized, four-letter, ISO 15924 script code,
  • territory is an uppercase, two-letter, ISO 3166 territory code (some numeric codes are also recognized), and
  • codeset and modifier are ignored.

The separator can be either underscore '_' (U+005F, "low line") or a dash '-' (U+002D, "hyphen-minus"). If QLocale has no data for the specified combination of language, script, and territory, then it uses the most suitable match it can find instead. If the string violates the locale format, or no suitable data can be found for the specified keys, the "C" locale is used instead.

This constructor is much slower than QLocale(Language, Script, Territory) or QLocale(Language, Territory).

This function was introduced in Qt 6.3.

See also bcp47Name() and Matching combinations of language, script and territory.

QLocale::QLocale(QLocale::Language language, QLocale::Territory territory)

Constructs a QLocale object for the specified language and territory.

If there is more than one script in use for this combination, a likely script will be selected. If QLocale has no data for the specified language, the default locale is used. If QLocale has no data for the specified combination of language and territory, an alternative territory may be used instead.

See also setDefault() and Matching combinations of language, script and territory.

QLocale::QLocale(QLocale::Language language, QLocale::Script script = AnyScript, QLocale::Territory territory = AnyTerritory)

Constructs a QLocale object for the specified language, script and territory.

If QLocale does not have data for the given combination, it will find data for as good a match as it can. It falls back on the default locale if

  • language is AnyLanguage and no language can be inferred from script and territory
  • QLocale has no data for the language, either given as language or inferred as above.

See also setDefault() and Matching combinations of language, script and territory.

[explicit] QLocale::QLocale(const QString &name)

This is an overloaded function.

[noexcept] QLocale::QLocale(const QLocale &other)

Constructs a QLocale object as a copy of other.

[noexcept] QLocale::~QLocale()

Destructor

QString QLocale::amText() const

Returns the localized name of the "AM" suffix for times specified using the conventions of the 12-hour clock.

See also pmText().

QString QLocale::bcp47Name(QLocale::TagSeparator separator = TagSeparator::Dash) const

Returns the BCP47 field names joined with dashes.

This combines as many of language, script and territory (and possibly other BCP47 fields) for this locale as are needed to uniquely specify it. Note that fields may be omitted if the Unicode consortium's Likely Subtag Rules imply the omitted fields when given those retained. See name() for how to construct a string from individual fields, if some other format is needed.

Unlike uiLanguages(), the value returned by bcp47Name() represents the locale name of the QLocale data; this need not be the language the user-interface should be in.

This function tries to conform the locale name to the IETF Best Common Practice 47, defined by RFC 5646. Since Qt 6.7, it supports an optional separator parameter which can be used to override the BCP47-specified use of a hyphen to separate the tags. For use in IETF-defined protocols, however, the default, QLocale::TagSeparator::Dash, should be retained.

See also name(), language(), territory(), script(), and uiLanguages().

[static] QLocale QLocale::c()

Returns a QLocale object initialized to the "C" locale.

This locale is based on en_US but with various quirks of its own, such as simplified number formatting and its own date formatting. It implements the POSIX standards that describe the behavior of standard library functions of the "C" programming language.

Among other things, this means its collation order is based on the ASCII values of letters, so that (for case-sensitive sorting) all upper-case letters sort before any lower-case one (rather than each letter's upper- and lower-case forms sorting adjacent to one another, before the next letter's two forms).

See also system().

[static noexcept, since 6.3] QLocale::Language QLocale::codeToLanguage(QStringView languageCode, QLocale::LanguageCodeTypes codeTypes = AnyLanguageCode)

Returns the QLocale::Language enum corresponding to the two- or three-letter languageCode, as defined in the ISO 639 standards.

If specified, codeTypes selects which set of codes to consider for conversion. By default all codes known to Qt are considered. The codes are matched in the following order: ISO639Part1, ISO639Part2B, ISO639Part2T, ISO639Part3, LegacyLanguageCode.

If the code is invalid or not known QLocale::AnyLanguage is returned.

This function was introduced in Qt 6.3.

See also languageToCode(), codeToTerritory(), and codeToScript().

[static noexcept, since 6.1] QLocale::Script QLocale::codeToScript(QStringView scriptCode)

Returns the QLocale::Script enum corresponding to the four-letter script scriptCode, as defined in the ISO 15924 standard.

If the code is invalid or not known QLocale::AnyScript is returned.

This function was introduced in Qt 6.1.

See also scriptToCode(), codeToLanguage(), and codeToTerritory().

[static noexcept, since 6.2] QLocale::Territory QLocale::codeToTerritory(QStringView territoryCode)

Returns the QLocale::Territory enum corresponding to the two-letter or three-digit territoryCode, as defined in the ISO 3166 standard.

If the code is invalid or not known QLocale::AnyTerritory is returned.

This function was introduced in Qt 6.2.

See also territoryToCode(), codeToLanguage(), and codeToScript().

QLocale QLocale::collation() const

Returns the locale to use for collation.

The result is usually this locale; however, the system locale (which is commonly the default locale) will return the system collation locale. The result is suitable for passing to QCollator's constructor.

See also QCollator.

QString QLocale::createSeparatedList(const QStringList &list) const

Returns a string that represents a join of a given list of strings with a separator defined by the locale.

QString QLocale::currencySymbol(QLocale::CurrencySymbolFormat format = CurrencySymbol) const

Returns a currency symbol according to the format.

QString QLocale::dateFormat(QLocale::FormatType format = LongFormat) const

Returns the date format used for the current locale.

If format is LongFormat, the format will be elaborate, otherwise it will be short. For example, LongFormat for the en_US locale is dddd, MMMM d, yyyy, ShortFormat is M/d/yy.

See also QDate::toString() and QDate::fromString().

QString QLocale::dateTimeFormat(QLocale::FormatType format = LongFormat) const

Returns the date time format used for the current locale.

If format is LongFormat, the format will be elaborate, otherwise it will be short. For example, LongFormat for the en_US locale is dddd, MMMM d, yyyy h:mm:ss AP t, ShortFormat is M/d/yy h:mm AP.

See also QDateTime::toString() and QDateTime::fromString().

QString QLocale::dayName(int day, QLocale::FormatType type = LongFormat) const

Returns the localized name of the day (where 1 represents Monday, 2 represents Tuesday and so on), in the format specified by type.

For example, if the locale is en_US and day is 1, LongFormat will return Monday, ShortFormat Mon, and NarrowFormat M.

See also monthName() and standaloneDayName().

QString QLocale::decimalPoint() const

Returns the fractional part separator for this locale.

This is the token that separates the whole number part from the fracional part in the representation of a number which has a fractional part. This is commonly called the "decimal point character" - even though, in many locales, it is not a "point" (or similar dot). It is (since Qt 6.0) returned as a string in case some locale needs more than one UTF-16 code-point to represent its separator.

See also groupSeparator() and toString().

QString QLocale::exponential() const

Returns the exponent separator for this locale.

This is a token used to separate mantissa from exponent in some floating-point numeric representations. It is (since Qt 6.0) returned as a string because, in some locales, it is not a single character - for example, it may consist of a multiplication sign and a representation of the "ten to the power" operator.

See also toString(double, char, int).

Qt::DayOfWeek QLocale::firstDayOfWeek() const

Returns the first day of the week according to the current locale.

QString QLocale::formattedDataSize(qint64 bytes, int precision = 2, QLocale::DataSizeFormats format = DataSizeIecFormat) const

Converts a size in bytes to a human-readable localized string, comprising a number and a quantified unit. The quantifier is chosen such that the number is at least one, and as small as possible. For example if bytes is 16384, precision is 2, and format is DataSizeIecFormat (the default), this function returns "16.00 KiB"; for 1330409069609 bytes it returns "1.21 GiB"; and so on. If format is DataSizeIecFormat or DataSizeTraditionalFormat, the given number of bytes is divided by a power of 1024, with result less than 1024; for DataSizeSIFormat, it is divided by a power of 1000, with result less than 1000. DataSizeIecFormat uses the new IEC standard quantifiers Ki, Mi and so on, whereas DataSizeSIFormat uses the older SI quantifiers k, M, etc., and DataSizeTraditionalFormat abuses them.

QString QLocale::groupSeparator() const

Returns the digit-grouping separator for this locale.

This is a token used to break up long sequences of digits, in the representation of a number, to make it easier to read. In some locales it may be empty, indicating that digits should not be broken up into groups in this way. In others it may be a spacing character. It is (since Qt 6.0) returned as a string in case some locale needs more than one UTF-16 code-point to represent its separator.

See also decimalPoint() and toString().

QLocale::Language QLocale::language() const

Returns the language of this locale.

See also script(), territory(), languageToString(), and bcp47Name().

[static, since 6.3] QString QLocale::languageToCode(QLocale::Language language, QLocale::LanguageCodeTypes codeTypes = AnyLanguageCode)

Returns the two- or three-letter language code for language, as defined in the ISO 639 standards.

If specified, codeTypes selects which set of codes to consider. The first code from the set that is defined for language is returned. Otherwise, all ISO-639 codes are considered. The codes are considered in the following order: ISO639Part1, ISO639Part2B, ISO639Part2T, ISO639Part3. LegacyLanguageCode is ignored by this function.

Note: For QLocale::C the function returns "C". For QLocale::AnyLanguage an empty string is returned. If the language has no code in any selected code set, an empty string is returned.

This function was introduced in Qt 6.3.

See also codeToLanguage(), language(), name(), bcp47Name(), territoryToCode(), and scriptToCode().

[static] QString QLocale::languageToString(QLocale::Language language)

Returns a QString containing the name of language.

See also territoryToString(), scriptToString(), and bcp47Name().

[static] QList<QLocale> QLocale::matchingLocales(QLocale::Language language, QLocale::Script script, QLocale::Territory territory)

Returns a list of valid locale objects that match the given language, script and territory.

Getting a list of all locales: QList<QLocale> allLocales = QLocale::matchingLocales(QLocale::AnyLanguage, QLocale::AnyScript, QLocale::AnyTerritory);

Getting a list of locales suitable for Russia: QList<QLocale> locales = QLocale::matchingLocales(QLocale::AnyLanguage, QLocale::AnyScript, QLocale::Russia);

QLocale::MeasurementSystem QLocale::measurementSystem() const

Returns the measurement system for the locale.

QString QLocale::monthName(int month, QLocale::FormatType type = LongFormat) const

Returns the localized name of month, in the format specified by type.

For example, if the locale is en_US and month is 1, LongFormat will return January. ShortFormat Jan, and NarrowFormat J.

See also dayName() and standaloneMonthName().

QString QLocale::name(QLocale::TagSeparator separator = TagSeparator::Underscore) const

The short name of this locale.

Returns the language and territory of this locale as a string of the form "language_territory", where language is a lowercase, two-letter ISO 639 language code, and territory is an uppercase, two- or three-letter ISO 3166 territory code. If the locale has no specified territory, only the language name is returned. Since Qt 6.7 an optional separator parameter can be supplied to override the default underscore character separating the two tags.

Even if the QLocale object was constructed with an explicit script, name() will not contain it for compatibility reasons. Use bcp47Name() instead if you need a full locale name, or construct the string you want to identify a locale by from those returned by passing its language() to languageToCode() and similar for the script and territory.

See also QLocale(), language(), script(), territory(), bcp47Name(), and uiLanguages().

QString QLocale::nativeLanguageName() const

Returns a native name of the language for the locale. For example "Schweizer Hochdeutsch" for the Swiss-German locale.

See also nativeTerritoryName() and languageToString().

[since 6.2] QString QLocale::nativeTerritoryName() const

Returns a native name of the territory for the locale. For example "España" for Spanish/Spain locale.

This function was introduced in Qt 6.2.

See also nativeLanguageName() and territoryToString().

QString QLocale::negativeSign() const

Returns the negative sign indicator of this locale.

This is a token presumed to be used as a prefix to a number to indicate that it is negative. It is (since Qt 6.0) returned as a string because, in some locales, it is not a single character - for example, because it includes a text-direction-control character.

See also positiveSign() and toString().

QLocale::NumberOptions QLocale::numberOptions() const

Returns the options related to number conversions for this QLocale instance.

By default, no options are set for the standard locales, except for the "C" locale, which has OmitGroupSeparator set by default.

See also setNumberOptions(), toString(), groupSeparator(), and FloatingPointPrecisionOption.

QString QLocale::percent() const

Returns the percent marker of this locale.

This is a token presumed to be appended to a number to indicate a percentage. It is (since Qt 6.0) returned as a string because, in some locales, it is not a single character - for example, because it includes a text-direction-control character.

See also toString().

QString QLocale::pmText() const

Returns the localized name of the "PM" suffix for times specified using the conventions of the 12-hour clock.

See also amText().

QString QLocale::positiveSign() const

Returns the positive sign indicator of this locale.

This is a token presumed to be used as a prefix to a number to indicate that it is positive. It is (since Qt 6.0) returned as a string because, in some locales, it is not a single character - for example, because it includes a text-direction-control character.

See also negativeSign() and toString().

QString QLocale::quoteString(const QString &str, QLocale::QuotationStyle style = StandardQuotation) const

Returns str quoted according to the current locale using the given quotation style.

[since 6.0] QString QLocale::quoteString(QStringView str, QLocale::QuotationStyle style = StandardQuotation) const

This is an overloaded function.

This function was introduced in Qt 6.0.

QLocale::Script QLocale::script() const

Returns the script of this locale.

See also language(), territory(), languageToString(), scriptToString(), and bcp47Name().

[static, since 6.1] QString QLocale::scriptToCode(QLocale::Script script)

Returns the four-letter script code for script, as defined in the ISO 15924 standard.

Note: For QLocale::AnyScript an empty string is returned.

This function was introduced in Qt 6.1.

See also script(), name(), bcp47Name(), languageToCode(), and territoryToCode().

[static] QString QLocale::scriptToString(QLocale::Script script)

Returns a QString containing the name of script.

See also languageToString(), territoryToString(), script(), and bcp47Name().

[static] void QLocale::setDefault(const QLocale &locale)

Sets the global default locale to locale.

This locale is used when a QLocale object is constructed with no arguments. If this function is not called, the system's locale is used.

Warning: In a multithreaded application, the default locale should be set at application startup, before any non-GUI threads are created.

Warning: This function is not reentrant.

See also system() and c().

void QLocale::setNumberOptions(QLocale::NumberOptions options)

Sets the options related to number conversions for this QLocale instance.

See also numberOptions() and FloatingPointPrecisionOption.

QString QLocale::standaloneDayName(int day, QLocale::FormatType type = LongFormat) const

Returns the localized name of the day (where 1 represents Monday, 2 represents Tuesday and so on) that is used as a standalone text, in the format specified by type.

If the locale information does not specify the standalone day name then return value is the same as in dayName().

See also dayName() and standaloneMonthName().

QString QLocale::standaloneMonthName(int month, QLocale::FormatType type = LongFormat) const

Returns the localized name of month that is used as a standalone text, in the format specified by type.

If the locale information doesn't specify the standalone month name then return value is the same as in monthName().

See also monthName() and standaloneDayName().

[noexcept] void QLocale::swap(QLocale &other)

Swaps this locale with other. This operation is very fast and never fails.

[static] QLocale QLocale::system()

Returns a QLocale object initialized to the system locale.

The system locale may use system-specific sources for locale data, where available, otherwise falling back on QLocale's built-in database entry for the language, script and territory the system reports.

For example, on Windows and Mac, this locale will use the decimal/grouping characters and date/time formats specified in the system configuration panel.

See also c().

[since 6.2] QLocale::Territory QLocale::territory() const

Returns the territory of this locale.

This function was introduced in Qt 6.2.

See also language(), script(), territoryToString(), and bcp47Name().

[static, since 6.2] QString QLocale::territoryToCode(QLocale::Territory territory)

Returns the two-letter territory code for territory, as defined in the ISO 3166 standard.

Note: For QLocale::AnyTerritory an empty string is returned.

This function was introduced in Qt 6.2.

See also codeToTerritory(), territory(), name(), bcp47Name(), languageToCode(), and scriptToCode().

[static, since 6.2] QString QLocale::territoryToString(QLocale::Territory territory)

Returns a QString containing the name of territory.

This function was introduced in Qt 6.2.

See also languageToString(), scriptToString(), territory(), and bcp47Name().

Qt::LayoutDirection QLocale::textDirection() const

Returns the text direction of the language.

QString QLocale::timeFormat(QLocale::FormatType format = LongFormat) const

Returns the time format used for the current locale.

If format is LongFormat, the format will be elaborate, otherwise it will be short. For example, LongFormat for the en_US locale is h:mm:ss AP t, ShortFormat is h:mm AP.

See also QTime::toString() and QTime::fromString().

QString QLocale::toCurrencyString(qlonglong value, const QString &symbol = QString()) const

Returns a localized string representation of value as a currency. If the symbol is provided it is used instead of the default currency symbol.

See also currencySymbol().

QString QLocale::toCurrencyString(int value, const QString &symbol = QString()) const

This is an overloaded function.

QString QLocale::toCurrencyString(qulonglong value, const QString &symbol = QString()) const

This is an overloaded function.

QString QLocale::toCurrencyString(short value, const QString &symbol = QString()) const

This is an overloaded function.

QString QLocale::toCurrencyString(uint value, const QString &symbol = QString()) const

This is an overloaded function.

QString QLocale::toCurrencyString(ushort value, const QString &symbol = QString()) const

This is an overloaded function.

QString QLocale::toCurrencyString(double value, const QString &symbol = QString(), int precision = -1) const

Returns a localized string representation of value as a currency. If the symbol is provided it is used instead of the default currency symbol. If the precision is provided it is used to set the precision of the currency value.

This function overloads QLocale::toCurrencyString().

See also currencySymbol().

QString QLocale::toCurrencyString(float i, const QString &symbol = QString(), int precision = -1) const

This function overloads QLocale::toCurrencyString().

QDate QLocale::toDate(const QString &string, QLocale::FormatType format = LongFormat, int baseYear = DefaultTwoDigitBaseYear) const

Reads string as a date in a locale-specific format.

Parses string and returns the date it represents. The format of the date string is chosen according to the format parameter (see dateFormat()).

Some locales use, particularly for ShortFormat, only the last two digits of the year. In such a case, the 100 years starting at baseYear are the candidates first considered. Prior to 6.7 there was no baseYear parameter and 1900 was always used. This is the default for baseYear, selecting a year from then to 1999. In some cases, other fields may lead to the next or previous century being selected, to get a result consistent with all fields given. See QDate::fromString() for details.

Note: Month and day names, where used, must be given in the locale's language.

If the date could not be parsed, returns an invalid date.

See also dateFormat(), toTime(), toDateTime(), and QDate::fromString().

QDate QLocale::toDate(const QString &string, const QString &format, int baseYear = DefaultTwoDigitBaseYear) const

Reads string as a date in the given format.

Parses string and returns the date it represents. See QDate::fromString() for the interpretation of format.

When format only specifies the last two digits of a year, the 100 years starting at baseYear are the candidates first considered. Prior to 6.7 there was no baseYear parameter and 1900 was always used. This is the default for baseYear, selecting a year from then to 1999. In some cases, other fields may lead to the next or previous century being selected, to get a result consistent with all fields given. See QDate::fromString() for details.

Note: Month and day names, where used, must be given in the locale's language.

If the date could not be parsed, returns an invalid date.

See also dateFormat(), toTime(), toDateTime(), and QDate::fromString().

QDate QLocale::toDate(const QString &string, QLocale::FormatType format, QCalendar cal, int baseYear = DefaultTwoDigitBaseYear) const

This is an overloaded function.

QDate QLocale::toDate(const QString &string, const QString &format, QCalendar cal, int baseYear = DefaultTwoDigitBaseYear) const

This is an overloaded function.

QDateTime QLocale::toDateTime(const QString &string, QLocale::FormatType format = LongFormat, int baseYear = DefaultTwoDigitBaseYear) const

Reads string as a date-time in a locale-specific format.

Parses string and returns the date-time it represents. The format of the date string is chosen according to the format parameter (see dateFormat()).

Some locales use, particularly for ShortFormat, only the last two digits of the year. In such a case, the 100 years starting at baseYear are the candidates first considered. Prior to 6.7 there was no baseYear parameter and 1900 was always used. This is the default for baseYear, selecting a year from then to 1999. In some cases, other fields may lead to the next or previous century being selected, to get a result consistent with all fields given. See QDate::fromString() for details.

Note: Month and day names, where used, must be given in the locale's language. Any am/pm indicators used must match amText() or pmText(), ignoring case.

If the string could not be parsed, returns an invalid QDateTime.

See also dateTimeFormat(), toTime(), toDate(), and QDateTime::fromString().

QDateTime QLocale::toDateTime(const QString &string, const QString &format, int baseYear = DefaultTwoDigitBaseYear) const

Reads string as a date-time in the given format.

Parses string and returns the date-time it represents. See QDateTime::fromString() for the interpretation of format.

When format only specifies the last two digits of a year, the 100 years starting at baseYear are the candidates first considered. Prior to 6.7 there was no baseYear parameter and 1900 was always used. This is the default for baseYear, selecting a year from then to 1999. In some cases, other fields may lead to the next or previous century being selected, to get a result consistent with all fields given. See QDate::fromString() for details.

Note: Month and day names, where used, must be given in the locale's language. Any am/pm indicators used must match amText() or pmText(), ignoring case.

If the string could not be parsed, returns an invalid QDateTime. If the string can be parsed and represents an invalid date-time (e.g. in a gap skipped by a time-zone transition), an invalid QDateTime is returned, whose toMSecsSinceEpoch() represents a near-by date-time that is valid. Passing that to fromMSecsSinceEpoch() will produce a valid date-time that isn't faithfully represented by the string parsed.

See also dateTimeFormat(), toTime(), toDate(), and QDateTime::fromString().

QDateTime QLocale::toDateTime(const QString &string, QLocale::FormatType format, QCalendar cal, int baseYear = DefaultTwoDigitBaseYear) const

This is an overloaded function.

QDateTime QLocale::toDateTime(const QString &string, const QString &format, QCalendar cal, int baseYear = DefaultTwoDigitBaseYear) const

This is an overloaded function.

double QLocale::toDouble(QStringView s, bool *ok = nullptr) const

Returns the double represented by the localized string s.

Returns an infinity if the conversion overflows or 0.0 if the conversion fails for any other reason (e.g. underflow).

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

bool ok;
double d;

QLocale c(QLocale::C);
d = c.toDouble(u"1234.56", &ok);  // ok == true,  d == 1234.56
d = c.toDouble(u"1,234.56", &ok); // ok == true,  d == 1234.56
d = c.toDouble(u"1234,56", &ok);  // ok == false, d == 0

QLocale german(QLocale::German);
d = german.toDouble(u"1234,56", &ok);  // ok == true,  d == 1234.56
d = german.toDouble(u"1.234,56", &ok); // ok == true,  d == 1234.56
d = german.toDouble(u"1234.56", &ok);  // ok == false, d == 0

d = german.toDouble(u"1.234", &ok);    // ok == true,  d == 1234.0

Notice that the last conversion returns 1234.0, because '.' is the thousands group separator in the German locale.

This function ignores leading and trailing whitespace.

See also toFloat(), toInt(), and toString().

double QLocale::toDouble(const QString &s, bool *ok = nullptr) const

Returns the double represented by the localized string s.

Returns an infinity if the conversion overflows or 0.0 if the conversion fails for any other reason (e.g. underflow).

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

bool ok;
double d;

QLocale c(QLocale::C);
d = c.toDouble("1234.56", &ok);  // ok == true,  d == 1234.56
d = c.toDouble("1,234.56", &ok); // ok == true,  d == 1234.56
d = c.toDouble("1234,56", &ok);  // ok == false, d == 0

QLocale german(QLocale::German);
d = german.toDouble("1234,56", &ok);  // ok == true,  d == 1234.56
d = german.toDouble("1.234,56", &ok); // ok == true,  d == 1234.56
d = german.toDouble("1234.56", &ok);  // ok == false, d == 0

d = german.toDouble("1.234", &ok);    // ok == true,  d == 1234.0

Notice that the last conversion returns 1234.0, because '.' is the thousands group separator in the German locale.

This function ignores leading and trailing whitespace.

See also toFloat(), toInt(), and toString().

float QLocale::toFloat(QStringView s, bool *ok = nullptr) const

Returns the float represented by the localized string s.

Returns an infinity if the conversion overflows or 0.0 if the conversion fails for any other reason (e.g. underflow).

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toDouble(), toInt(), and toString().

float QLocale::toFloat(const QString &s, bool *ok = nullptr) const

Returns the float represented by the localized string s.

Returns an infinity if the conversion overflows or 0.0 if the conversion fails for any other reason (e.g. underflow).

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toDouble(), toInt(), and toString().

int QLocale::toInt(QStringView s, bool *ok = nullptr) const

Returns the int represented by the localized string s.

If the conversion fails, the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toUInt() and toString().

int QLocale::toInt(const QString &s, bool *ok = nullptr) const

Returns the int represented by the localized string s.

If the conversion fails the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toUInt() and toString().

long QLocale::toLong(QStringView s, bool *ok = nullptr) const

Returns the long int represented by the localized string s.

If the conversion fails the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toInt(), toULong(), toDouble(), and toString().

long QLocale::toLong(const QString &s, bool *ok = nullptr) const

Returns the long int represented by the localized string s.

If the conversion fails the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toInt(), toULong(), toDouble(), and toString().

qlonglong QLocale::toLongLong(QStringView s, bool *ok = nullptr) const

Returns the long long int represented by the localized string s.

If the conversion fails, the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toInt(), toULongLong(), toDouble(), and toString().

qlonglong QLocale::toLongLong(const QString &s, bool *ok = nullptr) const

Returns the long long int represented by the localized string s.

If the conversion fails the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toInt(), toULongLong(), toDouble(), and toString().

QString QLocale::toLower(const QString &str) const

Returns a lowercase copy of str.

If Qt Core is using the ICU libraries, they will be used to perform the transformation according to the rules of the current locale. Otherwise the conversion may be done in a platform-dependent manner, with QString::toLower() as a generic fallback.

See also QString::toLower().

short QLocale::toShort(QStringView s, bool *ok = nullptr) const

Returns the short int represented by the localized string s.

If the conversion fails, the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toUShort() and toString().

short QLocale::toShort(const QString &s, bool *ok = nullptr) const

Returns the short int represented by the localized string s.

If the conversion fails the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toUShort() and toString().

QString QLocale::toString(qlonglong i) const

Returns a localized string representation of i.

See also toLongLong(), numberOptions(), zeroDigit(), and positiveSign().

QString QLocale::toString(QDate date, const QString &format) const

Returns a localized string representation of the given date in the specified format. If format is an empty string, an empty string is returned.

See also QDate::toString().

QString QLocale::toString(QTime time, QLocale::FormatType format = LongFormat) const

Returns a localized string representation of the given time in the specified format (see timeFormat()).

QString QLocale::toString(QTime time, QStringView format) const

Returns a localized string representation of the given time according to the specified format. If format is an empty string, an empty string is returned.

See also QTime::toString().

QString QLocale::toString(QTime time, const QString &format) const

Returns a localized string representation of the given time according to the specified format. If format is an empty string, an empty string is returned.

See also QTime::toString().

QString QLocale::toString(const QDateTime &dateTime, const QString &format) const

Returns a localized string representation of the given dateTime according to the specified format. If format is an empty string, an empty string is returned.

See also QDateTime::toString(), QDate::toString(), and QTime::toString().

QString QLocale::toString(QDate date, QLocale::FormatType format, QCalendar cal) const

Returns a localized string representation of the given date according to the specified format (see dateFormat()), optionally for a specified calendar cal.

Note: Some locales may use formats that limit the range of years they can represent.

QString QLocale::toString(QDate date, QStringView format, QCalendar cal) const

Returns a localized string representation of the given date in the specified format, optionally for a specified calendar cal. If format is an empty string, an empty string is returned.

See also QDate::toString().

QString QLocale::toString(const QDateTime &dateTime, QLocale::FormatType format, QCalendar cal) const

Returns a localized string representation of the given dateTime according to the specified format (see dateTimeFormat()), optionally for a specified calendar cal.

Note: Some locales may use formats that limit the range of years they can represent.

QString QLocale::toString(const QDateTime &dateTime, QStringView format, QCalendar cal) const

Returns a localized string representation of the given dateTime according to the specified format, optionally for a specified calendar cal. If format is an empty string, an empty string is returned.

See also QDateTime::toString(), QDate::toString(), and QTime::toString().

QString QLocale::toString(int i) const

This is an overloaded function.

See also toInt().

QString QLocale::toString(long i) const

This is an overloaded function.

See also toLong().

QString QLocale::toString(qulonglong i) const

This is an overloaded function.

See also toULongLong(), numberOptions(), zeroDigit(), and positiveSign().

QString QLocale::toString(short i) const

This is an overloaded function.

See also toShort().

QString QLocale::toString(uint i) const

This is an overloaded function.

See also toUInt().

QString QLocale::toString(ulong i) const

This is an overloaded function.

See also toULong().

QString QLocale::toString(ushort i) const

This is an overloaded function.

See also toUShort().

QString QLocale::toString(QDate date, QLocale::FormatType format = LongFormat) const

This is an overloaded function.

QString QLocale::toString(QDate date, QStringView format) const

This is an overloaded function.

QString QLocale::toString(const QDateTime &dateTime, QLocale::FormatType format = LongFormat) const

This is an overloaded function.

QString QLocale::toString(const QDateTime &dateTime, QStringView format) const

This is an overloaded function.

QString QLocale::toString(double f, char format = 'g', int precision = 6) const

Returns a string representing the floating-point number f.

The form of the representation is controlled by the format and precision parameters.

The format defaults to 'g'. It can be any of the following:

Format Meaning Meaning of precision
'e' format as [-]9.9e[+|-]999 number of digits after the decimal point
'E' format as [-]9.9E[+|-]999 "
'f' format as [-]9.9 "
'F' same as 'f' except for INF and NAN (see below) "
'g' use 'e' or 'f' format, whichever is more concise maximum number of significant digits (trailing zeroes are omitted)
'G' use 'E' or 'F' format, whichever is more concise "

The special precision value QLocale::FloatingPointShortest selects the shortest representation that, when read as a number, gets back the original floating-point value. Aside from that, any negative precision is ignored in favor of the default, 6.

For the 'e', 'f' and 'g' formats, positive infinity is represented as "inf", negative infinity as "-inf" and floating-point NaN (not-a-number) values are represented as "nan". For the 'E', 'F' and 'G' formats, "INF" and "NAN" are used instead. This does not vary with locale.

This is an overloaded function.

See also toDouble(), numberOptions(), exponential(), decimalPoint(), zeroDigit(), positiveSign(), percent(), toCurrencyString(), formattedDataSize(), and QLocale::FloatingPointPrecisionOption.

QString QLocale::toString(float f, char format = 'g', int precision = 6) const

Returns a string representing the floating-point number f.

The format and precision have the same meanings as described in toString(double, char, int).

This is an overloaded function.

See also toFloat(), toDouble(), numberOptions(), exponential(), decimalPoint(), zeroDigit(), positiveSign(), percent(), toCurrencyString(), formattedDataSize(), and QLocale::FloatingPointPrecisionOption.

QTime QLocale::toTime(const QString &string, QLocale::FormatType format = LongFormat) const

Reads string as a time in a locale-specific format.

Parses string and returns the time it represents. The format of the time string is chosen according to the format parameter (see timeFormat()).

Note: Any am/pm indicators used must match amText() or pmText(), ignoring case.

If the time could not be parsed, returns an invalid time.

See also timeFormat(), toDate(), toDateTime(), and QTime::fromString().

QTime QLocale::toTime(const QString &string, const QString &format) const

Reads string as a time in the given format.

Parses string and returns the time it represents. See QTime::fromString() for the interpretation of format.

Note: Any am/pm indicators used must match amText() or pmText(), ignoring case.

If the time could not be parsed, returns an invalid time.

See also timeFormat(), toDate(), toDateTime(), and QTime::fromString().

uint QLocale::toUInt(QStringView s, bool *ok = nullptr) const

Returns the unsigned int represented by the localized string s.

If the conversion fails, the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toInt() and toString().

uint QLocale::toUInt(const QString &s, bool *ok = nullptr) const

Returns the unsigned int represented by the localized string s.

If the conversion fails the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toInt() and toString().

ulong QLocale::toULong(QStringView s, bool *ok = nullptr) const

Returns the unsigned long int represented by the localized string s.

If the conversion fails the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toLong(), toInt(), toDouble(), and toString().

ulong QLocale::toULong(const QString &s, bool *ok = nullptr) const

Returns the unsigned long int represented by the localized string s.

If the conversion fails the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toLong(), toInt(), toDouble(), and toString().

qulonglong QLocale::toULongLong(QStringView s, bool *ok = nullptr) const

Returns the unsigned long long int represented by the localized string s.

If the conversion fails, the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toLongLong(), toInt(), toDouble(), and toString().

qulonglong QLocale::toULongLong(const QString &s, bool *ok = nullptr) const

Returns the unsigned long long int represented by the localized string s.

If the conversion fails the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toLongLong(), toInt(), toDouble(), and toString().

ushort QLocale::toUShort(QStringView s, bool *ok = nullptr) const

Returns the unsigned short int represented by the localized string s.

If the conversion fails, the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toShort() and toString().

ushort QLocale::toUShort(const QString &s, bool *ok = nullptr) const

Returns the unsigned short int represented by the localized string s.

If the conversion fails the function returns 0.

If ok is not nullptr, failure is reported by setting *ok to false, and success by setting *ok to true.

This function ignores leading and trailing whitespace.

See also toShort() and toString().

QString QLocale::toUpper(const QString &str) const

Returns an uppercase copy of str.

If Qt Core is using the ICU libraries, they will be used to perform the transformation according to the rules of the current locale. Otherwise the conversion may be done in a platform-dependent manner, with QString::toUpper() as a generic fallback.

Note: In some cases the uppercase form of a string may be longer than the original.

See also QString::toUpper().

QStringList QLocale::uiLanguages(QLocale::TagSeparator separator = TagSeparator::Dash) const

List of locale names for use in selecting translations

Each entry in the returned list is the name of a locale suitable to the user's preferences for what to translate the UI into. Where a name in the list is composed of several tags, they are joined as indicated by separator. Prior to Qt 6.7 a dash was used as separator.

For example, using the default separator QLocale::TagSeparator::Dash, if the user has configured their system to use English as used in the USA, the list would be "en-Latn-US", "en-US", "en". The order of entries is the order in which to check for translations; earlier items in the list are to be preferred over later ones. If your translation files use underscores, rather than dashes, to separate locale tags, pass QLocale::TagSeparator::Underscore as separator.

Returns a list of locale names. This may include multiple languages, especially for the system locale when multiple UI translation languages are configured. The order of entries is significant. For example, for the system locale, it reflects user preferences.

Prior to Qt 6.9, the list only contained explicitly configured locales and their equivalents. This led some callers to add truncations (such as from 'en-Latn-DE' to 'en') as fallbacks. This could sometimes result in inappropriate choices, especially if these were tried before later entries that would be more appropriate fallbacks.

Starting from Qt 6.9, reasonable truncations are included in the returned list after the explicitly specified locales. This change allows for more accurate fallback options without callers needing to do any truncation.

Users can explicitly include preferred fallback locales (such as en-US) in their system configuration to control the order of preference. You are advised to rely on the order of entries in uiLanguages() rather than using custom fallback methods.

Most likely you do not need to use this function directly, but just pass the QLocale object to the QTranslator::load() function.

See also QTranslator and bcp47Name().

QList<Qt::DayOfWeek> QLocale::weekdays() const

Returns a list of days that are considered weekdays according to the current locale.

QString QLocale::zeroDigit() const

Returns the zero digit character of this locale.

This is a single Unicode character but may be encoded as a surrogate pair, so is (since Qt 6.0) returned as a string. In most locales, other digits follow it in Unicode ordering - however, some number systems, notably those using U+3007 as zero, do not have contiguous digits. Use toString() to obtain suitable representations of numbers, rather than trying to construct them from this zero digit.

See also toString().

[noexcept] QLocale &QLocale::operator=(const QLocale &other)

Assigns other to this QLocale object and returns a reference to this QLocale object.

Member Variable Documentation

[since 6.7] const int QLocale::DefaultTwoDigitBaseYear

This variable holds the default start year of the century within which a format taking a two-digit year will select. The value of the constant is 1900.

Some locales use, particularly for ShortFormat, only the last two digits of the year. Proir to 6.7 the year 1900 was always used as a base year for such cases. Now various QLocale and QDate functions have the overloads that allow callers to specify the base year, and this constant is used as its default value.

This documentation was introduced in Qt 6.7.

See also toDate(), toDateTime(), QDate::fromString(), and QDateTime::fromString().

Related Non-Members

[noexcept] size_t qHash(const QLocale &key, size_t seed = 0)

Returns the hash value for key, using seed to seed the calculation.

[noexcept] bool operator!=(const QLocale &lhs, const QLocale &rhs)

Returns true if the two QLocale objects, lhs and rhs, differ; otherwise returns false.

Note: The system locale is not equal to the QLocale object constructed from its language(), script() and territory(), even if the two agree in all data fields. Nor are two locales with different number options equal.

See also operator==() and setNumberOptions().

[noexcept] bool operator==(const QLocale &lhs, const QLocale &rhs)

Returns true if the two QLocale objects, lhs and rhs, are the same; otherwise returns false.

Note: The system locale is not equal to the QLocale object constructed from its language(), script() and territory(), even if the two agree in all data fields. Nor are two locales with different number options equal.

See also operator!=() and setNumberOptions().

© The Qt Company Ltd
Licensed under the GNU Free Documentation License, Version 1.3.
https://doc.qt.io/qt-6.9/qlocale.html