我使用LWUIT资源编辑器在项目的res文件中创建了一个本地化表。但事实证明,我不知道如何切换不同的本地化。如何为我的程序设置全局语言?
答案 0 :(得分:2)
此代码可以将两个不同的本地化合并为一个。(默认保存在bundle中并与新的本地化合并L10N合并(这些对象是hashTable))
if (themeName != null && !themeName.equals(this.currThemeName)) {
try {
if (themeName.equals(DEFAULT_THEME_NAME)) {
defaultTheme = Resources.open(DEFAULT_THEME_NAME);
bundle = null;
} else {
defaultTheme = Resources.open(DEFAULT_THEME_NAME);
bundle = Resources.open(themeName);
}
mergeL10N = defaultTheme.getL10N("Localization (L10N) 1", "iw");
if (bundle != null) {
mergeHashtable(mergeL10N, bundle.getL10N("Localization (L10N) 1", "iw"));
}
UIManager.getInstance().setResourceBundle(mergeL10N);
}
} catch (Exception e) {
e.printStackTrace();
}
}
答案 1 :(得分:1)
您必须打开您的资源并使用您想要使用的表格,在这里您可以找到一个示例
try {
Constants.res = Resources.open("/Lang.res");
} catch (Exception e){
System.err.println("can't load resource file:" + e);
}
Hashtable h = Constants.res.getL10N("English.res","en");