有一个System 属性,您可以在其中读取手机上选择的当前语言。
String locale = System.getProperty("microedition.locale");
前两个字母表示语言,后两个字母表示国家。例如,"en-US" 代表美国的英语,而 "pt-BR" 代表巴西的葡萄牙语。
最好根据当前语言加载所有 GUI Strings强>。
假设您将所有这些字符串存储在一个数组中并像这样初始化它:
String messages [] = null;
if (locale.startsWith("pt")) {
messages = new String [] {
"Novo Jogo",
"Configurações",
"Ajuda"
};
} else { // default language is English
messages = new String [] {
"New Game",
"Settings",
"Help"
};
}
然后定义一些常量来标识每个索引。
static final int MSG_NEW_GAME = 0;
static final int MSG_SETTINGS = 1;
static final int MSG_HELP = 2;
并像这样使用它们(其中 menuList 是 List 的一个实例):
menuList.append(messages[MSG_NEW_GAME], null);
menuList.append(messages[MSG_SETTINGS], null);
menuList.append(messages[MSG_HELPS], null);
这样,您的应用程序就可以支持两种语言。您基于区域设置发起消息的案例越多,对您的最终用户就越好。
如http://smallandadaptive.blogspot.com.br/2008/12/internationalization-or-just-i18n-count.html所见