自适应表单的本地化依赖于两种类型的区域设置词典:
特定于表单的字 典包含自适应表单中使用的字符串。例如,标签、字段名称、错误消息、帮助说明等。 它作为一组XLIFF文件管理,每个区域设置都有此类文件,您可以在https://<host>:<port>/libs/cq/i18n/translator.html
访问它。
全局 字典在AEM客户端库中有两个全局字典,管理为JSON对象。这些词典包含默认错误消息、月名、货币符号、日期和时间模式等。 您可以在CRXDe Lite中找到这些词典,网址为:/libs/fd/xfaforms/clientlibs/I18N。 这些位置为每个区域设置包含单独的文件夹。 由于全局字典通常不经常更新,因此为每个区域设置保留单独的JavaScript文件使浏览器能够缓存它们并减少在同一服务器上访问不同自适应表单时的网络带宽使用。
有两种方法可标识自适应表单的区域设置。 呈现自适应表单时,它通过以下方式标识所请求的区域设置:
查看自适应表单URL中的[local]
选择器。 URL的格式为http://host:port/content/forms/af/[afName].[locale].html?wcmmode=disabled
。 使用[local]
选择器可缓存自适应表单。
按指定顺序查看以下参数:
请求参数afAcceptLang
要覆盖用户的浏览器区域设置,您可以
afAcceptLang
请求参数以强制使用区域设置。例如,以下URL将强制以日语区域设置呈现表单:
https://'[server]:[port]'/<contextPath>/<formFolder>/<formName>.html?wcmmode=disabled&afAcceptLang=ja
为用户设置的浏览器区域设置,在请求中使用Accept-Language
头指定。
在AEM中指定的用户的语言设置。
默认情况下,浏览器区域设置处于启用状态。 要更改浏览器区域设置,
http://[server]:[port]/system/console/configMgr
识别区域设置后,自适应表单会选取特定于表单的词典。 如果找不到所请求区域设置的特定于表单的词典,则它使用创作自适应表单的语言的词典。
如果没有区域设置信息,则以表单的原始语言传递自适应表单。 原始语言是开发自适应表单时使用的语言。
如果所请求区域设置的客户端库不存在,则它检查客户端库是否存在区域设置中的语言代码。 例如,如果请求的区域设置为en_ZA
(南非英语),且en_ZA
的客户端库不存在,则自适应表单将使用en
(英语)语言的客户端库(如果存在)。 但是,如果这些表单都不存在,则自适应表单将词典用于en
区域设置。
AEM Forms目前支持本地化适应表单内容,语言版本有英语(en)、西班牙语(es)、法语(fr)、意大利语(it)、德语(de)、日语(ja)、巴西葡萄牙语(pt-BR)、中文(zh-CN)、中国台湾地区(zh-TW)和韩语(ko-KR)。
要在自适应表单运行时添加对新区域设置的支持,请执行以下操作:
https://'[server]:[port]'/system/console/configMgr
.在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.3rdparty
、xfaforms.I18N.<locale>
和guide.common
。 "
将以下文件添加到客户端库:
guidelib.i18n
,具有“calendarSymbols” datePatterns
、、、 timePatterns
、 dateTimeSymbols
、按照区域设置中的XFA规 numberPatterns
范说 numberSymbols
currencySymbols
typefaces
<locale>
明的为的图案。您还可以查看如何为/etc/clientlibs/fd/af/I18N/fr/javascript/i18n.js
中的其他支持区域设置定义它。guidelib.i18n.strings
义 guidelib.i18n.LogMessages
和 <locale>
中定义 /etc/clientlibs/fd/af/I18N/fr/javascript/LogMessages.js
。i18n.js
LogMessages.js
仅当您添加的<locale>
不在en
、de
、es
、fr
、it
、pt-br
、zh-cn
、zh-tw
、ja
和ko-kr
之间时,才执行此步骤。
在etc
下创建一个nt:unstructured
节点languages
(如果尚未存在)。
向节点添加多值字符串属性languages
(如果尚未存在)。
添加<locale>
默认区域设置值de
、es
、fr
、it
、pt-br
、zh-cn
、zh-tw
、ja
、ko-kr
(如果尚不存在)。
将<locale>
添加到/etc/languages
的languages
属性的值中。
<locale>
将显示在https://'[server]:[port]'/libs/cq/i18n/translator.html
。
重新启动AEM服务器,使添加的区域设置生效。
用于添加西班牙语支持的示例客户端库