如何选择Locale常量?

时间:2011-04-11 13:13:43

标签: java locale

Java类java.util.Locale有一组用于语言/国家/地区的public static final字段,用于直接引用特定区域设置。其他语言环境可以通过适当的构造函数轻松使用。

但是,值的选择对我来说似乎是武断的。

语言(按照出现在源中的顺序):英语,法语,德语,意大利语,日语,韩语,中文,简体中文,繁体中文

这些国家是:法国,德国,意大利,日本,韩国,中国,中国,台湾,英国,美国,Canda和加拿大法语(适用于当地的fr_CA)。

有没有人有想法(甚至猜测)这些语言/国家的选择方式?

3 个答案:

答案 0 :(得分:10)

这些代码由ISO标准3166为国家/地区代码定义,639为语言代码。另请参阅W3C Internationalization Activity页面。

修改

重新阅读问题,OP已经知道了这一点:-)

根据Sun文章Internationalization: Understanding Locale in the Java Platform,这些值被选为示例,它甚至告诉我们:

  

因为存在这么少的预制区域设置,   你可能应该避免这些   静态物体。

答案 1 :(得分:3)

我猜这只是最常用的语言环境,对开发人员来说是方便的。

来自Javadoc:

  

Locale类提供了许多方便的常量,可用于为常用语言环境创建Locale对象。

答案 2 :(得分:0)

我的猜测是他们使用的是第1层语言 - 这是JRE本地化的语言。至于国家,我认为它们只是与语言相匹配。好吧,除非有人介绍,否则我们可能永远不会知道。