我可以在uibinder中使用LocalizedResource.properties。讓我說我有在Java文件中編程創建的小部件。如何從LocalizedResource.properties中讀取密鑰,具體取決於用戶選擇的語言「en,fr..etc」?以編程方式從LocalizedResource.properties讀取密鑰
1
A
回答
1
很難說清楚一些事情。
如果由「Internationalization - UiBinder」所以我不明白你爲什麼要在密鑰來讀取描述爲您生成LocalizedResource.properties它
如果消息或常量接口,這樣做的.properties你可以通過http://*.html?locale = fr_CA閱讀* fr_CA.properties,所以你想要的任何語言。
有用的鏈路是Internationalizing GWT: Creating the translation for each language supported
或嘗試@UiTemplate到不同語言的製備tamplates之間切換。要找出當前的語言環境,您可以使用
LocaleInfo.getLocaleName()
。
0
我不知道GWT和UiBinder的東西,但在「標準版」的Java,您將創建所選語言(區域)的ResourceBundle
,然後用其getString
方法。
Locale loc = ...;
String key = ...;
ResourceBundle bundle =
ResourceBundle.getBundle("LocalizedResource", loc);
String value = bundle.getString(key);
然後,您可以使用此字符串標記您的小部件。
請試試這個,並在GWT中報告成功。
2
@保羅Ebermann
此方法不適用於GWT工作,因爲GWT不能像Locale
和 ResourceBUndle
給JavaScript翻譯Java類。
我只是試一試。
Locale loc = new Locale(LocaleInfo.getCurrentLocale().getLocaleName());
String key = "AnotherWord";
ResourceBundle bundle = ResourceBundle.getBundle("msgs", loc);
GWT編譯失敗,
[ERROR] Errors in 'file:/K:/programming/eclipse-workspace/polyglotte/src/com/mw/uibinder/client/Polyglotte.java'
[ERROR] Line 64: No source code is available for type java.util.Locale; did you forget to inherit a required module?
[ERROR] Line 67: No source code is available for type java.util.ResourceBundle; did you forget to inherit a required module?
可能是,如果我嘗試喂GWT編譯器與java.util中它會工作。*的源代碼。但我認爲這不是個好主意。爲什麼Google員工不這樣做?
相關問題
- 1. Java以編程方式從鑰匙/證書讀取信息
- 2. 以編程方式更改java密鑰庫的密碼
- 3. Java:從編碼密鑰獲取密鑰
- 4. 如何以編程方式從庫文件獲取產品密鑰標記?
- 5. 以編程方式讀取本地密碼策略
- 6. 以編程方式讀取DMQ
- 7. 以編程方式讀取網頁
- 8. 以編程方式讀取Manifest文件?
- 9. 以編程方式讀取Internet Explorer cookies
- 10. 以編程方式讀取.resx文件
- 11. 如何以編程方式取消從InputStream讀取?
- 12. 讀取stdclassObject以獲取密鑰和值
- 13. 在網站上以編程方式觸發密鑰
- 14. 以編程方式爲jarsigner創建密鑰庫
- 15. Selenium webdriver:以編程方式發送密鑰
- 16. 以編程方式將現有SSH密鑰導入到AWS EC2
- 17. 以編程方式將密鑰發送到輸入字段?
- 18. 如何以編程方式創建信任/密鑰庫?
- 19. 以編程方式檢索唯一開發人員密鑰?
- 20. 如何以編程方式設置Redmine WS API密鑰?
- 21. 以編程方式將.cer證書導入密鑰存儲區
- 22. 如何以編程方式存儲Facebook AppID密鑰
- 23. 以編程方式設置桉樹節點控制器密鑰
- 24. 如何在ubuntu上以編程方式共享ssh密鑰?
- 25. 無法以編程方式獲取Azure存儲帳戶的密鑰
- 26. 如何以編程方式使用Java來獲取Azure存儲帳戶密鑰?
- 27. Java:以編程方式從Trust Store讀取SSL證書信息
- 28. 以編程方式從Sharepoint列表中讀取ListItems
- 29. 以編程方式從Exchange Sever 2003讀取電子郵件
- 30. 以編程方式從Google羣組中讀取郵件
因爲我沒有提到,如果編程方式我創建小部件,我需要直接在代碼而不是uibinder.xml中獲取.properties – cometta 2011-02-06 13:51:12