2012-07-04 122 views
1

我已使用messages.en,messages.de等將我的播放應用國際化。但是,美國和英國有不同的日期格式偏好。播放框架中日期格式的國際化

戲劇文檔有點不清楚,我認爲你必須使用2個字母的ISO代碼,但它似乎也在3個字母的ISO語言代碼工作。

我在這裏找到了eng和enu,並將它插入遊戲和成功。 http://msdn.microsoft.com/en-us/library/ee825488%28v=cs.20%29.aspx

雖然我無法在官方ISO中找到它們,但希望播放更清楚一點,即3個字母的代碼可以工作,因此我知道這是一個功能而不是bug。

一般來說,關於如何在這裏最好地使用日期格式的建議?將他們與語言選擇聯繫起來是一個好主意,或者更好地讓用戶有一種獨立於語言的選擇?

回答

1

要設置播放日期格式,你在你的config文件中定義它,而不是專門的郵件文件在這裏 - http://www.playframework.org/documentation/1.2.4/configuration#date.format

戲稱以下約2字符代碼(語言代碼)之間進行選擇和語言和國家代碼,在這裏 - http://www.playframework.org/documentation/1.2.4/i18n#languages

您可以使用語言/國家對如果你想 變種,如EN_US和EN_GB,或者zh_CN的和zh_TW的區分。但是,請注意 意識到某些用戶可能只會暴露他們的Accept-language中的一種語言,而不是其中的國家/地區 。因此,您應該始終提供 「裸體」語言(例如en)。例如,如果大部分用戶來自美國,但您也想支持英國英語,則建議簡單地使用英語「en」的英語英語和英語的「en_GB」。

它沒有具體提及3個字符代碼。但是,Play使用Java語言環境對象進行國際化,所以如果您查看該對象的Javadoc,則只能看到對2個字符代碼的引用,而對3個字符代碼沒有引用。因此,依靠2個字符的代碼(或國家和語言代碼,例如en_gb)可能更安全,因爲儘管Locale似乎支持3個國家/地區代碼,但不能保證所有代碼!

+0

我讀了幾次doc文件,沒有看到這段文字。我會按照建議重構語言代碼。因此,我的messages.enu和messages.eng文件現在將成爲messages.en(如果用戶不支持國家,則默認用英文表示),而用英文表示message.en_GB。謝謝! – bladmiral

+0

這是Play 2.1.1的正確方法嗎? –