协议
PropertyProvider
在 fuchsia.intl/property_provider.fidl 中定义
提供国际化属性。
需要根据用户的国际化配置文件更改其行为的组件可以从其命名空间请求此服务的实例(如果有)。组件可以选择将它从其父项收到的服务传递给自己的子项,也可以替换该服务并应用其他自定义设置。
另请参阅 fuchsia.ui.views.View
。
GetProfile
获取用户的国际化配置文件。
请求
<EMPTY>
响应
名称 | 类型 |
---|---|
profile |
Profile
|
OnChange
表示属性可能已更改,客户端应再次查询这些属性。
响应
<EMPTY>
TimeZones
在 fuchsia.intl/time_zones.fidl 中定义
提供有关时区的信息,并提供日期时间转换方法。
TODO(https://fxbug.dev/42162409):添加时区信息方法,包括相对于世界协调时间 (UTC) 的偏移量。
AbsoluteToCivilTime
使用公历将指定的绝对时间转换为指定时区中的民用日期和时间。
请求
名称 | 类型 |
---|---|
time_zone_id |
TimeZoneId
|
absolute_time |
zx/Time
|
响应
名称 | 类型 |
---|---|
payload |
TimeZones_AbsoluteToCivilTime_Result
|
CivilToAbsoluteTime
将指定时区中的指定民用日期和时间转换为自 Unix 纪元以来的纳秒时间。
请求
名称 | 类型 |
---|---|
civil_time |
CivilTime
|
options |
CivilToAbsoluteTimeOptions
|
响应
名称 | 类型 |
---|---|
payload |
TimeZones_CivilToAbsoluteTime_Result
|
GetTimeZoneInfo
检索指定时区的有关详细信息。
请求
名称 | 类型 |
---|---|
time_zone_id |
TimeZoneId
|
at_time |
zx/Time
|
响应
名称 | 类型 |
---|---|
payload |
TimeZones_GetTimeZoneInfo_Result
|
结构
CalendarId
在 fuchsia.intl/intl.fidl 中定义
输入的单个日历系统的标识符。目前仅包含一个日历 ID。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
id |
string
|
Unicode BCP-47 语言区域标识符,具有未定义的语言标记和指定日历 ID 的单个扩展(来自 https://unicode.org/repos/cldr/Relay/common/bcp47/calendar.xml)。 示例: "und-u-ca-gregory" "und-u-ca-islamic" |
无默认取景方式 |
LocaleId
在 fuchsia.intl/intl.fidl 中定义
单个语言区域的类型化标识符,该标识符是一组与国际化相关的属性。
大多数使用语言区域的 API 可能希望接受语言区域矢量以考虑优先级。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
id |
string
|
Unicode BCP-47 语言区域标识符 (http://www.unicode.org/reports/tr35/#BCP_47_Conformance)。 必须进行规范化且格式正确。不应通过任意用户或第三方输入填充此字段,而应以编程方式生成。 包括语言、区域、脚本和变体,以及 Unicode 扩展名(在“u”单例下)。允许使用其他扩展名,但会被忽略。 示例: “en-US” 美式英语 “fr-u-hc-h12” 法语(12 小时制) “ar-EG-u-fw-mon-nu-latn” 包含“拉丁”数字的埃及阿拉伯语,星期一的第一天 |
无默认取景方式 |
TimeZoneId
在 fuchsia.intl/intl.fidl 中定义
时区的类型标识符。
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
id |
string
|
tzdata 中的时区 ID,例如“America/New_York”。请参阅 https://www.iana.org/time-zones。 |
无默认取景方式 |
TimeZones_AbsoluteToCivilTime_Response
在 fuchsia.intl/time_zones.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
civil_time |
CivilTime
|
无默认取景方式 |
TimeZones_CivilToAbsoluteTime_Response
在 fuchsia.intl/time_zones.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
absolute_time |
zx/Time
|
无默认取景方式 |
TimeZones_GetTimeZoneInfo_Response
在 fuchsia.intl/time_zones.fidl 中定义
字段 | 类型 | 说明 | 默认 |
---|---|---|---|
time_zone_info |
TimeZoneInfo
|
无默认取景方式 |
枚举
DayOfWeek 严格
类型:uint8
在 fuchsia.intl/calendar.fidl 中定义
枚举星期几。
名称 | 值 | 说明 |
---|---|---|
星期日 |
1 |
|
星期一 |
2 |
|
星期二 |
3 |
|
星期三 |
4 |
|
星期四 |
5 |
|
星期五 |
6 |
|
星期六 |
7 |
严格月份
类型:uint8
在 fuchsia.intl/calendar.fidl 中定义
枚举年份。
名称 | 值 | 说明 |
---|---|---|
1 月 |
1 |
|
2 月 |
2 |
|
3 月 |
3 |
|
4 月 |
4 |
|
可以 |
5 |
|
6 月 |
6 |
|
7 月 |
7 |
|
8 月 |
8 |
|
9 月 |
9 |
|
10 月 |
10 |
|
11 月 |
11 |
|
12 月 |
12 |
RepeatedTimeConversion 灵活
类型:int32
在 fuchsia.intl/time_zones.fidl 中定义
在从夏令时转换为标准时间(将时钟调慢)期间,民用时间可以对应于两个可能的绝对时间。此设置用于确定在转换为绝对时间期间应假定其中哪个时间。
TODO(https://fxbug.dev/42162861):实现 AFTER_TRANSITION
。
名称 | 值 | 说明 |
---|---|---|
BEFORE_TRANSITION |
1 |
返回转换前的挂钟时间。 例如,在“America/New_York”中,在秋季的夜间过渡到标准时间时, |
SkippedTimeConversion 灵活
类型:int32
在 fuchsia.intl/time_zones.fidl 中定义
在从标准时间转换为夏令时期间(将时钟调快),系统会跳过一段民用时间(通常为 1 小时)。此设置用于确定应如何处理此跨度内的民用时间无效。
TODO(https://fxbug.dev/42162861):实现 BEFORE_TRANSITION
和 AFTER_TRANSITION
。
名称 | 值 | 说明 |
---|---|---|
REJECT |
1 |
尝试转换跳过的民用时间时,会返回 |
NEXT_VALID_TIME |
2 |
返回所请求时间之后最接近的有效时间。 例如,在“America/New_York”中,在春季转换到夏令时的晚上, |
TemperatureUnit 严格
类型:uint32
在 fuchsia.intl/intl.fidl 中定义
选择温度单位。
名称 | 值 | 说明 |
---|---|---|
摄氏度 |
0 |
温度应采用摄氏度显示温度。 |
法伦海蒂 |
1 |
温度的格式应显示为以华氏度为单位的温度。 |
TimeZonesError灵活
类型:int32
在 fuchsia.intl/time_zones.fidl 中定义
名称 | 值 | 说明 |
---|---|---|
INTERNAL_ERROR |
1 |
服务发生内部错误。 |
UNKNOWN_TIME_ZONE |
2 |
请求的时区 ID 无效。 |
INVALID_DATE |
3 |
提供的日期超出范围或无效。 |
表
CivilTime
在 fuchsia.intl/time_zones.fidl 中定义
描述民历(公历)上的时间,精度为纳秒。这大致相当于 C 标准库中 time.h
中的 tm
结构体,用作输出或解析日期的结构化中间格式。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
year |
uint16
|
年份,在闭区间 |
2 |
month |
Month
|
一年中的月。 |
3 |
day |
uint8
|
一个月中的某一天,在闭区间 |
4 |
hour |
uint8
|
一天中的小时,在闭区间 |
5 |
minute |
uint8
|
一小时中的分钟,闭合范围 |
6 |
second |
uint8
|
一分钟中的秒,在闭合范围 (请注意,Fuchsia 目前在转换日期时不会计算闰秒。) |
7 |
nanos |
uint64
|
纳秒,在闭合范围 |
8 |
weekday |
DayOfWeek
|
周几。 |
9 |
year_day |
uint16
|
一年中的第几天,在闭区间 |
10 |
time_zone_id |
TimeZoneId
|
与此时间对应的时区。如果省略,则默认为世界协调时间 (UTC)。 |
CivilToAbsoluteTimeOptions
在 fuchsia.intl/time_zones.fidl 中定义
“TimeZones.CivilToAbsoluteTime
”的选项。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
repeated_time_conversion |
RepeatedTimeConversion
|
用于在向后夏令时转换期间处理重复时间的可选设置。 默认值: |
2 |
skipped_time_conversion |
SkippedTimeConversion
|
用于在正向夏令时转换期间处理跳过时间的可选设置。 默认值: |
配置文件
在 fuchsia.intl/intl.fidl 中定义
按顺序排名的国际化属性的集合。
此类信息没有默示来源;它可能来自用户帐号、设备设置、用户设置的组合以及针对具体应用的替换项,也可能来自任何其他位置。
Unicode BCP-47 语言区域 ID 支持的与语言无关的属性(例如周几、时区)会反规范化为 locales
中的语言区域 ID。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
locales |
vector<LocaleId>
|
语言区域排名列表(按优先级降序排列)。矢量将始终被设置,并且始终至少包含一个元素。例如,locales = [ LocaleId("en-US") ] 有效,但 locales = [] 或 locales = |
2 |
calendars |
vector<CalendarId>
|
日历的排名列表(按偏好设置的降序排列)。
第一个条目是主日历,将等于 |
3 |
time_zones |
vector<TimeZoneId>
|
时区排名列表(按降序排列)。第一个条目是主时区,默认情况下应使用此时区来设置日期和时间的格式;该时区与 |
4 |
temperature_unit |
TemperatureUnit
|
所选温度单位。系统始终会报告单位:如果当前环境中没有设置,则系统会使用默认值 CELSIUS。 |
RegulatoryDomain
在 fuchsia.intl/intl.fidl 中定义
IEEE 802.11 标准中指定的监管域的类型化标识符。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
country_code |
string
|
ISO 3166-1 alpha-2,由两个字母组成的代码,表示操作域。 (https://www.iso.org/publication/PUB500001.html) |
TimeZoneInfo
在 fuchsia.intl/time_zones.fidl 中定义
描述时区在特定时刻的属性。
TODO(https://fxbug.dev/42162409):包含偏移和 DST 状态细分的附加字段。
序数 | 字段 | 类型 | 说明 |
---|---|---|---|
1 |
id |
TimeZoneId
|
时区的 IANA ID。 |
2 |
total_offset_at_time |
zx/Duration
|
在查询时间 ( |
3 |
in_dst_at_time |
bool
|
指示时区在查询的时间 ( |
联合
TimeZones_AbsoluteToCivilTime_Result 严格
在 fuchsia.intl/time_zones.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
TimeZones_AbsoluteToCivilTime_Response
|
|
2 |
err |
TimeZonesError
|
TimeZones_CivilToAbsoluteTime_Result 严格
在 fuchsia.intl/time_zones.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
TimeZones_CivilToAbsoluteTime_Response
|
|
2 |
err |
TimeZonesError
|
TimeZones_GetTimeZoneInfo_Result 严格
在 fuchsia.intl/time_zones.fidl 中定义
序数 | 变体 | 类型 | 说明 |
---|---|---|---|
1 |
response |
TimeZones_GetTimeZoneInfo_Response
|
|
2 |
err |
TimeZonesError
|
常量
名称 | 值 | 类型 | 说明 |
---|---|---|---|
DEFAULT_TIME_ZONE_ID | UTC |
String |
这是在未设置时区时报告的时区。 |