支持自适应表单本地化的新语言环境

关于区域设置词典

自适应表单的本地化依赖于两种类型的区域设置词典:

特定于表单的字 典包含自适应表单中使用的字符串。例如,标签、字段名称、错误消息、帮助说明等。 它作为一组XLIFF文件管理,适用于每个区域设置,您可以在https://<host>:<port>/libs/cq/i18n/translator.html上访问它。

全局 字典AEM客户端库中有两个全局字典,管理为JSON对象。这些词典包含默认错误消息、月名、货币符号、日期和时间模式等。 您可以在CRXDe Lite中找到这些字典,地址为/libs/fd/xfaforms/clientlibs/I18N。 这些位置为每个区域设置包含单独的文件夹。 由于全局字典通常不经常更新,因此为每个区域设置保留单独的JavaScript文件使浏览器能够在同一服务器上访问不同的自适应表单时缓存它们并减少网络带宽使用。

自适应表单的本地化如何工作

呈现自适应表单时,它通过按指定顺序查看以下参数来标识所请求的区域设置:

  • 请求参数afAcceptLang

    要覆盖用户的浏览器区域设置,可以传递afAcceptLang请求参数以强制使用区域设置。 例如,以下URL将强制在日语区域设置中呈现表单:

    https://[*server*]:[*port*]/<*contextPath*>/<*formFolder*>/<*formName*>.html?wcmmode=disabled&afAcceptLang=ja

  • 为用户设置的浏览器区域设置,在请求中使用Accept-Language头指定。

  • AEM中指定用户的语言设置。

识别区域设置后,自适应表单会选取特定于表单的词典。 如果找不到所请求区域设置的表单特定词典,则使用英语(en)词典。

如果所请求区域设置的客户端库不存在,则它检查客户端库是否存在区域设置中的语言代码。 例如,如果请求的区域设置为en_ZA(南非英语),且en_ZA的客户端库不存在,则自适应表单将使用en(英语)语言的客户端库(如果存在)。 但是,如果这些表单都不存在,则自适应表单将字典用于en区域设置。

添加对不支持的区域设置的本地化支持

AEM Forms目前支持本地化适应表单内容,语言版本有英语(en)、西班牙语(es)、法语(fr)、意大利语(it)、德语(de)、日语(ja)、巴西葡萄牙语(pt-BR、中文-(zh-CN)、中国台湾(zh-TW)和韩语(ko-KR)。

要在自适应表单运行时添加对新区域设置的支持,请执行以下操作:

  1. 向GuideLocalizationService服务添加区域设置

  2. 为区域设置添加XFA客户端库

  3. 为区域设置添加自适应表单客户端库

  4. 为词典添加区域设置支持

  5. 重新启动服务器

向指南本地化服务添加区域设置

  1. 转到 https://[server]:[port]/system/console/configMgr.
  2. 单击以编辑​指南本地化服务​组件。
  3. 将要添加的区域设置添加到支持的区域设置列表。

指南本地化服务

为区域设置添加XFA客户端库

etc/<folderHierarchy>下创建类型为cq:ClientLibraryFolder、类别为xfaforms.I18N.<locale>的节点,并将以下文件添加到客户端库:

  • I18N. js xfalib.locale.Strings 定义 <locale> 中的定义 /etc/clientlibs/fd/xfaforms/I18N/ja/I18N

  • js. txt包含以下内容:

/libs/fd/xfaforms/clientlibs/I18N/Namespace.js
I18N.js
/etc/clientlibs/fd/xfaforms/I18N/LogMessages.js

为区域设置添加自适应表单客户端库

etc/<folderHierarchy>下创建类型为cq:ClientLibraryFolder的节点,类别为guides.I18N.<locale>,依赖项为xfaforms.3rdpartyxfaforms.I18N.<locale>guide.common。 "

将以下文件添加到客户端库:

  • i18n. js guidelib.i18n定义,具有“calendarSymbols”、 datePatterns、、 timePatternsdateTimeSymbols、按照XFA规范(在区域设置中 numberPatterns numberSymbols currencySymbols typefaces <locale> 描述)的模式、、。您还可以在/etc/clientlibs/fd/af/I18N/fr/javascript/i18n.js中查看如何为其他支持的语言环境定义它。

  • LogMessages. js guidelib.i18n.stringsguidelib.i18n.LogMessages 义和 <locale> 在中定义 /etc/clientlibs/fd/af/I18N/fr/javascript/LogMessages.js

  • js. txt包含以下内容:

i18n.js
LogMessages.js

为字典添加区域设置支持

仅当您添加的<locale>不在endeesfritpt-brzh-cnzh-twjako-kr之间时,才执行此步骤。

  1. etc下创建一个nt:unstructured节点languages(如果尚未存在)。

  2. 向节点添加多值字符串属性languages(如果尚不存在)。

  3. 添加<locale>默认区域设置值deesfritpt-brzh-cnzh-twjako-kr(如果尚不存在)。

  4. <locale>添加到/etc/languageslanguages属性的值中。

<locale>将显示在https://[server]:[port]/libs/cq/i18n/translator.html

重新启动服务器

重新启动AEM服务器,使添加的区域设置生效。

添加西班牙语支持的示例库

用于添加对西班牙语支持的示例客户端库

获取文件

在此页面上