2017-10-26 2 views
2

私はtheme.resに新しいresourcebundleを作成しました。私は2つの言語(en、da)を持っています。 私はこのコードを書いている:codename1ローカライゼーションが動作しません

public void init(Object context) { 
    theme = UIManager.initFirstTheme("/theme"); 

    String lang = L10NManager.getInstance().getLanguage(); 
    try { 
     if (lang != null) { 
      lang = lang.toLowerCase(); 
      switch (lang) { 
       case "da": 
        Map<String, String> localMap = theme.getL10N("local", "da"); 
        UIManager.createInstance().setBundle(localMap); 
        System.out.println("Entries: " + localMap.size()); 
        break; 
      } 
     } 
    } catch (Exception e) { 
     // TODO Auto-generated catch block 
     e.printStackTrace(); 
    } 
} 

私はそれがバンドルを取得し、それが必要としてlocalMapは「ダ」landuage項目を保持んし、コードを実行すると。 しかし何も起こりません。 GUIテキストは単なるキーです。 私はここに恋しいものがありますか?

+0

シャイの答えが正しいです。また、System.out.println( "...")の代わりにLog.p( "...")を使用することをお勧めします。 –

答えて

2

これは間違っている:あなたが使用している必要があります

UIManager.createInstance().setBundle(localMap); 

UIManager.getInstance().setBundle(localMap);