國際化

2018-02-24 15:53 更新

國際化

語言標簽

RFC 5646?(BCP 47) 規(guī)定的語言標簽的格式如下:

language-script-region-variant-extension-privateuse
  1. language:這部分使用的是 ISO 639-1, ISO 639-2, ISO 639-3, ISO 639-5 中定義的語言代碼,必填
    • 這個部分由?primary-extlang?兩個部分構成
    • primary?部分使用 ISO 639-1, ISO 639-2, ISO 639-3, ISO 639-5 中定義的語言代碼,優(yōu)先使用 ISO 639-1 中定義的條目,比如漢語?zh
    • extlang?部分是在某些歷史性的兼容性的原因,在需要非常細致地區(qū)別?primary?語言的時候使用,使用 ISO 639-3 中定義的三個字母的代碼,比如普通話?cmn
    • 雖然?language?可以只寫?extlang?省略?primary?部分,但出于兼容性的考慮,還是建議加上?primary?部分
  2. script: 這部分使用的是?ISO 15924?(Wikipedia) 中定義的語言代碼,比如簡體漢字是?zh-Hans?,繁體漢字是?zh-Hant?。
  3. region: 這部分使用的是 ISO 3166-1 (Wikipedia) 中定義的地理區(qū)域代碼,比如?zh-Hans-CN?就是中國大陸使用的簡體中文。
  4. variant: 用來表示?extlang?的定義里沒有包含的方言,具體的使用方法可以參考?RFC 5646?。
  5. extension: 用來為自己的應用做一些語言上的額外的擴展,具體的使用方法可以參考?RFC 5646。
  6. privateuse: 用來表示私有協(xié)議中約定的一些語言上的區(qū)別,具體的使用方法可以參考?RFC 5646。

其中只有?language?部分是必須的,其他部分都是可選的;不過為了便于編寫程序,建議設計接口時約定語言標簽的結構,比如統(tǒng)一使用?language-script-region?的形式(?zh-Hans-CN,?zh-Hant-HK?等等)。

語言標簽是大小寫不敏感的,但按照慣例,建議?script?部分首字母大寫,?region?部分全部大寫,其余部分全部小寫。

有一點需要注意,任何合法的標簽都必須經(jīng)過 IANA 的認證,已通過認證的標簽可以在這個網(wǎng)頁查到。此外,網(wǎng)上還有一個非官方的標簽搜索引擎。

相關資料:

時區(qū)

客戶端請求服務器時,如果對時間有特殊要求(如某段時間每天的統(tǒng)計信息),則可以參考?IETF 相關草案?增加請求頭?Timezone?。

Timezone: 2007-06-12T23:48:22+0800
// OR
Timezone: 1977-07-30T12:00:11+0200;;Europe/Athens

時區(qū)的名稱可以參考?tz datebase(Wikipedia) 。

如果客戶端請求時沒有指定相應的時區(qū),則服務端默認使用?UTC?時間返回相應數(shù)據(jù)。

PS 考慮到存在夏時制這種東西,所以不推薦客戶端在請求時使用 Offset 。

時間格式

時間格式遵循?ISO 8601(Wikipedia) 建議的格式:

  • 日期?2014-07-09
  • 時間?14:31:22+0800
  • 具體時間?2007-11-06T16:34:41Z
  • 持續(xù)時間?P1Y3M5DT6H7M30S?(表示在一年三個月五天六小時七分三十秒內)
  • 時間區(qū)間?2007-03-01T13:00:00Z/2008-05-11T15:30:00Z?、?2007-03-01T13:00:00Z/P1Y2M10DT2H30M?、?P1Y2M10DT2H30M/2008-05-11T15:30:00Z
  • 重復時間?R3/2004-05-06T13:00:00+08/P0Y6M5DT3H0M0S?(表示從2004年5月6日北京時間下午1點起,在半年零5天3小時內,重復3次)

相關資料:

貨幣名稱

貨幣名稱可以參考 ISO 4217(Wikipedia) 中的約定,標準為貨幣名稱規(guī)定了三個字母的貨幣代碼,其中的前兩個字母是 ISO 3166-1(Wikipedia) 中定義的雙字母國家代碼,第三個字母通常是貨幣的首字母。在貨幣上使用這些代碼消除了貨幣名稱(比如 dollar )或符號(比如 $ )的歧義。

相關資料:

  • 《RESTful Web Services Cookbook 中文版》 3.9 節(jié)《如何在表述中使用可移植的數(shù)據(jù)格式》
以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號