一些名词解释 关于iOS编程的“国际化与本地化”

来源:互联网 发布:hc sr04 51单片机程序 编辑:程序博客网 时间:2024/04/29 08:57

翻译自苹果的官方文档“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个字母。
    • LangeuageISO 639-1ISO 639-2EnglishenengFrenchfrfreHawaiian没有haw
  4. Script Designator
    • 书写体代码。见ISO 15924。
  5. Region Designator
    • 地区代码。ISO对其定义在ISO 3166-1。
    • RegionISO 3166-1United StatesUSCanadaCA

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 formatExampleExplanationlanguage designatoren只有语言,无区域language designator_region designatorzh_HK有语言,有区域language designator-script designatorzh-Hans有语言,有书写体language designator-script designator_region designatorzh-Hans_HK都有

一般来说,Locale ID都使用简化形式。当发生歧义时,才附加上script designator。比如,香港默认使用繁体中文,所以Locale ID写为zh_HK即可。当要特指使用简体字的时候,使用zh-Hans_HK。

0 0
原创粉丝点击