本页内容

Locale QML Type

提供特定于区域设置的属性及格式化数据。更多...

Import Statement: import QtQml

属性

方法

详细说明

Locale 对象只能通过 `Qt.locale()` 函数创建,无法直接创建。

Qt.locale() 函数返回一个 JS Locale 对象,该对象表示名称为指定名称的区域设置,其格式为“language[_territory][.codeset][@modifier]”或“C”。

Locale 支持默认区域设置的概念,该设置由应用程序启动时系统的区域设置决定。如果未向 Qt.locale() 传递任何参数,则返回默认区域设置对象。

Locale 对象提供了一系列函数和属性,用于提供指定区域设置的相关数据。

Locale 对象还可以传递给Date和Number类的 toLocaleString() 及 fromLocaleString() 方法,以便使用指定的区域设置进行字符串的转换。

以下示例展示了按德语区域设置格式化的当前日期:

import QtQuick 2.0

Text {
    text: "The date is: " + Date().toLocaleString(Qt.locale("de_DE"))
}

以下示例以默认区域设置的正确格式显示指定的数字:

import QtQuick 2.0

Text {
    text: "The value is: " + Number(23443.34).toLocaleString(Qt.locale())
}

Qt Quick 区域设置的数据基于通用区域设置数据存储库 v1.8.1。

区域设置字符串格式类型

monthName()、standaloneMonthName()、dayName() 和standaloneDayName() 方法可以使用以下枚举值来指定 Date 对象的字符串表示形式的格式。

常量描述
Locale.LongFormat日期和月份名称的全称;例如,将“January”作为月份名称返回。
Locale.ShortFormat日期和月份名称的简写形式;例如,将月份名称返回为“Jan”。
Locale.NarrowFormat一种用于空间受限情况下的特殊日期和月份名称格式;例如,将月份名称返回为“J”。请注意,窄格式可能对不同的月份和日期包含相同的文本,或者如果区域设置不支持窄格式名称,它甚至可能是一个空字符串,因此应避免将其用于日期格式化。 此外,对于系统区域设置,此格式与 ShortFormat 相同。

此外,双精度到字符串和字符串到双精度的转换函数受以下许可协议约束:

版权所有 (c) 1991 AT&T。

特此授予出于任何目的免费使用、复制、修改和分发本软件的许可,但前提是,凡是包含本软件副本或修改版本的任何软件的所有副本,以及该软件的所有支持文档副本,均须包含本声明的全部内容。

本软件按“原样”提供,不附带任何明示或暗示的保证。 特别是,作者和 AT&T 均未就本软件的适销性或其对任何特定用途的适用性作出任何形式的陈述或保证。

本产品包含由加州大学伯克利分校及其贡献者开发的软件。

另请参阅 JavaScript 日期对象和JavaScript 数字对象。

属性文档

amText : string

对于采用12小时制表示的时间,"AM"后缀的本地化名称。

decimalPoint : string

存储此区域设置中的小数点字符。

exponential : string

保存该区域设置的指数特性。

firstDayOfWeek : enumeration

根据当前区域设置返回一周中的第一天。

常量描述
Locale.Sunday0
Locale.Monday1
Locale.Tuesday2
Locale.Wednesday3
Locale.Thursday4
Locale.Friday5
Locale.Saturday6

注意: 这些值与 JS Date API 一致,而 Qt C++ API 则不同,其中Qt::Sunday = 7。

groupSeparator : string

存储此区域设置的组分隔符。

measurementSystem : enumeration

此属性用于定义测量所使用的单位。

常量描述
Locale.MetricSystem此值表示公制单位,例如米、厘米和毫米。
Locale.ImperialUSSystem此值表示英制单位,例如美国使用的英寸和英里。
Locale.ImperialUKSystem此值表示英制单位,例如英国使用的英寸和英里。
Locale.ImperialSystem为兼容性而提供。与 Locale.ImperialUSSystem 相同。

name : string

将该区域设置的语言和地区以“language_territory”格式的字符串形式存储,其中“language”是小写、由两个字母组成的 ISO 639 语言代码,“territory”是大写、由两个或三个字母组成的 ISO 3166 地区代码。

nativeLanguageName : string

存储该区域设置的本地语言名称。例如,瑞士德语区域设置的名称为“Schwiizertüütsch”。

另请参阅 nativeTerritoryName 。

nativeTerritoryName : string

存储该区域的本地名称。例如,西班牙语/西班牙区域的本地名称为“España”。

另请参阅 nativeLanguageName 。

negativeSign : string

存储该区域设置中的负号字符。

numberOptions : enumeration

包含一组用于数字转字符串和字符串转数字的选项。

另请参阅 string Number::toLocaleString(locale, format, precision)和string Number::fromLocaleString(locale, number)。

percent : string

存储此区域设置中的百分号字符。

pmText : string

对于采用12小时制表示的时间,“PM”后缀的本地化名称。

positiveSign : string

存储该区域设置中的正号字符。

textDirection : enumeration

