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

关于区域设置词典

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

特定于表单的字 典包含自适应表单中使用的字符串。例如,标签、字段名称、错误消息、帮助说明等。 它作为一组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.jsxfalib.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. jsdefining guidelib.i18n,具有“calendarSymbols” datePatterns、、、 timePatternsdateTimeSymbols、按照区域设置中的XFA规 numberPatterns范说 numberSymbols currencySymbols typefaces <locale> 🔗明的为的图案。您还可以查看如何为/etc/clientlibs/fd/af/I18N/fr/javascript/i18n.js中的其他支持区域设置定义它。

  • LogMessages.jsguidelib.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服务器,使添加的区域设置生效。

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

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

获取文件

On this page

Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Summit Banner

A virtual event April 27-28.

Expand your skills and get inspired.

Register for free
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now