GWT 国际化

2025年3月17日 | 阅读 3 分钟

引言

  • 这是一种以这种方式设计应用程序的技术,使其能够与不同地区或国家/地区的语言兼容
  • 国际化需要将要国际化的用法数据分离到属性文件中。
  • 它类似于 Java 编程语言,其中国际化是通过资源束实现的。 为需要支持的每个语言环境创建 .properties 文件。

国际化技术类型

  1. 静态字符串国际化
  2. 动态字符串国际化
  3. Localizable 接口

静态字符串国际化

  • 这是一个翻译常量和参数化字符串的好技术。
  • 它是最简单的实现技术,因为它需要的开销非常少。
  • 它使用标准的 Java 属性文件来存储翻译后的字符串和参数化消息。

动态字符串国际化

  • 动态字符串国际化比静态字符串国际化慢,但更灵活。
  • 使用此技术的应用程序看起来 模块主页中的本地化字符串。 由于这项技术,当您添加新的语言环境时,它们不需要重新编译。

Localizable 接口

  • 这是实现接口的最强大的技术。
  • 这是一种高级国际化技术,很少使用。
  • 我们使用高级级别来实现 Localizable 接口以进行简单的字符串替换。 它还创建自定义类型的本地化版本。

GWT 国际化的实现

步骤 1:实现 I18N: 通过在 Module 的 XML 文件中扩展语言环境值,提及应用程序要支持的每个语言环境值,如下所示。

步骤 2:为每个语言环境创建 .properties 文件: 所有资源束必须具有相同的基本名称,并且应该在其后缀中有所不同,该后缀指示语言环境。 消息查找算法考虑基本名称、当前语言环境和消息的键。 将所有 .properties 文件放在 src 包中。

AppConstants.properties 用于默认语言环境,即英语,其键/值对如下所示。

AppConstants_fr.properties 支持法语语言环境。 键/值对如下所示。

步骤 3:创建与属性文件对应的接口

  • 创建一个扩展 GWT 的 Constants 接口的接口。
  • 可以通过将资源束绑定到此接口来使用它们。
  • 属性文件的基本名称和接口名称必须相同。
  • 接口中的每个方法对应于属性文件中的键。

步骤 4:设置入口点类

代码

输出

GWT Internationalization 1
GWT Internationalization 2
GWT Internationalization 3