2011-10-20 6 views
0

私は自分のアプリケーションBlackberryを別の言語にしたいと思っています。つまり、私はデフォルト言語として英語を使用し、ユーザーが他の言語を選択すると、すべてのアイテムとすべてのアプリケーションが他の言語になります。私はこのコードを使用して、Local.rrcと.rrhファイルを同じパッケージに入れます。私は画面に何も表示されません。誰も私を助けることができますか?アプリケーションをブラックベリーmultilang(別の言語)に設定

package mypackage; 

import net.rim.device.api.ui.MenuItem; 
import net.rim.device.api.ui.UiApplication; 
import net.rim.device.api.ui.component.*; 
import net.rim.device.api.ui.container.*; 
import net.rim.device.api.i18n.*; 
public class Local extends UiApplication { 
    public static void main(String[] args) { 
    Local theApp = new Local(); 
    theApp.enterEventDispatcher(); 
    } 
    public Local() { 
     pushScreen(new LocalScreen()); 
    } 
    } 
    final class LocalScreen extends MainScreen implements LocalDemoResource { 
    private static ResourceBundle res = 
    ResourceBundle.getBundle(BUNDLE_ID, BUNDLE_NAME); 
    LabelField title; 
    RichTextField rtf; 
    public LocalScreen() { 
     super(); 
    title = new LabelField(res.getString(FIELD_TITLE),LabelField.ELLIPSIS| LabelField.USE_ALL_WIDTH); 
     setTitle(title); 
     rtf = new RichTextField(res.getString(MESSAGE)); 
     add(rtf); } 


    public void HelloWorldScreen() 
    { 
    LabelField title = new LabelField("HelloWorld Sample", 
      LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH); 
     setTitle(title); 
     add(new RichTextField("Hello World!")); 
    } 


    public boolean onClose() { 
     Dialog.alert(res.getString(GOODBYE)); 
     System.exit(0); 
     return true; 
     } 
    protected void makeMenu(Menu menu, int instance) { 
     menu.add(_english); 
     menu.add(_french); 
     menu.add(_spanish); 
     menu.add(_close); 
     } 
     private MenuItem _close = new MenuItem(res.getString(CLOSE), 110, 10) { 
     public void run() { 
      onClose(); 
     } 
     }; 
     private MenuItem _english = new MenuItem(res.getString(ENGLISH), 110, 10) 
     { 
     public void run() { 
     Locale.setDefault (Locale.get(Locale.LOCALE_en, null)); 
      refresh(); 
     } 
     }; 
     private MenuItem _french = new MenuItem(res.getString(FRENCH), 110, 10) { 
     public void run() { 
     Locale.setDefault (Locale.get(Locale.LOCALE_fr, null)); 
      refresh(); 
      } 
     }; 
     private MenuItem _spanish = new MenuItem(res.getString(SPANISH), 110, 10) 
     { 
     public void run() { 
     Locale.setDefault (Locale.get(Locale.LOCALE_es, null)); 
      refresh(); 
     } 
     }; 
     private void refresh() { 
      title.setText(res.getString(FIELD_TITLE)); 
      deleteAll(); 
      rtf = new RichTextField(res.getString(MESSAGE)); 
      add(rtf); 
      _english.setText(res.getString(ENGLISH)); 
      _french.setText(res.getString(FRENCH)); 
      _spanish.setText(res.getString(SPANISH)); 
      _close.setText(res.getString(CLOSE)); 
      } 
    } 
+0

は、ここでの問題は何ですか?ローカルリソースは空の値を返しますか?または何も画面に追加されませんか? –

+0

画面に何も追加されていません白い画面が表示されます – mobileDeveloper

+0

これを実現できますか?もしそうなら、それを共有してください。 –

答えて

1

例のインポートがあります--->輸入ブラックベリーサンプル----> LocalizationDemoアプリケーションに多言語を使用する方法について説明ブラックベリー

関連する問題