QLocale Class | Qt Core 6.4.3

- Qt 6.4
- Qt Core
- C++ Classes
- QLocale
- Qt 6.4.3 Reference Documentation

# 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

- List of all members, including inherited members
- Deprecated members

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

- setDefault()

## 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 }
| Territory

## Public Functions

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

## Static Public Members

QLocale | c()
Language | codeToLanguage(QStringView languageCode, LanguageCodeTypes codeTypes = AnyLanguageCode)
Script | codeToScript(QStringView scriptCode)
Territory | codeToTerritory(QStringView territoryCode)
QString | languageToCode(Language language, LanguageCodeTypes codeTypes = AnyLanguageCode)
QString | languageToString(Language language)
QList<QLocale> | matchingLocales(QLocale::Language language, QLocale::Script script, QLocale::Territory territory)
QString | scriptToCode(Script script)
QString | scriptToString(Script script)
void | setDefault(const QLocale &locale)
QLocale | system()
QString | territoryToCode(Territory territory)
QString | territoryToString(Territory territory)

## Related Non-Members

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().

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

### 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.

### `[since 5.10]` 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, ...

This enum was introduced or modified in Qt 5.10.

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

See also formattedDataSize().

### `[since 5.7]` 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).

This enum was introduced or modified in Qt 5.7.

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::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::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::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::Kannada` | `130` |
`QLocale::Kanuri` | `131` |
`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::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::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::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::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::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::Polish` | `230` |
`QLocale::Portuguese` | `231` |
`QLocale::Prussian (since Qt 5.5)` | `232` |
`QLocale::Punjabi` | `233` |
`QLocale::Quechua` | `234` |
`QLocale::RhaetoRomance` | `Romansh` | Obsolete, please use Romansh
`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::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::TokPisin (since Qt 5.7)` | `294` |
`QLocale::Tongan` | `295` |
`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::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.
`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, with group separators, with one leading zero in single digit exponents, and without trailing zeroes after the decimal dot.
`QLocale::OmitGroupSeparator` | `0x01` | If this option is set, the number-to-string functions will not insert group separators in their return values. The default is to insert 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, even if the number of significant digits is lower than the requested precision. The default is to omit trailing zeroes.
`QLocale::RejectTrailingZeroesAfterDot` | `0x20` | If this option is set, the string-to-number functions will fail if they encounter trailing zeroes after the decimal dot 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::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().

### `[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(const QLocale &other)

Constructs a QLocale object as a copy of other.

### QLocale::QLocale(Language language, Script script = AnyScript, 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.

### QLocale::QLocale(Language language, 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.

### `[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(const QString &name)

This is an overloaded function.

### 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().

### QLocale &QLocale::operator=(const QLocale &other)

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

### 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() const

Returns the dash-separated language, script and country (and possibly other BCP47 fields) of this locale as a string.

Unlike the uiLanguages() the returned value of the bcp47Name() represents the locale name of the QLocale data but not the language the user-interface should be in.

This function tries to conform the locale name to BCP47.

See also 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, since 6.3]` Language QLocale::codeToLanguage(QStringView languageCode, 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, since 6.1]` 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, since 6.2]` 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().

### `[since 5.13]` 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.

This function was introduced in Qt 5.13.

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(CurrencySymbolFormat format = CurrencySymbol) const

Returns a currency symbol according to the format.

### QString QLocale::dateFormat(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(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, 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 decimal point character of this locale.

See also groupSeparator() and toString().

### QString QLocale::exponential() const

Returns the exponential character of this locale, used to separate exponent from mantissa in some floating-point numeric representations.

See also toString(double, char, int).

### Qt::DayOfWeek QLocale::firstDayOfWeek() const

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

### `[since 5.10]` QString QLocale::formattedDataSize(qint64 bytes, int precision = 2, 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.

This function was introduced in Qt 5.10.

### QString QLocale::groupSeparator() const

Returns the group separator character of this locale.

See also decimalPoint() and toString().

### Language QLocale::language() const

Returns the language of this locale.

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

### `[static, since 6.3]` QString QLocale::languageToCode(Language language, 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(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);

### MeasurementSystem QLocale::measurementSystem() const

Returns the measurement system for the locale.

### QString QLocale::monthName(int month, 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() const

Returns the language and country of this locale as a string of the form "language_country", where language is a lowercase, two-letter ISO 639 language code, and country is an uppercase, two- or three-letter ISO 3166 country code.

Note that even if 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.

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

### QString QLocale::nativeLanguageName() const

Returns a native name of the language for the locale. For example "Schwiizertüütsch" for 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 character of this locale.

See also positiveSign() and toString().

### 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 character of this locale.

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 character of this locale.

See also negativeSign() and toString().

### QString QLocale::quoteString(const QString &str, 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, QuotationStyle style = StandardQuotation) const

This is an overloaded function.

This function was introduced in Qt 6.0.

### 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(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(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. These values are 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(NumberOptions options)

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

See also numberOptions() and FloatingPointPrecisionOption.

### QString QLocale::standaloneDayName(int day, 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, 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().

### `[since 5.6]` void QLocale::swap(QLocale &other)

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

This function was introduced in Qt 5.6.

### `[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]` 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(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(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(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(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(ushort value, const QString &symbol = QString()) const

This is an overloaded function.

### QString QLocale::toCurrencyString(int 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.

### `[since 5.7]` QString QLocale::toCurrencyString(double value, const QString &symbol = QString(), int precision = -1) const

This function overloads toCurrencyString().

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 was introduced in Qt 5.7.

See also currencySymbol().

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

This function overloads toCurrencyString().

### QDate QLocale::toDate(const QString &string, FormatType format = LongFormat) 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()).

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) 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.

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().

### `[since 5.14]` QDate QLocale::toDate(const QString &string, FormatType format, QCalendar cal) const

This is an overloaded function.

This function was introduced in Qt 5.14.

### `[since 5.14]` QDate QLocale::toDate(const QString &string, const QString &format, QCalendar cal) const

This is an overloaded function.

This function was introduced in Qt 5.14.

### QDateTime QLocale::toDateTime(const QString &string, FormatType format = LongFormat) 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()).

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) 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.

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().

### `[since 5.14]` QDateTime QLocale::toDateTime(const QString &string, FormatType format, QCalendar cal) const

This is an overloaded function.

This function was introduced in Qt 5.14.

### `[since 5.14]` QDateTime QLocale::toDateTime(const QString &string, const QString &format, QCalendar cal) const

This is an overloaded function.

This function was introduced in Qt 5.14.

### 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`.

