支援最適化Forms本地化的新地區設定 supporting-new-locales-for-adaptive-forms-localization

Adobe 建議使用新式且可擴充的資料擷取核心元件,用來建立新的最適化表單將最適化表單新增到 AEM Sites 頁面。這些元件代表最適化表單建立方面的重大進步,可確保令人印象深刻的使用者體驗。本文會介紹使用基礎元件編寫最適化表單的舊方法。

版本
文章連結
AEM 6.5
按一下這裡
核心元件
按一下這裡
基礎元件
本文章

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

  1. 從命令列,導覽至您要複製FormsCloud Service存放庫的位置。
  2. 執行從Cloud Manager擷取的命令。它類似於git clone https://git.cloudmanager.adobe.com/<my-org>/<my-program>/
  3. 使用Git使用者名稱和密碼來複製存放庫。
  4. 在您偏好的編輯器中,開啟複製的FormsCloud Service存放庫資料夾。

2.新增語言環境至「本地化指南」服務 add-a-locale-to-the-guide-localization-service

  1. 找到Guide Localization Service.cfg.json檔案,並將您要新增的區域設定新增至支援的區域設定清單。

    note note
    NOTE
    建立名為Guide Localization Service.cfg.json檔案的檔案(如果尚未存在)。

3.新增地區名稱特定的資料夾使用者端資源庫 add-locale-name-specific-folder

  1. 在UI.content資料夾中,建立etc/clientlibs資料夾。
  2. 進一步在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.為地區設定名稱資料夾新增最適化表單使用者端資料庫
  1. etc/clientlibs/locale_name下建立名稱為[locale-name]_af且型別為cq:ClientLibraryFolder的節點,類別為guides.I18N.<locale>,相依性為xfaforms.3rdpartyxfaforms.I18N.<locale>guide.common

  2. 建立名為javascript的資料夾並新增下列檔案:

    • i18n.js ​定義了guidelib.i18n,並根據地區設定集規格中描述的XFA規格,為<locale>具有「calendarSymbols」、datePatternstimePatternsdateTimeSymbolsnumberPatternsnumberSymbolscurrencySymbolstypefaces的模式。
    • LogMessages.js ​定義了/etc/clientlibs/fd/af/I18N/fr/javascript/LogMessages.js中定義的<locale>guidelib.i18n.stringsguidelib.i18n.LogMessages
  3. 新增包含下列專案的​ js.txt

    code language-none
      i18n.js
      LogMessages.js
    

4.為字典新增地區設定支援 add-locale-support-for-the-dictionary

只有在您新增的<locale>不屬於endeesfritpt-brzh-cnzh-twjako-kr時,才執行此步驟。

  1. etc下建立資料夾languages (如果尚未存在)。

  2. 將多值字串屬性languages新增至節點(如果尚未存在)。

  3. 新增<locale-name>預設地區設定值deesfritpt-brzh-cnzh-twjako-kr (如果尚未存在)。

  4. <locale>新增至/etc/languageslanguages屬性值。

  5. 在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

執行以下步驟,使用新新增的地區設定來使用和轉譯調適型表單:

  1. 登入您的AEM作者執行個體。
  2. 移至​ Forms > Forms和檔案
  3. 選取最適化表單,然後按一下​ 新增字典 ​和​ 新增字典至翻譯專案 ​精靈出現。
  4. 指定​ 專案標題,並從​ 新增字典至翻譯專案 ​精靈的下拉式功能表中選取​ 目標語言
  5. 按一下​ 完成 ​並執行已建立的翻譯專案。
  6. 選取最適化表單,然後按一下​ 以HTML預覽
  7. 在最適化表單的URL中新增&afAcceptLang=<locale-name>
  8. 重新整理頁面,最適化表單會以指定的地區設定呈現。

有兩種方法可識別調適型表單的地區設定。 轉譯適用性表單時,會透過以下方式識別請求的地區設定:

  • 正在擷取最適化表單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

recommendation-more-help
fbcff2a9-b6fe-4574-b04a-21e75df764ab