1

我使用 LWUIT 资源编辑器在项目的 res 文件中创建了一个本地化表。但事实证明,我不知道如何切换不同的本地化。如何为我的程序设置全球语言?

4

2 回答 2

2

此代码可以将两个不同的本地化合并为一个。(默认保存在捆绑中并与新的本地化合并 mergeL10N(这些对象是 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();
            }
        }
于 2012-11-14T07:49:59.510 回答
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");
于 2012-11-09T19:52:22.043 回答