I18n 與 Res
I18n 物件可透過資源檔案的 baseName 與 locale 參數取得到與之相對應的 Res 對象,Res 物件提供了 API 用來取得國際化資料。
以下給出特定使用步驟:
- l建立i18n_en_US.properties、 i18n_zh_CN.properties 資源文件, i18n 即為資源檔案的baseName,可以是任何名稱,在此範例中使用”i18n」以 baseName
- i18n_en_US.properties 檔案新增下列內容:msg=Hello {0}, today is{1}.
- i18n_zh_CN.properties 檔案中新增下列內容:msg=你好{ 0}, 今天是{1}.
- 在 YourJFinalConfig 中使用 me.setI18nDefaultBaseName("i18n")設定資源檔案預設 baseName
#特別注意// 直接取得資料
String msgZh = resZh.get("msg");
// 取得資料並使用參數格式化,java 國際化規格要求 properties 檔案的編輯需要使用專用的編輯器,否則會出亂碼,常用的有 Properties Editor,這裡可以下載:http://www. oschina.net/p/properties+editor
以下是基於上述步驟以後的程式碼範例:
// 透過locale參數en_US得到對應的Res物件
Res resEn = I18n.use("en_US");
// 直接取得資料
String msgEn = resEn.get("msg");
// 取得資料並取得資料並取得資料並使用參數格式化
String msgEnFormat = resEn.format("msg", "james", new Date());
// 透過locale參數zh_CN得到對應的Res物件
Res resZh = I18n.use("zh_CN");以下是基於上述步驟以後的程式碼範例:
// 透過locale參數en_US得到對應的Res物件
Res resEn = I18n.use("en_US");
// 直接取得資料
String msgEn = resEn.get("msg");
// 取得資料並取得資料並取得資料並使用參數格式化
String msgEnFormat = resEn.format("msg", "james", new Date());
// 透過locale參數zh_CN得到對應的Res物件
String msgZh = resZh.get("msg");
String msgZhFormatat = resZh.format("msg", "詹波", new Date());