- Qt 6.9
- Qt Core
- C++ Classes
- QLocale
- Qt 6.9.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
- QLocale is part of Classes for string data and Implicitly Shared Classes.

This class is equality-comparable.

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

- setDefault(const QLocale &locale)

## Public Types

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

## Public Functions

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

## Static Public Members

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

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

### Appropriateness of the formats

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

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

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

### Matching combinations of language, script and territory

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

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

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

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

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

## Member Type Documentation

### enum QLocale::Country

This enumerated type is used to identify a territory.

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

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

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

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

### enum QLocale::CurrencySymbolFormat

Specifies the format of the currency symbol.

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

### enum QLocale::DataSizeFormat
flags QLocale::DataSizeFormats

Specifies the format for representation of data quantities.

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

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

See also formattedDataSize().

### enum QLocale::FloatingPointPrecisionOption

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

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

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

### enum QLocale::FormatType

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

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

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

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

### enum QLocale::Language

This enumerated type is used to specify a language.

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

See also language() and languageToString().

### enum QLocale::LanguageCodeType
flags QLocale::LanguageCodeTypes

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

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

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

### enum QLocale::MeasurementSystem

This enum defines which units are used for measurement.

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

### enum QLocale::NumberOption
flags QLocale::NumberOptions

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

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

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

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

### enum QLocale::QuotationStyle

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

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

See also quoteString().

### enum QLocale::Script

This enumerated type is used to specify a script.

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

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

### `[since 6.7]` enum class QLocale::TagSeparator

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

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

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

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

This enum was introduced in Qt 6.7.

### `[alias]` QLocale::Territory

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

See also territory() and territoryToString().

## Member Function Documentation

### QLocale::QLocale()

Constructs a QLocale object initialized with the default locale.

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

See also setDefault() and system().

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

Constructs a QLocale object with the specified name.

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

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

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

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

This function was introduced in Qt 6.3.

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

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

Constructs a QLocale object for the specified language and territory.

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

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

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

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

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

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

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

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

This is an overloaded function.

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

Constructs a QLocale object as a copy of other.

### `[noexcept]` QLocale::~QLocale()

Destructor

### QString QLocale::amText() const

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

See also pmText().

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

Returns the BCP47 field names joined with dashes.

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

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

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

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

### `[static]` QLocale QLocale::c()

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

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

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

See also system().

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

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

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

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

This function was introduced in Qt 6.3.

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

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

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

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

This function was introduced in Qt 6.1.

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

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

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

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

This function was introduced in Qt 6.2.

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

### QLocale QLocale::collation() const

Returns the locale to use for collation.

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

See also QCollator.

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

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

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

Returns a currency symbol according to the format.

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

Returns the date format used for the current locale.

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

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

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

Returns the date time format used for the current locale.

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

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

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

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

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

See also monthName() and standaloneDayName().

### QString QLocale::decimalPoint() const

Returns the fractional part separator for this locale.

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

See also groupSeparator() and toString().

### QString QLocale::exponential() const

Returns the exponent separator for this locale.

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

See also toString(double, char, int).

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

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

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

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

### QString QLocale::groupSeparator() const

Returns the digit-grouping separator for this locale.

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

See also decimalPoint() and toString().

### QLocale::Language QLocale::language() const

Returns the language of this locale.

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

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

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

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

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

This function was introduced in Qt 6.3.

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

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

Returns a QString containing the name of language.

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

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

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

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

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

### QLocale::MeasurementSystem QLocale::measurementSystem() const

Returns the measurement system for the locale.

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

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

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

See also dayName() and standaloneMonthName().

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

The short name of this locale.

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

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

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

### QString QLocale::nativeLanguageName() const

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

See also nativeTerritoryName() and languageToString().

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

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

This function was introduced in Qt 6.2.

See also nativeLanguageName() and territoryToString().

### QString QLocale::negativeSign() const

Returns the negative sign indicator of this locale.

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

See also positiveSign() and toString().

### QLocale::NumberOptions QLocale::numberOptions() const

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

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

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

### QString QLocale::percent() const

Returns the percent marker of this locale.

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

See also toString().

### QString QLocale::pmText() const

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

See also amText().

### QString QLocale::positiveSign() const

Returns the positive sign indicator of this locale.

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

See also negativeSign() and toString().

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

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

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

This is an overloaded function.

This function was introduced in Qt 6.0.

### QLocale::Script QLocale::script() const

Returns the script of this locale.

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

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

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

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

This function was introduced in Qt 6.1.

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

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

Returns a QString containing the name of script.

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

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

Sets the global default locale to locale.

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

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

Warning: This function is not reentrant.

See also system() and c().

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

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

See also numberOptions() and FloatingPointPrecisionOption.

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

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

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

See also dayName() and standaloneMonthName().

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

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

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

See also monthName() and standaloneDayName().

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

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

### `[static]` QLocale QLocale::system()

Returns a QLocale object initialized to the system locale.

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

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

See also c().

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

Returns the territory of this locale.

This function was introduced in Qt 6.2.

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

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

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

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

