`

第十章 本地化(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
用给定的文化解析日期和时间

分享到:
评论

相关推荐

    locale-archive 和 locale-archive.tmpl

    在Linux操作系统中,`locale-archive`和`locale-archive.tmpl`是两个非常关键的文件,它们与系统的国际化(Internationalization,简称i18n)和本地化(Localization,简称l10n)设置密切相关。`locale`是系统用来...

    4.0Ext 本地化

    4.0Ext 本地化的实现主要依靠其根目录下的 `/locale/` 文件夹,这个文件夹包含了多达45种语言的包,覆盖了全球大部分地区。实现本地化有两种方式:静态和动态。静态本地化通常是在开发阶段就确定好语言设置,而动态...

    android 本地化代码实例

    在Android开发中,本地化(Localization)是一项重要的功能,它使得应用可以适应不同国家和地区用户的语言和文化习惯。本文将详细讲解如何通过代码实例实现Android的本地化,并以"HelloL10N"这个示例项目为切入点,...

    ExtJs4本地化

    1. **引入本地化文件**:在应用启动时,加载对应的语言文件,例如`&lt;script src="locale/en_US.js"&gt;&lt;/script&gt;`。 2. **设置默认语言**:在应用配置中指定默认语言,例如`Ext.locale = 'en'`。 3. **处理语言切换**:...

    第十章的demo

    在本章节的“第十章的demo”中,我们将深入探讨两个关键的iOS用户界面组件:UIPickerView和UIDatePicker。这两个控件在iOS应用开发中扮演着重要角色,为用户提供选择数据或设置日期和时间的功能。 首先,...

    angularJs 本地化js下载 angular-locale_zh-cn.js

    angularJs 本地化js下载 angular-locale_zh-cn.js 我是用来处理 日期工具英文的问题,转换成中文,直接引用就行,都是从官网上下载的,为啥不能选择需要的分数了???我还想一分呢

    android 本地化

    在Android开发中,本地化(Localization)是一项至关重要的任务,它允许应用程序适应不同地区和语言的用户需求。本地化不仅仅是翻译文本,还包括日期格式、数字格式、货币单位、图像资源等多方面的调整,以确保软件...

    Laravel开发-laravel-locale

    在Laravel框架中,`laravel-locale`是与本地化相关的组件,它为开发者提供了强大的多语言支持,使得Web应用能够根据用户所在地区提供不同的内容和服务。在Laravel 5版本中,本地化功能得到了进一步增强,为全球化的...

    c++输入输出流及本地化

    3. **本地化输出**:使用`std::use_facet`获取locale的特定方面,然后通过这些方面进行格式化输出。例如,可以获取`std::num_put`来改变数字的输出格式。 4. **locale影响的流操作**:一旦设置了流的locale,它将...

    标准C++输入输出流与本地化

    同时,书中还介绍了为本地化而建立的Locale(本地环境)和相关的类,如imbue()和use_facet()等,这些是实现输入输出流本地化的关键工具。此外,还涉及如何在实际编程中正确合理地使用这些类和函数,以达到本地化的...

    iOS 本地化国际化 demo

    在iOS应用开发中,本地化和国际化是一项至关重要的任务,它允许我们的应用程序适应不同地区和语言的用户。这个“iOS 本地化国际化 demo”显然提供了一个实际操作的例子,帮助开发者理解如何在iOS项目中实现这一功能...

    Laravel开发-locale

    接下来,我们将深入探讨Laravel中的locale机制以及如何利用这个本地化包进行开发。 一、Laravel的locale基础 1. **定义与设置**: Locale是应用程序的语言环境,用于确定用户看到的内容的语言版本。在Laravel中,你...

    grid.locale-cn.rar

    首先,我们需要理解locale(本地化)在软件开发中的概念。本地化是指根据用户所在地区或语言环境调整软件的显示,使其更加符合用户的使用习惯。grid.locale-cn.js就是jqGrid针对中文环境的本地化文件,它包含了所有...

    C语言头文件 LOCALE.H

    C语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE.HC语言头文件 LOCALE....

    C++ 输入输出流及本地化

    5. **本地化**:C++的本地化功能允许程序根据用户所在的地区和文化习惯进行适应性处理。这主要通过`locale`类实现,可以改变数字、日期、时间的格式,货币符号等。例如,创建一个新的本地化环境并应用到流上: ```...

    C#本地化Windows窗体(2)

    在C#编程中,本地化是一项关键特性,它允许开发者为不同地区的用户创建多语言应用程序。本主题将深入探讨如何实现C#中的Windows窗体本地化,特别是关注第二部分涉及的技术和步骤。本地化不仅仅是翻译文本,而是确保...

    grid.locale-cn.js

    《Jqgrid中文本地化文件grid.locale-cn.js详解》 Jqgrid是一款广泛应用于Web开发中的强大表格插件,它提供了丰富的数据展示、编辑、排序、分页等功能,深受开发者喜爱。在Jqgrid的使用过程中,为了实现中文界面,就...

    Android应用源码之(本地化与国际化)-IT计算机-毕业设计.zip

    在Android应用开发中,本地化和国际化是两个重要的概念,它们涉及到如何使应用程序适应不同语言和地区的需求。这个压缩包中的内容很可能是为了帮助学生或开发者理解如何在Android平台上实现这一功能,以创建一个能为...

Global site tag (gtag.js) - Google Analytics