This function does not fall back to the 'C' locale if the string cannot be interpreted in this locale.

     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().

### `[since 5.10]` 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`.

Unlike QString::toDouble(), this function does not fall back to the "C" locale if the string cannot be interpreted in this locale.

     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.

This function was introduced in Qt 5.10.

See also toFloat(), 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 does not fall back to the 'C' locale if the string cannot be interpreted in this locale.

This function ignores leading and trailing whitespace.

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

### `[since 5.10]` 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.

This function was introduced in Qt 5.10.

See also toDouble(), toInt(), 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().

### `[since 5.10]` 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.

This function was introduced in Qt 5.10.

See also toUInt() and toString().

### `[since 5.13]` 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.

This function was introduced in Qt 5.13.

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

### `[since 5.13]` 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.

This function was introduced in Qt 5.13.

See also toInt(), toULong(), 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().

### `[since 5.10]` 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.

This function was introduced in Qt 5.10.

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(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().

### `[since 5.10]` 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.

This function was introduced in Qt 5.10.

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(qulonglong i) const

This is an overloaded function.

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

### QString QLocale::toString(long i) const

This is an overloaded function.

See also toLong().

### QString QLocale::toString(ulong i) const

This is an overloaded function.

See also toULong().

### QString QLocale::toString(short i) const

This is an overloaded function.

See also toShort().

### QString QLocale::toString(ushort i) const

This is an overloaded function.

See also toUShort().

### QString QLocale::toString(int i) const

This is an overloaded function.

See also toInt().

### QString QLocale::toString(uint i) const

This is an overloaded function.

See also toUInt().

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

This is an overloaded function.

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.

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

This is an overloaded function.

Returns a string representing the floating-point number f.

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

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

### 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, 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().

### `[since 5.10]` QString QLocale::toString(QDate date, QStringView format) const

This is an overloaded function.

This function was introduced in Qt 5.10.

### 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().

### `[since 5.10]` QString QLocale::toString(const QDateTime &dateTime, QStringView format) const

This is an overloaded function.

This function was introduced in Qt 5.10.

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

This is an overloaded function.

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

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

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

This is an overloaded function.

### `[since 5.14]` 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.

This function was introduced in Qt 5.14.

See also QDate::toString().

### `[since 5.14]` QString QLocale::toString(QDate date, 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.

This function was introduced in Qt 5.14.

### `[since 5.14]` QString QLocale::toString(const QDateTime &dateTime, 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.

This function was introduced in Qt 5.14.

### `[since 5.14]` 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.

This function was introduced in Qt 5.14.

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

### QTime QLocale::toTime(const QString &string, 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(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().

### `[since 5.10]` 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.

This function was introduced in Qt 5.10.

See also toInt() and toString().

### `[since 5.13]` 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.

This function was introduced in Qt 5.13.

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

### `[since 5.13]` 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.

This function was introduced in Qt 5.13.

See also toLong(), 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().

### `[since 5.10]` 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.

This function was introduced in Qt 5.10.

See also toLongLong(), toInt(), toDouble(), 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().

### `[since 5.10]` 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.

This function was introduced in Qt 5.10.

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.

See also QString::toUpper().

### QStringList QLocale::uiLanguages() const

Returns an ordered list of locale names for translation purposes in preference order (like "en-Latn-US", "en-US", "en").

The return value represents locale names that the user expects to see the UI translation in.

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

Earlier items in the list are to be preferred over later ones.

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.

See also toString().

## Related Non-Members

### `[since 5.6]` size_t qHash(const QLocale &key, size_t seed = 0)

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

This function was introduced in Qt 5.6.

### 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().

### 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().