package com.joshua.code.sample.i18n.bundle;
import java.util.Locale;
import java.util.ResourceBundle;
public class I18NUtils {
private static final String ENGLISH_LANGUAGE = Locale.ENGLISH.getLanguage();
private static ResourceBundle RES_BUNDLE;
public static Locale LOCALE;
static {
Locale defLocale = Locale.getDefault();
if (defLocale.getLanguage().equals(ENGLISH_LANGUAGE)) {
Locale.setDefault(Locale.ENGLISH);
}
RES_BUNDLE = ResourceBundle.getBundle(
"com.joshua.code.sample.i18n.bundle.resources.messages",
defLocale);
}
}
public static void setLocale(Locale loc) {
LOCALE = loc;
RES_BUNDLE = ResourceBundle.getBundle(
"com.joshua.code.sample.i18n.bundle.resources.messages", loc);
}
public static String getResValue(String key) {
if (key == null) return null;
String resKey = key.replace(' ', '_');
resKey = resKey.toLowerCase(java.util.Locale.ENGLISH);
if (RES_BUNDLE.containsKey(resKey)) {
return RES_BUNDLE.getString(resKey);
} else {
return null;
}
}
public static void main(String[] args) {
// I18NUtils.setLocale(Locale.GERMAN);
// I18NUtils.setLocale(Locale.FRENCH);
// I18NUtils.setLocale(Locale.JAPAN);
I18NUtils.setLocale(Locale.CHINA);
// I18NUtils.setLocale(Locale.TAIWAN);
System.out.println(I18NUtils.getResValue("add"));
}
}
所有工程相关的文件请从附件下载。