en_US或en-US,您应该使用哪一个?

时间:2011-02-05 02:47:40

标签: java localization locale

假设您要将用户首选项的区域设置存储在数据库中,您将使用哪个值?

en_US或en-US

它们是两个标准,但您更喜欢将哪一个用作自己应用程序的一部分?

已更新:似乎很多网站都使用破折号而非下划线,例如。

http://zh.wikipedia.org/zh-tw http://www.google.com.hk/search?hl=zh-TW

5 个答案:

答案 0 :(得分:65)

等等,等等。伙计们,我很确定“ - ”是标准。如果你在某个地方看到“_”,那么很可能是某些人想出来使它成为有效的标识符。

就个人而言,我会选择“ - ”,只是为了正确。

http://en.wikipedia.org/wiki/IETF_language_tag

http://tools.ietf.org/html/rfc5646

答案 1 :(得分:21)

如果你正在使用Java,你也可以使用Java locale formaten_US)。

BCP 47文档实际上确实指定了en-US格式,如果不比Java风格的区域设置名称更常见,它就是常见的。但实际上你会看到带有下划线的形式。例如,Javamost POSIX-type platforms都使用下划线作为语言/区域分隔符。

所以你们两种选择都不会出错。但鉴于您使用Java编写并且可能针对Unix平台, en_US 可能是可行的方法。

答案 2 :(得分:8)

在Java 7中,有一种新方法Locale.forLanguageTag(String),它假定连字符为分隔符。我认为这是规范性的。

查看Locale的文档以获取更多信息。

答案 3 :(得分:5)

EN_US。 This是一本非常有用的读物​​。

答案 4 :(得分:2)

我认为en-US根本不是Java的标准。 (如果你在某个地方看到它可以添加一个链接)。

所以只需使用en_US