國際化

2018-02-24 15:53 更新

國際化

語言標(biāo)簽

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

language-script-region-variant-extension-privateuse
  1. language:這部分使用的是 ISO 639-1, ISO 639-2, ISO 639-3, ISO 639-5 中定義的語言代碼,必填
    • 這個(gè)部分由?primary-extlang?兩個(gè)部分構(gòu)成
    • primary?部分使用 ISO 639-1, ISO 639-2, ISO 639-3, ISO 639-5 中定義的語言代碼,優(yōu)先使用 ISO 639-1 中定義的條目,比如漢語?zh
    • extlang?部分是在某些歷史性的兼容性的原因,在需要非常細(xì)致地區(qū)別?primary?語言的時(shí)候使用,使用 ISO 639-3 中定義的三個(gè)字母的代碼,比如普通話?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: 用來為自己的應(yīng)用做一些語言上的額外的擴(kuò)展,具體的使用方法可以參考?RFC 5646。
  6. privateuse: 用來表示私有協(xié)議中約定的一些語言上的區(qū)別,具體的使用方法可以參考?RFC 5646。

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

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

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

相關(guān)資料:

時(shí)區(qū)

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

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

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

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

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

時(shí)間格式

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

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

相關(guān)資料:

貨幣名稱

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

相關(guān)資料:

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號