`

第十章 本地化(locale)

阅读更多

说明:本文翻译自《TangoRefMan_Sep_1_2008》

      

由于本人是编程初学者,对很多程序设计概念不是非常熟悉,编程经验不多,再加上英语水平不高,翻译纯属一个D语言爱好者实验之作,很多错误在所难免,还请读者见谅。另外,如果你发现本文有不当和错误之处,还请多提宝贵意见。

第十章  本地化(locale)


文化 (Culture)


提供关于文化的信息,如它的名字、日历和日期、数字格式式样。


注意:tango.text.locale采用RFC1766标准,文化名使用<language>”-”<region>(<语言>”-”<地区>)格式。<language>是一个小写的两个字母的代码,在ISO3166中定义(详见http://zh.wikipedia.org/wiki/ISO_639-1).。<region>是一个大写的两个字母的代码,在ISO3166中定义(详见http://zh.wikipedia.org/wiki/ISO_3166-1   ) 如”zh-CN” 表中文和中国。


有三种文化类型:invariant(不变的)、neutral(中立的)、和specific(明确的、具体的)。invariant文化没有结合到任何具体地区,尽管它和英语关联。Neutral文化关联到一个语言,但不和一个地区关联。具体文化关联到语言和地区。如"es"是一个neutral文化,而”es-MX”是一个specific(具体)文化。


DateTimeFormat 和NumberFormat不能为 Neutral文化创建。
例子:


import tango.io.Stdout, tango.text.locale.Core;

  void main() {
  Culture culture = new Culture("zh-CN");

    Stdout.formatln("englishName: {}", culture.englishName);
    Stdout.formatln("nativeName: {}", culture.nativeName);
    Stdout.formatln("name: {}", culture.name);
    Stdout.formatln("parent: {}", culture.parent.name);
    Stdout.formatln("isNeutral: {}", culture.isNeutral);
  }

 


产生如下输出:


englishName: Chinese (People's Republic of China)
nativeName: 中文(中华人民共和国)
name: zh-CN
parent: zh-CHS
isNeutral: false


使用0参数构造器可以得到用户自己的文化:


Culture culture = new Culture();


Convert


转换时间和日期到文化特定的输出


Collation
字符串比较


Locale
一个使用文化敏感的方法进行数字格式的布局


Parse
用给定的文化解析日期和时间

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics