使用翻譯工具管理字典

AEM提供主控台,可管理元件UI中使用的各種文字翻譯。 此控制台可在

https://<hostname>:<port-number>/libs/cq/i18n/translator.html

使用翻譯工具管理英文字串及其翻譯。 字典是在儲存庫中建立的,例如/apps/myproject/i18n。

請注意,Translator工具和您管理的字典是用不同語言呈現元件UI。 如果要翻譯頁面或用戶生成的內容,請參閱多語言站點翻譯內容用戶生成內容翻譯

注意

僅編輯為您的專案建立且位於/apps下方的字典。

此工具中也提供AEM系統字典。 請勿變更AEM系統字典,因為這可能會導致AEM UI問題。 此外,升級時可能會遺失變更。 AEM系統字典位於/libs下。

注意

雖然Translator工具有傳統的UI介面,但它用於翻譯片語,而不論這些片語的所在介面為何。

翻譯人員會列出AEM中使用的文字,並列出各種語言翻譯:

chlimage_1-205

您可以搜尋、篩選及編輯英文和翻譯的文字。 您也可以將字典匯出為XLIFF格式以進行翻譯,然後將翻譯匯回字典。

您也可以從此控制台將i18n雙音調添加到翻譯項目中。 您可以建立新專案或新增至現有專案。

  1. 按一下​翻譯字典

    chlimage_1-206

  2. 視您的需求選擇「建立」或「新增」選項。 對話方塊隨即開啟。

    chlimage_1-207

  3. 視需要填寫欄位,然後按一下「確定」。 chlimage_1-208

  4. 您現在可以按一下​OK​或查看Target字典。

    注意

    有關翻譯項目的詳細資訊,請閱讀管理翻譯項目

建立字典

建立字典,以管理本地化的UI字串。 在您建立字典後,您可以使用翻譯工具來管理它。

  1. 使用CRXDE Lite,將新字典的根節點(sling:Folder)添加為用於保存語言定義的結構:

    /apps/<projectName>/i18n

    例如, /apps/myProject/i18n

  2. 在此根目錄下添加所需的語言結構。 例如:

    /apps/myProject/i18n [sling:Folder]
        - de.json [nt:file] [mix:language]
            + jcr:language = de
        - fr.json [nt:file] [mix:language]
            + jcr:language = fr
    
    注意

    這是Sling i18n模組的結構。

  3. 重新載入翻譯器和字典路徑(例如/apps/myProject/i18n)將可在工具列的下拉式選取器中使用。 選擇此選項可開始添加字串及其翻譯。

    注意

    翻譯器將僅保存實際存在於路徑下的語言的翻譯(例如,/apps/myProject/i18n)。

    請確定這些語言與格線中顯示的語言對應。

管理字典字串

使用翻譯工具管理字典中的字串。 您可以新增、修改和移除英文字串,也可以提供翻譯的字串。

注意

僅編輯為您的專案建立且位於/apps下方的字典。

請勿變更AEM系統字典,因為這可能會導致AEM UI問題。 此外,升級時可能會遺失變更。 AEM系統字典位於/libs下。

添加、更改和刪除字串

將英文字串新增至元件已國際化的字典。 只添加國際化的字串,以免通過翻譯未使用的字串來浪費資源。

您新增至字典的字串必須與程式碼中指定的字串完全相符。 如果程式碼中使用的預設英文字串與字典中的英文字串不符,則翻譯的字串不會視需要顯示在UI中。 字串區分大小寫。

提供翻譯提示

使用字典字串的Comment屬性為翻譯者提供資訊以釐清字串的含義。 通常,UI會協助使用者判斷歧義字詞的含義。 但是,翻譯器在UI的上下文中看不到字串。 翻譯提示消除歧義。 例如,注釋可協助翻譯人員瞭解英文單字「請求」是用作名詞,而非動詞。

翻譯提示還可區分相同且含義不同的字串。 例如,「搜尋」一詞可以是名詞或動詞,在字典中需要兩個「搜尋」項目,並有兩個不同的翻譯提示。 要求字串的程式碼也包含轉譯提示,以便在UI中使用正確的字串。

包含索引變數

在本地化字串中加入變數,將內容相關意義建立至句子中。 例如,登入Web應用程式後,首頁會顯示訊息「歡迎返回管理員」。 收件匣中有2條訊息。」 頁面內容會決定使用者名稱和訊息數量。

若要在本地化字串中包含變數,請在get方法第一個引數中的變數位置放置方括弧內的索引。 使用本地化提示來說明值。 翻譯者必須瞭解變數的含義,因為不同的語言使用不同的句子結構。

請注意,請求翻譯字串🔗的程式碼會根據上下文提供索引變數的值。

例如,當使用者登入網站並包含在字典中時,會顯示下列字串:

Welcome back {0}. You have {1} messages.

以下注釋說明變數:

{0} = the user name, {1} = the number of items in the user's inbox

修改字串

當程式碼中的英文字串變更或移除時,請加以變更或移除。 當您變更字串時,原始字串會持續存在,並建立反映變更的新字串。 在移除字串之前,請確定沒有程式碼使用它。

請按下列步驟添加字串。

  1. 在「字典」下拉式功能表中,選取您要新增字串的字典。 在下拉式功能表中,字典由其在儲存庫中的路徑表示。

  2. 在「字串和翻譯」(Strings and Translations)表格上,按一下「添加」(Add)。

    chlimage_1-209

  3. 在「新增字串」對話方塊的「字串」方塊中,輸入英文字串。 在「注釋」框中,鍵入翻譯員的翻譯提示(如果需要)。

  4. 按一下「確定」。

  5. 按一下「儲存」。

    chlimage_1-210

請按下列步驟更改字典中的字串。

  1. 在「字典」下拉式選單中,選取包含要變更之字串的字典。

  2. 連按兩下要變更的字串。

  3. 在「編輯字串」對話框中,選擇「修改字串」或「注釋」(建立副本)。

    chlimage_1-211

  4. 修改字串或注釋,然後按一下「確定」。

  5. 按一下「儲存」。

    chlimage_1-212

請按下列步驟從字典中刪除字串。

  1. 在「字典」下拉菜單中,選擇要從中刪除字串的字典。

  2. 按一下「移除」。

    chlimage_1-213

  3. 按一下「儲存」。

    chlimage_1-214

搜索字串

Translator工具底部的搜索欄提供了字串選擇選項:

  • 依文字篩選: 與英文字串、註解或翻譯相符的模式。表格中只會顯示與模式全部或部分相符的項目。

  • 變更:任何、已修改、新建、已刪 除:顯示已更改且未保存的項目。

    • 任何:顯示已修改、新增或移除的項目。
    • 已修改:顯示已變更的項目。
    • 新增:顯示已新增的項目。
    • 已刪除:顯示要移除的項目。
    • 多個選擇:顯示具有所有選定屬性的項目。
  • 留言:顯示具有翻譯員注釋的項目。

  • 遺漏翻譯: 顯示至少一種語言沒有翻譯的項目。

chlimage_1-215

  1. 在搜尋列上,選取篩選選項。
  2. 若要使用選項進行篩選,請按一下「篩選」。
  3. 若要移除篩選器並查看字典中的所有項目,請按一下「清除」。

編輯翻譯的字串

將英文字串新增至字典後,即可新增字串的翻譯。 您也可以匯出字典,讓第三方翻譯字典。

  1. 選擇您的專案特定字典,因為它指定保存翻譯的儲存庫中的路徑。 例如,選擇​字典​作為:

    /apps/myProject/i18n

    注意

    僅編輯為您的專案建立且位於/apps下方的字典。

    此工具中也提供AEM系統字典。 請勿變更AEM系統字典,因為這可能會導致AEM UI問題。 此外,升級時可能會遺失變更。 AEM系統字典位於/libs下。

  2. 要編輯其中一個字串的翻譯文本,您可以執行以下操作:

    • 連按兩下所需字串的適當語言以編輯該單一文字:

    chlimage_1-216

    • 連按兩下所需字串的​字串​或​注釋​欄位,以開啟​編輯字串​對話方塊,視需要編輯轉譯,然後按一下​確定​以關閉對話方塊:

    chlimage_1-217

  3. 按一下工具欄中的​保存​以提交更改。

    注意

    按一下​重置和刷新(而不是​保存)將回復對先前文本的任何更改。

使用第三方翻譯員

為支援使用第三方翻譯服務,翻譯工具允許您導出和導入字典。

導出字典

將字典匯出至XLIFF檔案,讓協力廠商服務可翻譯字典字串。

  • 匯出字典,並包含語言的英文和翻譯詞語。
  • 匯出部分或全部英文字串。

當導出XLIFF檔案並包含語言時,儲存庫中字典的節點結構必須包含該語言。 如果未包含語言,則會發生錯誤。 例如,要導出法文XLIFF檔案,字典資料夾必須包含名為frmix:language子節點。 (請參閱建立字典。)

請按下列步驟將XLIFF檔案導出為特定語言。

  1. 開啟翻譯工具http://<host>:<port>/libs/cq/i18n/translator.html

  2. 使用「字典」下拉式功能表來選取要匯出的字典。

  3. 按一下「匯出>完整匯出​XX Xliff選項」,其中​XX​是雙字母語言代碼,例如DE或FR。

    XLIFF檔案在新頁籤或窗口中開啟。

  4. 使用網頁瀏覽器命令將頁面儲存為檔案系統上的檔案,例如「檔案>另存頁面為」。

請按下列步驟導出全部或部分僅英語字串。

  1. 開啟翻譯工具。http://<host>:<port>/libs/cq/i18n/translator.html
  2. 使用「字典」下拉式功能表來選取要匯出的字典。
  3. 如果要導出字串的子集,請選擇要導出的字典中的項目。 選擇不導出任何項將導出所有項。
  4. 按一下「匯出>將選取範圍匯出為Xliff」(僅限字串)。
  5. 在出現的對話方塊中,複製文字並貼入文字檔案。

導入字典

將XLIFF檔案匯入字典以填入字典。 當字典包含英文字串的翻譯,而XLIFF檔案包含相同字串的不同翻譯時,字典翻譯會被取代。

  1. 開啟翻譯工具http://<host>:<port>/libs/cq/i18n/translator.html
  2. 按一下「匯入> XLIFF轉換」。
  3. 選擇要導入的檔案,然後按一下「確定」。

管理支援的語言

新增或移除翻譯工具支援的語言,以及提供給網頁使用者的語言。

更改字典表中列出的語言

Translator工具在字典表中包含以下語言:

  • de —— 德文
  • fr —— 法文
  • it —— 義大利文
  • es —— 西班牙文
  • ja —— 日文
  • pt-br —— 巴西葡萄牙文
  • zh-cn —— 簡體中文
  • zh-tw —— 繁體中文(有限支援)
  • ko-kr —— 韓文

請按下列步驟添加或刪除語言。

  1. 使用CRXDE Lite建立新節點:

    /etc/languages

  2. 在此節點上,建立一個屬性:

    • 名稱: languages

    • 類型: Multi-String

    • :您要顯示的語言清單。例如:

      • fr
      • es
    注意

    語言代碼必須為小寫。

  3. 按一下CRXDE Lite中的​保存所有​並重新載入翻譯器。 格線將會更新,以顯示所定義的語言。

    注意

    翻譯器將僅保存字典🔗中實際存在的語言的翻譯(即,在字典路徑下,如/apps/myProject/i18n)。

    請確定這些語言與格線中顯示的語言對應。

使作者可使用語言

為AEM例項新的語言定義字典後,您需要將此字典提供給作者選擇(例如,用於​Preferences):

  1. 要更改​Security​控制台的​Preferences​中可用語言的清單:

    1. 在您的應用程式碼中建立覆蓋,以便:

              /libs/cq/security/widgets/source/widgets/security/Preferences.js
       and update as required.
      
  2. 若要從​網站​主控台提供​偏好設定​中的語言,您必須在應用程式中進行下列變更:

    1. 在下面建立結構的覆蓋:

      /libs/cq/security/content/tools/userProperties

    2. 覆蓋內部會更新下方的語言清單:

      items/common/items /lang/options

  3. 保存所有內容並重新載入相應的控制台。

變更語言名稱和預設國家/地區

各國都使用相同的語言,例如美國,英國,澳洲都使用英文。 這由代碼指示,代碼同時指示語言和國家,如en_USen_GBen_AU

顯示標幟時會使用預設國家(例如,在語言副本對話方塊中),用來解析國家(地區)的語言代碼。

注意

對於由上述翻譯器管理的本地化,只有確切的語言有效。 如果語言首選項下拉清單使用en_uk ,則儲存庫中必須有en_uk字典。

要更改預設定義,請執行以下操作:

  1. 語言清單儲存在以下位置:

    /libs/wcm/core/resources/languages

    將它複製至:

    /apps/wcm/core/resources/languages

    然後變更或擴充清單。 語言節點上的屬性defaultCountry(例如ja)必須包含完整程式碼,例如ja_jp,此程式碼會將jp定義為語言ja的預設國家。

  2. 更新​CQ WCM Language Manager

    • 語言清單:

      儲存庫中語言清單的路徑。 將此設定為用於覆蓋的位置:

             /apps/wcm/core/resources/languages
      

    您可以使用OSGi Web Console執行此操作:

    https://<hostname>:<port-number>/system/console/configMgr/com.day.cq.wcm.core.impl.LanguageManagerImpl 
    

發佈字典

將您的字典併入AEM應用程式的發行管理程式。 例如,將字典加入應用程式的內容套件中,以部署至發佈例項。 此策略提供以下優點:

  • 字典適用於其發佈環境中的元件。
  • 元件UI字串的變更會與更新的翻譯一起部署。

同樣地,字典字串測試也應在您正常的軟體開發生命週期中執行。

注意

字典不應使用常規發佈功能或複製。 而應以與程式碼和設定相同的方式來對待字典。 這包括使用來源控制項來追蹤變更,以及使用內容封裝套用變更至作者和發佈。

注意

使用Dispatcher時,您需要使快取的頁無效,以便在渲染的元件字串中包含新的字典字串。

本頁內容

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