close
在 Microsoft 的 Blog 裡寫JAVA的東西
有種攻城略地的快感
小人物只能這樣
用這種小小的動作去滿足自己
 
其實我不反微軟
還希望可以多學學.NET的東西
只是
老大哥它太封閉了
太過商業導向
窮人我怎麼也跟不上他的腳步的 >"<
 
廢話不多說,否則主題都不見了
 
今天是要寫下自己工作上的技術文件的
 
=============JAVA的多國語言化=============
前言:
網路上的文章,總是少介紹一些小步驟(卻很重要的步驟)
害我要摸好久才找到正確的方法
 
程式寫出來後
運氣好的,可能不只一國的人會使用
所以有時
我們必需將訊息檔、介面文字轉換成各國人都能看懂的文字
最好是使用當地熟悉的文字
既然如此
就必須將這些參數全部抽出來
做成可替換的檔案(資源檔...其實就是一種Properties檔,key=value)
各國使用者自由決定要使用哪種文字介面
在JAVA中
我們使用 java.util.ResourceBundle 來達到這個功能
 
一、
使用前必須指定其地區及文字
 
Locale locale = new Locale("zh","CN");//繁體中文用 "TW" 替換掉 "CN"
ResourceBundle rb = new ResourceBundle("Menu",locale);
/**
 *"Menu",可以是任何字串,它就是資源檔名,在此預設為Menu
 *做成資源檔時,檔名預設使用XXX_zh_CN.properties這類的名稱
**/
 
二、
抽出的繁體資源檔,假定檔名為Message_zh_TW.properties
以文字編輯器存檔,編碼可以使用繁體系統文字編輯器中預設的ANSI
 
JAVA的String and char使用unicode為內部編碼
而ResourceBundle讀取資源檔,是使用Unicode Latin-1的編碼
所以,我們必需使用native2Ascii這個工具來將此檔重新編碼
 
native2Ascii  Message_zh_TW.properties  Menu_zh_TW.properties
 
這個Menu_zh_TW.properties就是可以讓ResourceBundle讀取的資源檔
 
三、
簡體資源檔必需多做幾個動作
將繁體資源檔使用Word繁轉簡的功能轉成簡體文字
「另存新檔」使用編碼方式GB2312為檔名 Message_zh_CN.properties
 
使用native2Ascii
native2Ascii -encoding GB2312 Message_zh_CN.properties Menu_zh_CN.properties
/**-encoding GB2312是指Message_zh_CN.properties這個檔為GB2312的編碼方式**/ 
這個Menu_zh_CN.properties就是可以讓ResourceBundle讀取的資源檔
 
 
四、接下來就是用ResourceBundle去讀這二個資源檔囉 ^^
 
ps  靠~~~假日偶而摸的時間不算,竟用掉三天 >"<#
arrow
arrow
    全站熱搜

    Tony Lin 發表在 痞客邦 留言(1) 人氣()