说明:本文翻译自《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
用给定的文化解析日期和时间