支援最適化Forms本地化的新地區設定 supporting-new-locales-for-adaptive-forms-localization
Adobe 建議使用新式且可擴充的資料擷取核心元件,用來建立新的最適化表單或將最適化表單新增到 AEM Sites 頁面。這些元件代表最適化表單建立方面的重大進步,可確保令人印象深刻的使用者體驗。本文會介紹使用基礎元件編寫最適化表單的舊方法。
AEM Forms提供英文(en)、西班牙文(es)、法文(fr)、義大利文(it)、德文(de)、日文(ja)、葡萄牙文 — 巴西(pt-BR)、中文(zh-CN)、中文 — 台灣(zh-TW)和韓文(ko-KR)地區設定的立即可用支援。 您也可以新增對更多地區設定的支援,例如印地語(hi_IN)。
瞭解地區設定字典 about-locale-dictionaries
最適化表單本地化依賴兩種型別的地區詞典:
-
表單特定字典 包含最適化表單中使用的字串。 例如,標籤、欄位名稱、錯誤訊息、說明說明。 它被管理為每個地區設定的一組XLIFF檔案,您可以在
[author-instance]/libs/cq/i18n/gui/translator.html
存取它。 -
全域字典 AEM使用者端程式庫中有兩個全域字典,管理為JSON物件。 這些字典包含預設錯誤訊息、月份名稱、貨幣符號、日期和時間模式等。 您可以在
[author-instance]/libs/fd/xfaforms/clientlibs/I18N
找到這些字典。 這些位置包含每個地區設定的個別資料夾。 由於全域字典不經常更新,因此針對每個地區設定保留個別的JavaScript檔案,可讓瀏覽器在存取相同伺服器上的不同最適化表單時,快取檔案並降低網路頻寬使用量。
新增新地區設定的支援 add-support-for-new-locales
執行以下步驟來新增新地區設定的支援:
新增不支援地區設定的本地化支援 add-localization-support-for-non-supported-locales
AEM FormsForms目前支援英文(en)、西班牙文(es)、法文(fr)、義大利文(it)、德文(de)、日文(ja)、巴西葡萄牙文(pt-BR)、中文(zh-CN)、中文 — 台灣(zh-TW)和韓文(ko-KR)本地化內容。
若要在Adaptive Forms執行階段新增對新地區設定的支援:
1.複製存放庫 clone-the-repository
- 從命令列,導覽至您要複製FormsCloud Service存放庫的位置。
- 執行從Cloud Manager擷取的命令。它類似於
git clone https://git.cloudmanager.adobe.com/<my-org>/<my-program>/
。 - 使用Git使用者名稱和密碼來複製存放庫。
- 在您偏好的編輯器中,開啟複製的FormsCloud Service存放庫資料夾。
2.新增語言環境至「本地化指南」服務 add-a-locale-to-the-guide-localization-service
-
找到
Guide Localization Service.cfg.json
檔案,並將您要新增的區域設定新增至支援的區域設定清單。note note NOTE 建立名為 Guide Localization Service.cfg.json
檔案的檔案(如果尚未存在)。
3.新增地區名稱特定的資料夾使用者端資源庫 add-locale-name-specific-folder
- 在UI.content資料夾中,建立
etc/clientlibs
資料夾。 - 進一步在
etc/clientlibs
下建立名為locale-name
的資料夾,用作xfa和af clientlibs的容器。
3.1在locale-name資料夾中新增地區設定的XFA使用者端資料庫
使用類別xfaforms.I18N.<locale>
在etc/clientlibs/locale_name
下建立名稱為[locale-name]_xfa
且型別為cq:ClientLibraryFolder
的節點,並新增下列檔案:
- I18N.js 定義了
/etc/clientlibs/fd/xfaforms/I18N/ja/I18N
中定義的<locale>
的xfalib.locale.Strings
。 - js.txt 包含下列專案:
/libs/fd/xfaforms/clientlibs/I18N/Namespace.js
I18N.js
/etc/clientlibs/fd/xfaforms/I18N/LogMessages.js
3.2.為地區設定名稱資料夾新增最適化表單使用者端資料庫
-
在
etc/clientlibs/locale_name
下建立名稱為[locale-name]_af
且型別為cq:ClientLibraryFolder
的節點,類別為guides.I18N.<locale>
,相依性為xfaforms.3rdparty
、xfaforms.I18N.<locale>
和guide.common
。 -
建立名為
javascript
的資料夾並新增下列檔案:- i18n.js 定義了
guidelib.i18n
,並根據地區設定集規格中描述的XFA規格,為<locale>
具有「calendarSymbols」、datePatterns
、timePatterns
、dateTimeSymbols
、numberPatterns
、numberSymbols
、currencySymbols
、typefaces
的模式。 - LogMessages.js 定義了
/etc/clientlibs/fd/af/I18N/fr/javascript/LogMessages.js
中定義的<locale>
的guidelib.i18n.strings
和guidelib.i18n.LogMessages
。
- i18n.js 定義了
-
新增包含下列專案的 js.txt:
code language-none i18n.js LogMessages.js
4.為字典新增地區設定支援 add-locale-support-for-the-dictionary
只有在您新增的<locale>
不屬於en
、de
、es
、fr
、it
、pt-br
、zh-cn
、zh-tw
、ja
、ko-kr
時,才執行此步驟。
-
在
etc
下建立資料夾languages
(如果尚未存在)。 -
將多值字串屬性
languages
新增至節點(如果尚未存在)。 -
新增
<locale-name>
預設地區設定值de
、es
、fr
、it
、pt-br
、zh-cn
、zh-tw
、ja
、ko-kr
(如果尚未存在)。 -
將
<locale>
新增至/etc/languages
的languages
屬性值。 -
在etc/META-INF/[資料夾階層]下的
filter.xml
中新增建立的資料夾,如下所示:code language-none <filter root="/etc/clientlibs/[locale-name]"/> <filter root="/etc/languages"/>
在將變更提交至AEM Git存放庫之前,您需要存取您的Git存放庫資訊。
5.認可存放庫中的變更並部署管道 commit-changes-in-repo-deploy-pipeline
新增地區設定支援後,將變更提交到GIT存放庫。 使用完整棧疊管道部署您的計畫碼。 瞭解如何設定管道以新增地區設定支援。
管道完成後,新新增的地區設定會顯示在AEM環境中。
在最適化Forms中使用新增的地區設定 use-added-locale-in-af
執行以下步驟,使用新新增的地區設定來使用和轉譯調適型表單:
- 登入您的AEM作者執行個體。
- 移至 Forms > Forms和檔案。
- 選取最適化表單,然後按一下 新增字典 和 新增字典至翻譯專案 精靈出現。
- 指定 專案標題,並從 新增字典至翻譯專案 精靈的下拉式功能表中選取 目標語言。
- 按一下 完成 並執行已建立的翻譯專案。
- 選取最適化表單,然後按一下 以HTML預覽。
- 在最適化表單的URL中新增
&afAcceptLang=<locale-name>
。 - 重新整理頁面,最適化表單會以指定的地區設定呈現。
有兩種方法可識別調適型表單的地區設定。 轉譯適用性表單時,會透過以下方式識別請求的地區設定:
-
正在擷取最適化表單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=ca-fr
-
使用
Accept-Language
標頭在請求中指定之使用者的瀏覽器地區設定。
-
如果要求的地區設定的使用者端程式庫不存在,它會檢查地區設定中存在的語言代碼的使用者端程式庫。 例如,如果要求的地區設定為en_ZA
(南非英文),且en_ZA
的使用者端資料庫不存在,則最適化表單會使用en
(英文)語言的使用者端資料庫(如果存在)。 但是,如果兩者都不存在,則最適化表單會針對en
地區設定使用字典。
地區設定一經識別,「最適化表單」就會挑選表單專屬的字典。 如果找不到所要求地區設定的表單特定字典,則會使用用於編寫最適化表單的語言的字典。
如果沒有地區設定資訊出現,最適化表單會以表單的原始語言傳送。 原始語言是開發最適化表單時使用的語言。
取得範例使用者端程式庫以新增新地區設定的支援。 您需要以所需的地區設定變更資料夾的內容。
支援新本地化的最佳實務 best-practices
-
Adobe建議您在建立最適化表單之後建立翻譯專案。
-
在現有的最適化表單中新增欄位時:
- 對於機器翻譯:重新建立字典並執行翻譯專案。 建立翻譯專案後新增至最適化表單的欄位仍維持未翻譯狀態。
- 針對人工翻譯:透過
[server:port]/libs/cq/i18n/gui/translator.html
匯出字典。 更新新新增欄位的字典並上傳。
另請參閱 see-also
- 建立 AEM 最適化表單
- 新增 AEM 最適化表單至 AEM Sites 頁面
- 將主題套用到 AEM 最適化表單
- 將元件新增至 AEM 最適化表單
- 在 AEM 最適化表單中使用驗證碼
- 產生 AEM 最適化表單的 PDF 版本 (DoR)
- 翻譯 AEM 最適化表單
- 啟用 Adobe Analytics 讓最適化表單可追蹤表單使用情況
- 將最適化表單連接到 Microsoft SharePoint
- 將最適化表單連接到 Microsoft Power Automate
- 將最適化表單連接到 Microsoft OneDrive
- 將最適化表單連接至 Microsoft® Azure Blob 儲存體
- 將最適化表單連接到 Salesforce
- 在 AEM 最適化表單中使用 Adobe Sign in
- 為最適化表單新增地區設定
- 將最適化表單資料傳送到資料庫
- 將最適化表單資料傳送到 REST 端點
- 將最適化表單資料傳送到 AEM 工作流程
- 使用 Forms 入口網站在 AEM 網站上列出 AEM 最適化表單
- 在最適化表單中新增版本設定、評論和附註
- 比較最適化表單