📅  最后修改于: 2021-01-02 12:50:30             🧑  作者: Mango
介绍:
国际化技术的类型
步骤1:实施I18N:扩展模块XML文件中的语言环境值,以提及应用程序要支持的每个语言环境值,如下所示。
步骤2:为每个语言环境创建.properties文件:所有资源包都必须具有相同的基本名称,并且后缀必须不同,以指示语言环境。消息查找算法考虑消息的基本名称,当前语言环境和密钥。将所有.properties文件放在src包中。
AppConstants.properties适用于默认语言环境,即英语,具有如下所示的键/值对。
username: Username
password: Password
login: Login
AppConstants_fr.properties支持法语语言环境。键/值对如下。
username: Nom d'utilisateur
password: Mot de passe
login: connexion
步骤3:创建与属性文件相对应的接口:
public interface AppConstants extends Constants {
String username();
String password();
String login();
}
步骤4:设置入口点类
public void onModuleLoad() {
// Getting the values from resource bundle through interface methods
Label username=new Label(constants.username());
Label passsword=new Label(constants.password());
TextBox ubox=new TextBox();
PasswordTextBox pbox=new PasswordTextBox();
Button button = new Button(constants.login());
}
码:
public class LoginI18nDemo implements EntryPoint {
public LoginI18nDemo () {}
AppConstants constants=(AppConstants)GWT.create(AppConstants.class);
public void onModuleLoad() {
Label username=new Label(constants.username());
Label passsword=new Label(constants.password());
TextBox ubox=new TextBox();
PasswordTextBox pbox=new PasswordTextBox();
Button button = new Button(constants.login());
Grid g=new Grid(3,2);
g.setWidget(0,0,username);
g.setWidget(0,1,ubox);
g.setWidget(1, 0, passsword);
g.setWidget(1,1,pbox);
g.setWidget(2, 1, button);
HorizontalPanel links=new HorizontalPanel();
Anchor french=new Anchor("French",GWT.getHostPageBaseURL()+"?locale=fr");
Anchor hindi=new Anchor("Hindi",GWT.getHostPageBaseURL()+"?locale=hi");
links.add(french);
links.add(hindi);
links.setSpacing(5);
RootPanel.get().add(g);
RootPanel.get().add(links);
}
}
输出: