区域设置 - 仅用于国际化?

时间:2012-01-31 09:52:32

标签: localization internationalization locale resourcebundle

我需要类似语言环境的功能,用于国际化以外的目的。

例如,我想使用资源包机制,并为不同的自定义设置不同的资源包,例如:客户端A的一个文件,客户端B的另一个文件和另一个默认文件(对于特定客户端文件中不存在的值)。唯一的方法是“强制”每个客户端的区域设置,我不想这样做。

这种事情有不同的结构吗?

1 个答案:

答案 0 :(得分:0)

在一个简单的案例中,我没有看到为什么你不能将定制作为一种本地化处理的原因。区域设置最终是用户首选项的描述。之所以主要基于语言和可能的国家,只是因为这些是最常见的事情,往往导致可以在软件中处理的差异。

大多数使用这些语言环境标识符的系统都有某种方式用一些扩展机制来呈现“变体”。在ResourceBundle中,这似乎是“变体”参数。

主要问题是语言环境系统在某种意义上是原始的,它们假定一个分层系统而不是正交系统。也就是说,您可以为英语,美国,公司A定义en-US-xA(以使用BCP 47语言环境ID)的语言环境,但是如果您需要A的员工的语言环境而不是加拿大法语,那么它必须是fr -CA-xA,为此你需要复制A特定的设置。

所以我会得出结论,至少如果需要正常意义上的本地化(不同语言,不同国家/地区),使用区域设置进行自定义是可以的。