[問題] 關於GWT的Locale設定

作者: JohnnyDell (強尼戴爾)   2014-11-04 22:19:23
小弟目前在修改一個專案 ABC 是採用GWT 2.5.0, GXT 2.2.5
目前遇到一個問題是頁面上一些GWT自己翻譯的字都是簡體中文
所謂GWT自己翻譯的字例如 pagingToolBar的上下頁(翻成 頁 1 頁頁共 1 頁)
或者是 Grid在讀取時mask中間的 Loading(會翻成 加載中..)
此專案有三個i18n properties
1. I18NConstants.properties
2. I18NConstants_zh_TW.properties
3. I18NConstants_zh_CN.properties
第一個給英文 第二個跟第三個就是對應翻成繁體 簡體中文
原本是在 ABC.gwt.xml 中這樣設定
<extend-property name="locale" values="zh_CN"/>
<extend-property name="locale" values="fr_TW"/>
之後只要網址有給?locale=zh_TW 就會顯示第二個properties的字
給?locale=zh_CN 就會顯示地三個properties的字
但是如果沒給locale參數 http://localhost/ABC 這樣就是第一個
如果是第一個 那那些GWT自己翻譯的是會是英文沒有問題
(Loading, Page 1 of 1 etc..)
但是若是用了2,3的properties 就都會是簡體中文
爬文似乎作法是要在gwt.xml設定default locale
<set-property-fallback name="locale" value="en"/>
(如果有上面這行 必須先
<extend-property name="locale" values="en"/>)
在ABC.html的head給 <meta name="gwt:property" content="locale=en">
但是這樣做並沒有作用 還是顯示簡體中文
Google有看到教學是把en給zh 他是為了想要pagingToolBar顯示簡體中文
另外我困惑的是 那個en指的是什麼呢?(有些是給en_GB)
是GWT預設就有的語系嗎? 還是說我必須有一個I18NConstants_en.properties?
另外我比較不清楚的是為何?locale=zh_TW
GWT就知道要去抓第2個properties呢?
感謝
作者: hgs1906 (受遺棄之子)   2014-11-05 16:05:00
pagingToolBar的簡體字因該是要找或覆寫GXT的i18設定檔設定檔的方式主要是自已寫的程式才有用吧…戴入頁面前會先抓locale參數來決定要戴入那一個語系檔en是預設值 預設戴入英文 可以在原碼找到en的設定檔才對
作者: searcher ( )   2014-11-06 21:31:00
GXT你要修改jar裡面的i18n因為他沒有繁中

Links booklink

Contact Us: admin [ a t ] ucptt.com