JAVA中有個ResourceBundle類可以實現簡單的多語言國際化。
主要使用到兩個類java.util.Locale;
和java.util.ResourceBundle;
下面寫個簡單的例子
1.新建幾個多語言的properties文件
文件名隨便起,比如language_zh.properties,后面的zh和Locale.CHINESE的值相同即可,這里面放中文language_ja.properties,后面的ja和Locale.JAPANESE的值相同,其他語言也是類似這樣的方法,先看看Local里的命名是什么樣的,然后用相同的后綴就可自動識別到這個properties文件。
2.新建一個工具類LanguageUtil。
聲明一個根據key取value的靜態方法
package cn.ways.util;
import java.util.Locale;
import java.util.ResourceBundle;
public class LanguageUtil {
public static String getValueByKey(String str, String languageType) {
ResourceBundle resourceBundle = null;
if("zh".equals(languageType)) {
resourceBundle = ResourceBundle.getBundle("language",Locale.CHINESE);
}
if("ja".equals(languageType)) {
resourceBundle = ResourceBundle.getBundle("language",Locale.JAPANESE);
}
return resourceBundle.getString(str);
}
}
3.利用工具類傳參取值
上面的靜態方法就可以拿到多語言環境下的相同命名,比如在language_zh.properties寫入allModels=\u5168\u8F66\u578B
(全車型),language_ja.properties寫入allModels=\u5168\u8ECA\u7A2E
(全車種),那么利用LanguageUtil.getValueByKey("allModels","ja");
就能拿到日版的文字,LanguageUtil.getValueByKey("allModels","zh");
就能拿到中文的文字,從而實現簡單的國際化。