Show Menu
主题×

国际化组件

将组件和对话框国际化,以便其UI字符串可以以不同语言显示。 为国际化而设计的组件使UI字符串可以外部化、翻译,然后导入到存储库。 运行时,用户的语言首选项或页面区域设置决定在UI中显示哪种语言。
使用以下过程将组件国际化并提供不同语言的UI:
  1. 使用国际化字符串的代码实现组件。 您的代码标识要翻译的字符串,并选择要在运行时显示的语言。
  2. 创建词典 ,并 添加要翻译 的英语字符串。
  3. 将词典 导出为XLIFF格式,翻译字符串,然 后将 XLIFF文件导入AEM。 或者,您也可以 手动将翻译添加 到词典中。
此处介绍的用于国际化组件的方法用于翻译静态字符串。 当组件字符串需要更改时,您应使用常规的翻译工作流程。 例如,当作者可以使用组件的“编辑”对话框中的属性编辑UI字符串时,您不应使用语言词典来国际化该字符串。

语言词典

AEM国际化框架使用存储库中的词典存储英语字符串及其其他语言的翻译。 框架使用英语作为默认语言。 字符串使用其英文版本进行标识。 通常,国际化框架使用字母数字ID作为UI字符串。 使用英文版的字符串作为ID具有以下几个优点:
  • 代码易于阅读。
  • 默认语言始终可用。
本地化字符串可以存储在存储库中的多个词典中。 AEM系统词典位于节点下 /libs 方。 您可以在节点下为组件创建字 /apps 典。 AEM国际化框架组合了字典,并使它们在Sling中作为一个对象 ResourceBundle 可用。 呈现组件后,它们将从资源包中检索转换的字符串。 组合词典还以JSON格式部署在Web服务器上,以向网页中的Javascript代码提供译文字符串。
请勿修改位于节点下方的AEM系统字 /libs 典。

系统词典中的字符串叠加

节点下的字典中的 /apps 字符串会覆盖节点下的字典中的重复字 /libs 符串。 如果您的组件使用AEM系统词典中包含的字符串,请复制您自己的词典中的字符串。 所有组件都将使用词典中的字符串。
请注意,当字符串在字典中重复时,您无法预测使用哪个翻译,而字典中的字符串都位于节点 /apps 下。