通訊協定
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):新增時區資訊方法,包括與世界標準時間的偏移值。
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
單一日曆系統的輸入 ID。目前只能包含日曆 ID。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
id |
string
|
含有未定義語言標記的 Unicode BCP-47 語言代碼 ID,以及指定日曆 ID 的單一擴充功能 (來自 https://unicode.org/repos/cldr/中繼/common/bcp47/calendar.xml)。 範例:「und-u-ca-gregory」 「und-u-ca-islamic」 |
無預設 |
LocaleId
單一語言代碼的輸入 ID,這是一組國際化相關屬性。
大多數使用語言代碼的 API 可能會想接受向量語言代碼,以便將優先順序納入考量。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
id |
string
|
Unicode BCP-47 語言代碼 ID (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
輸入的時區 ID。
欄位 | 類型 | 說明 | 預設 |
---|---|---|---|
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
|
無預設 |
ENUMS
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 月 |
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
在標準時間從標準時間轉換至日光節約時間 (時間向前) 期間,系統會略過民間時段 (通常是一小時)。這項設定會決定應如何處理這個 Span 中的無效民用時間。
TODO(https://fxbug.dev/42162861):實作 BEFORE_TRANSITION
和 AFTER_TRANSITION
。
名稱 | 值 | 說明 |
---|---|---|
拒絕 |
1 |
嘗試轉換略過的民用時間時,會傳回 |
NEXT_VALID_TIME |
2 |
傳回要求時間之後的最接近的有效時間。 例如,在春天轉換為日光節約時間的「America/New_York」中並不存在 |
溫度單位嚴格
類型:uint32
選擇溫度單位。
名稱 | 值 | 說明 |
---|---|---|
好奇 |
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
|
分鐘數的秒數,位於封閉範圍 (請注意,Fusia 目前在轉換日期時不會計算閏秒)。 |
7 |
nanos |
uint64
|
奈秒的封閉範圍為 |
8 |
weekday |
DayOfWeek
|
星期幾。 |
9 |
year_day |
uint16
|
一年中的日間休息範圍 ( |
10 |
time_zone_id |
TimeZoneId
|
與這個時間相對應的時區。如果省略,則預設值為世界標準時間。 |
CivilToAbsoluteTimeOptions
定義於 fuchsia.intl/time_zones.fidl
「TimeZones.CivilToAbsoluteTime
」的選項。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
repeated_time_conversion |
RepeatedTimeConversion
|
用於處理回溯日光節約時間轉換期間重複時間的選用設定。 預設值: |
2 |
skipped_time_conversion |
SkippedTimeConversion
|
用於處理日光節約時間轉換時略過時間的選用設定。 預設值: |
Profile
一系列經過排名的國際化房地產。
此資訊沒有隱含來源;可能來自使用者帳戶、裝置設定、使用者設定和應用程式專屬覆寫的綜合資料,或是任何其他來源。
Unicode BCP-47 語言代碼 ID 支援的語言獨立屬性 (例如一週的第一天、時區) 會反正規化為 locales
中的語言代碼 ID。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
1 |
locales |
vector<LocaleId>
|
語言代碼清單 (依偏好順序遞減排序)。向量一律會設定,且一律包含至少一個元素。舉例來說,locales = [ LocaleId("en-US") ] 有效,但語言代碼 = [] 或語言代碼 = |
2 |
calendars |
vector<CalendarId>
|
日曆清單排序 (依偏好由高至低排序)。
第一個項目是主要日曆,且等於 |
3 |
time_zones |
vector<TimeZoneId>
|
時區清單 (遞減排序)。第一個項目是主要時區,應依預設用於設定日期和時間的格式;它等同於 |
4 |
temperature_unit |
TemperatureUnit
|
選取的溫度單位。系統一律會回報單位:如果目前環境中沒有設定,則會使用 CELSIUS 的預設值。 |
RegulatoryDomain
依 IEEE 802.11 標準指定的規定網域輸入的 ID。
序數 | 欄位 | 類型 | 說明 |
---|---|---|---|
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
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
TimeZones_AbsoluteToCivilTime_Response
|
|
2 |
err |
TimeZonesError
|
TimeZones_CivilToAbsoluteTime_Result 嚴格
定義於 fuchsia.intl/time_zones.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
TimeZones_CivilToAbsoluteTime_Response
|
|
2 |
err |
TimeZonesError
|
TimeZones_GetTimeZoneInfo_Result 嚴格
定義於 fuchsia.intl/time_zones.fidl
序數 | Variant | 類型 | 說明 |
---|---|---|---|
1 |
response |
TimeZones_GetTimeZoneInfo_Response
|
|
2 |
err |
TimeZonesError
|
業者
名稱 | 值 | 類型 | 說明 |
---|---|---|---|
DEFAULT_TIME_ZONE_ID | UTC |
String |
這是未設定時區時回報的時區。 |