4.5.3.2. 创建和使用国际化的信息
此流程演示了如何创建和使用国际化的信息。
本节不涵盖所有可选功能或对这些消息进行本地化的流程。
- 如果您还没有这样做,请将您的 Maven 设置配置为使用 JBoss EAP Maven 存储库。如需更多信息,请参阅使用 Maven 设置配置 JBoss EAP Maven 存储库。
-
配置项目的
pom.xml
文件,以使用 JBoss Logging 工具。详情请查看 JBoss Logging Tools Maven 配置。 为异常创建一个接口。JBoss 日志工具在接口中定义国际化的消息。为每个接口命名其包含的消息的描述性。接口有以下要求:
-
必须将其声明为
公开
。 -
它必须标有
@org.jboss.logging.annotations.MessageBundle
。 接口必须定义与接口相同的消息捆绑包的字段。
示例:创建一个
消息捆绑包
接口@MessageBundle(projectCode="") public interface GreetingMessageBundle { GreetingMessageBundle MESSAGES = Messages.getBundle(GreetingMessageBundle.class); }
注意调用
Messages.getBundle(GreetingMessagesBundle.class)
等同于调用Messages.getBundle(GreetingMessagesBundle.class, Locale.getDefault())
。locale
.getDefault()
获取 Java 虚拟机此实例的默认区域设置的当前值。Java 虚拟机会根据主机环境设置启动过程中的默认区域设置。如果未明确指定区域设置,它将被许多区域敏感方法使用。它可以通过setDefault
方法更改。
-
必须将其声明为
向每条消息的接口添加一个方法定义。请以描述性方式命名每个方法,使其表示的消息。每个方法都有以下要求:
-
它必须返回类型为
String
的对象。 -
它必须标有
@org.jboss.logging.annotations.Message
注释。 @org.jboss.logging.annotations.Message
的 value 属性必须设置为 default 消息。这是如果没有可用的翻译,则会使用的消息。@Message(value = "Hello world.") String helloworldString();
-
它必须返回类型为
在应用程序中调用需要获取消息的接口方法:
System.out.println(helloworldString());
该项目现在支持可本地化的国际化消息字符串。
请参阅 JBoss EAP 附带的 logging-tools
quickstart,以获取完整的工作示例。