【发布时间】:2011-02-05 02:47:39
【问题描述】:
假设您要将用户偏好的语言环境存储在数据库中,您将使用哪个值?
en_US 或 en-US
它们是两个标准,但您更喜欢将哪一个用作您自己的应用程序的一部分?
更新:似乎很多网站都使用破折号而不是下划线,例如
http://zh.wikipedia.org/zh-tw http://www.google.com.hk/search?hl=zh-TW
【问题讨论】:
标签: java localization locale
假设您要将用户偏好的语言环境存储在数据库中,您将使用哪个值?
en_US 或 en-US
它们是两个标准,但您更喜欢将哪一个用作您自己的应用程序的一部分?
更新:似乎很多网站都使用破折号而不是下划线,例如
http://zh.wikipedia.org/zh-tw http://www.google.com.hk/search?hl=zh-TW
【问题讨论】:
标签: java localization locale
我很确定“-”是标准。如果您在某处看到“_”,则可能是某些人想出的使其成为有效标识符的东西。
为了正确起见,我个人会选择“-”。
【讨论】:
Locale 对象时,您都需要en_US 格式的语言环境名称。 (对于货币格式、日期格式等)以en-US 格式存储数据并在每次需要使用存储的数据时用下划线替换破折号绝对工作,但它可能更明智(当然更简单)以应用程序实际使用的格式存储语言环境名称...
{% set currency = "USD" %}{% set format = "en_US" %}试图找出它是否正确。
如果您使用 Java,不妨使用Java locale format (en_US)。
BCP 47 文档实际上确实指定了en-US 格式,它与 Java 风格的语言环境名称一样常见,甚至更常见。但在实践中,您会看到很多带有下划线的表格。例如,Java 和 most POSIX-type platforms 都使用下划线作为语言/地区分隔符。
因此,任何一种选择都不会出错。但鉴于您使用 Java 编写并且可能针对 Unix 平台,en_US 可能是要走的路。
【讨论】:
java 标签。如果您愿意,请查看我的答案中的链接...
在 Java 7 中,有一个新方法 Locale.forLanguageTag(String),它假定连字符作为分隔符。我认为这是规范的。
查看Locale 的文档了解更多信息。
【讨论】:
zh_CN。 This 是一本非常有用的读物。
【讨论】:
我认为en-US 根本不是 Java 的标准。 (如果你在某个地方看到它,你可以添加一个链接)。
所以只需使用en_US。
【讨论】: