java多國語言設計

1.要先把對照的語言資源檔做好,然後放在專案中的\WEB-INF\classes目錄下
2.檔名的規則是根據 ResourceBundle.getBundle("Language")中的Language為開頭,底線後面是語言地區別,例如繁體中文的檔名即為Language_zh_TW.properties,如果是英文語言,檔名為Language_en.properties,記得存檔目錄為\WEB-INF\classes。
3. Locale currentLocale = Locale.getDefault();//取得地區別zh_TW
   ResourceBundle messages = ResourceBundle.getBundle("Language", currentLocale);//取得Language_zh_TW.properties資源檔

4.String hello = messages.getString("hello");//找到資源檔對應的文字

  System.out.println(hello);//SHOW出文字

資源檔文字為hello=哈哈~~~
SHOW出的結果==>????~~~
用NETBEANS開啟Language_zh_TW==>hello=«¢«¢~~~
那是因為java對語言資源檔處理是用UNICODE,所以需把檔案的中文字轉成Unicode編碼
所以如果用文字編輯器使用Big5編碼,那麼可以執行native2ascii程式:把big5編碼轉成Unicode編碼
native2ascii -encoding Big5 Language_zh_TW.txt Language_zh_TW.properties

PS:如果在命令列執行出錯,表示java的path未設定,可以到c:\PROGRAM FILES\JAVA\下找安裝JDK的版本目錄下有在BIN的目錄下可找到。

轉換過後如果用文字編輯器

參考來源:
http://openhome.cc/Gossip/Encoding/ResourceBundle.html

留言

這個網誌中的熱門文章

java 數字轉字串 字串轉數字

MS sqlServer資料庫移轉至MySQL-->利用MySQL WorkBench

sql server 15023 error [SQL SERVER問題: 使用者、組或角色 '*****' 在當前資料庫中已存在]