Java 如何用LWUIT解决定位问题
我用一个文本字段和命令制作了一个简单的表单,我想要两种语言:波斯语和英语,这样我就可以在运行时根据需要使用它们 我使用ResourceEditor进行了一些翻译,并将它们保存在名称English.res和Farsi.res下,然后将它们添加到我的资源中 现在我在调用本地化方法时遇到了一个问题,因为我不知道如何做到这一点。我将在这里发布我的代码,请更正 这是我的代码:Java 如何用LWUIT解决定位问题,java,java-me,localization,internationalization,lwuit,Java,Java Me,Localization,Internationalization,Lwuit,我用一个文本字段和命令制作了一个简单的表单,我想要两种语言:波斯语和英语,这样我就可以在运行时根据需要使用它们 我使用ResourceEditor进行了一些翻译,并将它们保存在名称English.res和Farsi.res下,然后将它们添加到我的资源中 现在我在调用本地化方法时遇到了一个问题,因为我不知道如何做到这一点。我将在这里发布我的代码,请更正 这是我的代码: public class Midlet extends javax.microedition.midlet.MIDlet {
public class Midlet extends javax.microedition.midlet.MIDlet {
private Hashtable locale;
public void startApp() {
Display.init(this);
try {
Resources res = Resources.open("/Lang.res");
//Lang.res is resource file where these languages are stored
// using resoureEditor.
locale = res.getL10N("English.res", "en");
/* See text below. */
} catch (IOException ex) {
ex.printStackTrace();
}
Form main = new Form((String) locale.get("FORM"));
main.setLayout(new BoxLayout(BoxLayout.Y_AXIS));
Label label = new Label((String) locale.get("NAME"));
TextField tf1 = new TextField("");
Button button = new Button((String) locale.get("OK"));
main.addComponent(label);
main.addComponent(tf1);
main.addComponent(button);
main.addCommand(new Command((String) locale.get("BACK")) {
public void actionPerformed(ActionEvent evt) {}
});
main.show();
}
public void pauseApp() {}
public void destroyApp(boolean unconditional) {}
}
这是我的英语
try块中的这两行是否正确
Resources res = Resources.open("/Lang.res");
locale = res.getL10N("English.res", "en");
Lang.res是使用ResourceEditor存储这些语言的资源文件
我还需要做什么
我在第一行遇到一个例外。en是所需语言区域设置的名称,与res文件中的value列匹配
我仍然不确定它是否正确,但是,第一个论点是什么?语言环境?我建议使用资源编辑器来创建L10N资源,它可以与gui同步,使这项任务更容易完成,并且易于在代码中检索
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");
您可以接受自己的答案@aida
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");