保存该语言的文本方向:

常量描述
Qt.LeftToRight文本通常从左侧开始。
Qt.RightToLeft文本通常从右侧开始。

uiLanguages : Array<string>

返回一个按优先级顺序排序的区域设置名称列表,用于翻译。

返回值代表用户期望在其中看到 UI 翻译的区域设置名称。

列表中的第一个项目是首选的。

weekDays : Array<int>

存储一个数组,其中包含根据当前区域设置被视为工作日的日期,其中周日为0,周六为6。

另请参阅 firstDayOfWeek 。

zeroDigit : string

Holds 返回该区域设置的零位字符。

方法文档

[since 6.10] string createSeparatedList(list<string> list)

返回一个字符串,该字符串表示将给定的字符串list 与由区域设置定义的分隔符进行连接后的结果。

该方法在 Qt 6.10 中引入。

另请参阅 QLocale::createSeparatedList()。

string currencySymbol(format)

返回指定format 的货币符号:

常量描述
Locale.CurrencyIsoCode该货币的 ISO-4217 代码。
Locale.CurrencySymbol货币符号。
Locale.CurrencyDisplayName该货币的用户可读名称。

另请参阅 字符串函数 Number::toLocaleCurrencyString(locale, symbol)。

string dateFormat(type)

返回当前区域设置所使用的日期格式。type 指定要返回的FormatType 。

另请参阅 JavaScript 中的 Date 对象。

string dateTimeFormat(type)

返回当前区域设置所使用的日期时间格式。type 指定要返回的FormatType 。

另请参阅 JavaScript 中的 Date 对象。

string dayName(day, type)

返回day 的本地化名称(其中 0 代表星期日,1 代表星期一,依此类推),并采用由type 指定的可选格式FormatType 。

另请参阅 monthName() 和standaloneDayName()。

[since 6.2] string formattedDataSize(int bytes, int precision, DataSizeFormat format)

将bytes 中的尺寸转换为易于理解的本地化字符串,该字符串由一个数字和一个量化单位组成。

参数precision 和format 为可选。

有关更多信息,请参阅QLocale::formattedDataSize()。

此方法在 Qt 6.2 中引入。

另请参阅 QLocale::DataSizeFormats 。

string monthName(month, type)

返回month 的本地化名称(0-11),并使用由type 指定的可选FormatType 。

注意: QLocale 的 C++ API 期望的 范围为 (1-12),但 Locale.monthName() 根据 JS Date 对象的规定,期望的范围为 0-11。

另请参阅 dayName() 和standaloneMonthName()。

string standaloneDayName(day, type)

返回day (其中 0 代表星期日,1 代表星期一,依此类推)的本地化名称,该名称将作为独立文本,出现在由type 指定的FormatType 中。

如果区域设置信息未指定独立的星期名称,则返回值与dayName() 中的返回值相同。

另请参阅 dayName() 和standaloneMonthName()。

string standaloneMonthName(month, type)

返回month (0-11)的本地化名称,该名称将作为独立文本使用,并采用由type 指定的可选FormatType 。

如果区域设置信息未指定独立月份名称,则返回值与monthName() 中的返回值相同。

注意: QLocale C++ API期望的 范围是 (1-12),但 Locale.standaloneMonthName() 根据 JS Date 对象的要求,期望的范围是 0-11。

另请参阅 monthName() 和standaloneDayName()。

string timeFormat(type)

返回当前区域设置所使用的日期时间格式。type 用于指定要返回的FormatType 。

另请参阅 JavaScript 中的 Date 对象。

[since 6.5] string toString(int i)

返回i 的本地化字符串表示形式。

该方法在 Qt 6.5 中引入。

另请参阅 QLocale::toString(int)。

[since 6.5] string toString(Date date, FormatType format = LongFormat)

返回指定语言环境(format )下,给定date 的本地化字符串表示形式。如果省略format ,则使用Locale.LongFormat 。

这是一个重载函数。

该方法在 Qt 6.5 中引入。

另请参阅 QLocale::toString(QDate, QLocale::FormatType)。

[since 6.5] string toString(Date date, string format)

返回给定date 在指定format 中的本地化字符串表示形式。如果format 为空字符串,则返回空字符串。

这是一个重载函数。

该方法在 Qt 6.5 中引入。

另请参阅 QLocale::toString(QDate, QStringView)。

[since 6.5] string toString(double f, char format = 'g', int precision = 6)

返回一个字符串,该字符串表示浮点数f 。

该表示的形式由可选参数format 和precision 控制。

有关更多信息,请参阅QLocale::toString(double, char, int)。

这是一个重载函数。

该方法在 Qt 6.5 中引入。

© 2026 The Qt Company Ltd. Documentation contributions included herein are the copyrights of their respective owners. The documentation provided herein is licensed under the terms of the GNU Free Documentation License version 1.3 as published by the Free Software Foundation. Qt and respective logos are trademarks of The Qt Company Ltd. in Finland and/or other countries worldwide. All other trademarks are property of their respective owners.