一些名詞解釋 關於iOS編程的“國際化與本地化”


翻譯自蘋果的官方文檔“Internationalization and Localization Guide”


  1. Language ID
    • 用於標示一種語言(Language)、一種方言(dialect)、一種書寫體(script)。
    • 在iOS編程裏,用於命名一些文件夾,專門保存語言相關的資源。這些文件夾最終會成爲app bundle的一部分。
  2. Locale ID
    • 用於標示一個地區、區域。該地區有專屬的語言、數字、日期、錢幣的使用習慣、文化、傳統。
    • 在iOS編程裏,用於API,比如:NSLocale、NSDateFormatter、NSNumberFormatter、NSCalendar。
  3. Language Designator
    • 語言代碼。ISO對其有兩個標準:ISO 639-1和639-2。前者使用2個字母標示一種語言;後者使用3個字母。
    • Langeuage ISO 639-1 ISO 639-2
      English en eng
      French fr fre
      Hawaiian 沒有 haw

  4. Script Designator
  5. Region Designator
    • 地區代碼。ISO對其定義在ISO 3166-1。
    • Region ISO 3166-1
      United States US
      Canada CA

Language ID 可由Language designator和、或Region designator組合而成。

  • 標示一種語言(Language)時,用Language designator即可,比如en。
  • 標示一種方言(dialect)時,同時使用Language designator、Region designator。二者中間有連字符(hyphen),比如en-US。
  • 標示一種書寫體(script)時,同時使用Language designator、Script designator。二者中間有連字符(hyphen),比如zh-Hans

Locale ID 可由Language designator、Region designator、Script Designator混合而成,比如:

Locale ID format Example Explanation
language designator en 只有語言,無區域
language designator_region designator zh_HK 有語言,有區域
language designator-script designator zh-Hans 有語言,有書寫體
language designator-script designator_region designator zh-Hans_HK 都有

一般來說,Locale ID都使用簡化形式。當發生歧義時,才附加上script designator。比如,香港默認使用繁體中文,所以Locale ID寫爲zh_HK即可。當要特指使用簡體字的時候,使用zh-Hans_HK。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章