最適化表單的本地化需要兩種語言環境字典:
表單特定字 典包含適用性表單中使用的字串。例如,標籤、欄位名稱、錯誤訊息、說明說明等。 它作為一組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)地區設定來本地化最適化表單內容。
若要在適用性表單執行階段新增對新地區設定的支援:
https://[server]:[port]/system/console/configMgr
.在etc/<folderHierarchy>
下建立類型cq:ClientLibraryFolder
(類別xfaforms.I18N.<locale>
)的節點,並將下列檔案添加到客戶端庫:
I18N. jsdefining xfalib.locale.Strings
for <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
。 "
將以下檔案添加到客戶端庫:
i18n. jsdefining guidelib.i18n
,具有「calendarSymbols」、 datePatterns
、 timePatterns
、 dateTimeSymbols
、 numberPatterns
、 numberSymbols
、 currencySymbols
、 typefaces
的模式,根據 <locale>
區域設定規範 🔗中描述的XFA規範。您也可以看到如何為/etc/clientlibs/fd/af/I18N/fr/javascript/i18n.js
中的其他支援地區設定定義。
LogMessages.js 定 guidelib.i18n.strings
義 guidelib.i18n.LogMessages
和,如 <locale>
中定義 /etc/clientlibs/fd/af/I18N/fr/javascript/LogMessages.js
。
js. txt包含下列項目:
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伺服器,讓新增的地區設定生效。
新增西班牙文支援的用戶端程式庫範例