Java play框架中日期格式的国际化

Java play框架中日期格式的国际化,java,internationalization,playframework,playframework-1.x,Java,Internationalization,Playframework,Playframework 1.x,我已经使用messages.en、messages.de等将我的play应用程序国际化。但是,美国和英国有不同的日期格式偏好 播放文档有点不清楚,我认为您必须使用2个字母的ISO代码,但3个字母的ISO语言代码似乎也适用于播放 我在这里找到了eng和enu,并将其插入游戏和成功中 虽然我在官方ISO中找不到它们的文档,但我更希望这个剧本能更清楚地说明三字母代码的工作原理,所以我知道这是一个特性,而不是一个bug 一般来说,关于如何最好地使用这里的日期格式,有什么建议吗?将它们与语言选择联系起来是

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

播放文档有点不清楚,我认为您必须使用2个字母的ISO代码,但3个字母的ISO语言代码似乎也适用于播放

我在这里找到了eng和enu,并将其插入游戏和成功中

虽然我在官方ISO中找不到它们的文档,但我更希望这个剧本能更清楚地说明三字母代码的工作原理,所以我知道这是一个特性,而不是一个bug


一般来说,关于如何最好地使用这里的日期格式,有什么建议吗?将它们与语言选择联系起来是一个好主意还是更好的办法,让用户独立于语言进行选择?

要设置播放的日期格式,请在配置文件中定义,而不是在此处的消息文件中明确定义-

Play介绍了以下关于在2字符代码(语言代码)和语言及国家代码之间进行选择的内容,此处-

如果要区分以下两种语言,可以使用语言/国家/地区对 变体,如en_US和en_GB,或zh_CN和zh_TW。但是,要 意识到有些用户可能只公开一种语言,而不公开一个国家/地区 他们接受语言。因此,您应该始终提供 “裸体”语言(如英语)

例如,如果您的大多数用户来自美国,但您也希望 支持英式英语,建议使用US的简单“en” 英语和“en_GB”表示英国英语


它没有特别提到3个字符的代码。但是,Play使用Java语言环境对象进行国际化,因此如果您查看该对象的语言环境,您可以看到仅引用2个字符的代码,而不是3个字符的代码。因此,使用2个字符的代码(或国家和语言代码,如
en_gb
)可能更安全,因为尽管区域设置似乎支持3个国家/地区代码,但您不能保证所有代码

要设置播放的日期格式,可以在配置文件中定义,而不是在此处的消息文件中定义-

Play介绍了以下关于在2字符代码(语言代码)和语言及国家代码之间进行选择的内容,此处-

如果要区分以下两种语言,可以使用语言/国家/地区对 变体,如en_US和en_GB,或zh_CN和zh_TW。但是,要 意识到有些用户可能只公开一种语言,而不公开一个国家/地区 他们接受语言。因此,您应该始终提供 “裸体”语言(如英语)

例如,如果您的大多数用户来自美国,但您也希望 支持英式英语,建议使用US的简单“en” 英语和“en_GB”表示英国英语


它没有特别提到3个字符的代码。但是,Play使用Java语言环境对象进行国际化,因此如果您查看该对象的语言环境,您可以看到仅引用2个字符的代码,而不是3个字符的代码。因此,使用2个字符的代码(或国家和语言代码,如
en_gb
)可能更安全,因为尽管区域设置似乎支持3个国家/地区代码,但您不能保证所有代码

我读了几遍文档文件,没有看到这一段。我将按照建议重构语言代码。因此,我的messages.enu和messages.eng文件现在将是messages.en(如果用户不支持国家/地区,则英语默认为US)和messages.en_GB(英国)。谢谢我读了几遍文档文件,没有看到这一段。我将按照建议重构语言代码。因此,我的messages.enu和messages.eng文件现在将是messages.en(如果用户不支持国家/地区,则英语默认为US)和messages.en_GB(英国)。谢谢