使用 Visual Editor 将文本字符串外部化

如果您正在设计将被部署为在不同语言环境下使用的 Java 应用程序,则需要翻译用户能够看到的任何文本。

Java 允许您使用资源束来通过属性文件重定向字符串,而不是在 Java 源文件中翻译字符串并且必须为每种语言创建新的可执行文件。有关将字符串外部化的更多信息,请参阅将字符串外部化

Visual Editor for Java 支持显示外部化字符串。它们将会以正常方式显示出来,而实际值则存储在资源文件中。

但是,如果在将字符串外部化后在 Visual Editor 中更改组件的文本属性,则该文本属性将覆盖外部化效果,而不会更改资源文件。要反映对资源文件所作的更改,必须关闭并重新打开 Visual Editor。在选择要外部化的字符串时要小心一些。缺省情况下,将会外部化所有字符串,甚至会外部化未显示在 GUI 上的字符串,例如字体名。

在将字符串外部化之前,在源代码中以文字形式提供字符串。例如:

ivjJFrame.setTitle("Hello World");

在使用“外部化字符串”向导之后,将通过静态文件查找(它从资源束检索值)来检索该字符串。

ivjJFrame.setTitle(Messages.getString("Hello_World_1"));
//$NON-NLS-1$

setTitle 方法调用的参数字符串已外部化,但表示资源束键的字符串未外部化,这是因为它不是用户可视字符串。要指示此字符串不是用户可视字符串,以使“外部化字符串”向导不会尝试从资源束中检索此字符串,对带有 1 的语句追加注释 //$NON-NLS-1$,这指示它引用的是在该行中出现的第一个字符串。

(C) Copyright IBM Corporation 1999, 2006. All Rights Reserved.