游戏框架中日期格式的国际化

时间:2012-07-04 00:29:50

标签: java internationalization playframework playframework-1.x

我使用messages.en,messages.de等国际化我的播放应用程序。但是,美国和英国有不同的日期格式偏好。

播放文档有点不清楚,我认为你必须使用2个字母的ISO代码,但似乎3个字母的ISO语言代码也可以起作用。

我在这里找到了eng和enu并将其插入游戏并取得了成功。 http://msdn.microsoft.com/en-us/library/ee825488%28v=cs.20%29.aspx

我无法在官方ISO中找到它们,但我更喜欢使用三字母代码更清晰,因此我知道这是一个功能而不是错误。

一般情况下,有关如何最好地使用日期格式的任何建议吗?将他们与语言选择联系起来是一个好主意还是更好,让用户可以选择独立于语言的选择?

1 个答案:

答案 0 :(得分:1)

要设置Play的日期格式,请在配置文件中定义,而不是在此处的消息文件中定义 - http://www.playframework.org/documentation/1.2.4/configuration#date.format

播放说明如下选择2字符代码(语言代码)与语言和国家/地区代码,{ - 3}}

  

如果要区分,可以使用语言/国家/地区对   变体,例如en_US和en_GB,或zh_CN和zh_TW。但是,是的   意识到某些用户可能只公开一种语言而不是一个国家   他们的接受语言。出于这个原因,你应该总是提供   “裸”语言(例如en)。

     

例如,如果您的大多数用户来自美国,但您也想这样做   支持英国英语,建议只使用美国的“en”   英语和英语英语“en_GB”。

没有特别提及3个字符代码。但是,Play使用Java Locale对象进行国际化,因此如果查看该对象的http://www.playframework.org/documentation/1.2.4/i18n#languages,则只能看到对2字符代码的引用,而不是3字符代码。因此,依靠2字符代码(或国家和语言代码,例如en_gb)可能更安全,因为尽管Locale似乎支持3个国家/地区代码,但您无法保证所有代码!