4.5.3.2. 创建和使用国际化的信息


此流程演示了如何创建和使用国际化的信息。

注意

本节不涵盖所有可选功能或对这些消息进行本地化的流程。

  1. 如果您还没有这样做,请将您的 Maven 设置配置为使用 JBoss EAP Maven 存储库。如需更多信息,请参阅使用 Maven 设置配置 JBoss EAP Maven 存储库
  2. 配置项目的 pom.xml 文件,以使用 JBoss Logging 工具。详情请查看 JBoss Logging Tools Maven 配置
  3. 为异常创建一个接口。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 方法更改。

      如需更多信息,请参阅《JBoss EAP 配置指南》中设置服务器的默认 区域

  4. 向每条消息的接口添加一个方法定义。请以描述性方式命名每个方法,使其表示的消息。每个方法都有以下要求:

    • 它必须返回类型为 String 的对象。
    • 它必须标有 @org.jboss.logging.annotations.Message 注释。
    • @org.jboss.logging.annotations.Message 的 value 属性必须设置为 default 消息。这是如果没有可用的翻译,则会使用的消息。

      @Message(value = "Hello world.")
      String helloworldString();
  5. 在应用程序中调用需要获取消息的接口方法:

    System.out.println(helloworldString());

该项目现在支持可本地化的国际化消息字符串。

注意

请参阅 JBoss EAP 附带的 logging-tools quickstart,以获取完整的工作示例。

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.