创建格式化程序实例
执行此任务以设置应用程序组件中字符串的本地化值。
关于此任务
过程
- 如果应用程序需要,那么写您自己的格式化程序类。 有关实现的更多信息,请参阅 LocalizableTextFormatter 类。
- 在应用程序代码中,为格式化程序类调用适当的构造函数,并设置必需的本地化值。 一些本地化值,如资源束名、键和格式化应用程序,必须通过构造函数或在构造后马上设置。 其他本地化值只可在需要时设置。有关 API 的更多信息,请参阅相关参考。
示例
下列代码使用缺省构造函数创建 LocalizableTextFormatter 实例,然后设置必需的本地化值:
import com.ibm.websphere.i18n.localizabletext.LocalizableException;
import com.ibm.websphere.i18n.localizabletext.LocalizableTextFormatter;
import java.util.Locale;
public void drawAccountNumberGUI(String accountType) {
...
LocalizableTextFormatter ltf = new LocalizableTextFormatter();
ltf.setPatternKey("accountNumber");
ltf.setResourceBundleName("BankingSample.BankingResources");
ltf.setApplicationName("BankingSample");
...
}
粗体字表示的代码行显示 Java™ 平台的缺省行为。缺省情况下,Java 平台首先查找称为 BankingResources 的 java.util.ResourceBundle 的子类。如果找不到,那么 Java 平台会查找有效的同名属性文件。 在此连续示例中,找到了属性文件。
请求本地化消息的应用程序可以指定用于进行消息格式化的语言环境和时区,或者应用程序使用为 Java 虚拟机设置的缺省值。
例如,GUI 可允许用户选择语言,并以此 显示界面。必须一开始就设置缺省值,以便在应用程序第一次启动时正确创建 GUI,但是用户随后可以更改 GUI 的语言环境以满足自身需要。下列代码显示如何根据菜单项的选择来更改应用程序所使用的语言环境:
import java.awt.event.ActionListener;
import java.awt.event.ActionEvent;
...
import java.util.Locale;
public void actionPerformed(ActionEvent event) {
String action = event.getActionCommand();
...
if (action.equals("en_us")) {
applicationLocale = new Locale("en", "US");
...
}
if (action.equals("de_de")) {
applicationLocale = new Locale("de", "DE");
...
}
if (action.equals("fr_fr")) {
applicationLocale = new Locale("fr", "FR");
...
}
...
}
有关更多信息,请参阅“生成本地化文本”。