This function was introduced in Qt 6.2.

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

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

Returns a QString containing the name of territory.

This function was introduced in Qt 6.2.

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

### Qt::LayoutDirection QLocale::textDirection() const

Returns the text direction of the language.

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

Returns the time format used for the current locale.

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

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

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

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

See also currencySymbol().

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

This is an overloaded function.

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

This is an overloaded function.

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

This is an overloaded function.

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

This is an overloaded function.

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

This is an overloaded function.

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

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

This function overloads QLocale::toCurrencyString().

See also currencySymbol().

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

This function overloads QLocale::toCurrencyString().

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

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

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

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

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

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

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

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

Reads string as a date in the given format.

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

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

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

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

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

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

This is an overloaded function.

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

This is an overloaded function.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

This is an overloaded function.

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

This is an overloaded function.

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

Returns the double represented by the localized string s.

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

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

     bool ok;
     double d;

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

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

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

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

This function ignores leading and trailing whitespace.

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

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

Returns the double represented by the localized string s.

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

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

     bool ok;
     double d;

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

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

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

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

This function ignores leading and trailing whitespace.

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

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

Returns the float represented by the localized string s.

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

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

This function ignores leading and trailing whitespace.

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

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

Returns the float represented by the localized string s.

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

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

This function ignores leading and trailing whitespace.

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

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

Returns the int represented by the localized string s.

If the conversion fails, the function returns 0.

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

This function ignores leading and trailing whitespace.

See also toUInt() and toString().

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

Returns the int represented by the localized string s.

If the conversion fails the function returns 0.

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

This function ignores leading and trailing whitespace.

See also toUInt() and toString().

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

Returns the long int represented by the localized string s.

If the conversion fails the function returns 0.

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

This function ignores leading and trailing whitespace.

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

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

Returns the long int represented by the localized string s.

If the conversion fails the function returns 0.

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

This function ignores leading and trailing whitespace.

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

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

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

If the conversion fails, the function returns 0.

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

This function ignores leading and trailing whitespace.

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

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

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

If the conversion fails the function returns 0.

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

This function ignores leading and trailing whitespace.

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

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

Returns a lowercase copy of str.

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

See also QString::toLower().

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

Returns the short int represented by the localized string s.

If the conversion fails, the function returns 0.

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

This function ignores leading and trailing whitespace.

See also toUShort() and toString().

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

Returns the short int represented by the localized string s.

If the conversion fails the function returns 0.

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

This function ignores leading and trailing whitespace.

See also toUShort() and toString().

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

Returns a localized string representation of i.

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

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

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

See also QDate::toString().

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

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

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

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

See also QTime::toString().

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

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

See also QTime::toString().

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

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

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

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

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

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

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

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

See also QDate::toString().

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

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

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

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

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

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

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

This is an overloaded function.

See also toInt().

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

This is an overloaded function.

See also toLong().

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

This is an overloaded function.

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

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

This is an overloaded function.

See also toShort().

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

This is an overloaded function.

See also toUInt().

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

This is an overloaded function.

See also toULong().

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

This is an overloaded function.

See also toUShort().

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

This is an overloaded function.

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

This is an overloaded function.

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

This is an overloaded function.

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

This is an overloaded function.

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

Returns a string representing the floating-point number f.

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

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

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

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

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

This is an overloaded function.

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

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

Returns a string representing the floating-point number f.

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

This is an overloaded function.

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

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

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

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

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

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

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

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

Reads string as a time in the given format.

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

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

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

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

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

Returns the unsigned int represented by the localized string s.

If the conversion fails, the function returns 0.

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

This function ignores leading and trailing whitespace.

See also toInt() and toString().

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

Returns the unsigned int represented by the localized string s.

If the conversion fails the function returns 0.

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

This function ignores leading and trailing whitespace.

See also toInt() and toString().

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

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

If the conversion fails the function returns 0.

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

This function ignores leading and trailing whitespace.

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

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

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

If the conversion fails the function returns 0.

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

This function ignores leading and trailing whitespace.

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

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

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

If the conversion fails, the function returns 0.

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

This function ignores leading and trailing whitespace.

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

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

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

If the conversion fails the function returns 0.

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

This function ignores leading and trailing whitespace.

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

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

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

If the conversion fails, the function returns 0.

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

This function ignores leading and trailing whitespace.

See also toShort() and toString().

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

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

If the conversion fails the function returns 0.

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

This function ignores leading and trailing whitespace.

See also toShort() and toString().

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

Returns an uppercase copy of str.

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

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

See also QString::toUpper().

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

List of locale names for use in selecting translations

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

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

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

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

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

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

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

See also QTranslator and bcp47Name().

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

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

### QString QLocale::zeroDigit() const

Returns the zero digit character of this locale.

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

See also toString().

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

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

## Member Variable Documentation

### `[since 6.7]` const int QLocale::DefaultTwoDigitBaseYear

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

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

This documentation was introduced in Qt 6.7.

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

## Related Non-Members

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

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

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

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

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

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

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

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

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

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