國際化元件 internationalizing-components

將您的元件和對話方塊國際化,以便以不同的語言呈現它們的UI字串。 專為國際化設計的元件可讓UI字串外部化、翻譯,然後匯入存放庫。 在執行階段,使用者的語言偏好設定或頁面地區設定會決定UI中要顯示的語言。

chlimage_1-9

使用以下程式將您的元件國際化,並提供不同語言的UI:

  1. 使用將字串國際化的程式碼實作您的元件。您的程式碼會識別要翻譯的字串,並選取要在執行階段顯示的語言。

  2. 建立字典新增要翻譯的英文字串。

  3. 匯出字典為XLIFF格式,翻譯字串,然後匯入 XLIFF檔案並傳回AEM。 或者,您也可以手動將翻譯新增至字典。

  4. 將字典合併至應用程式的發行管理程式

NOTE
這裡所說明的國際化元件方法,是用來轉譯靜態字串。 當元件字串預期會變更時,您應使用傳統的翻譯工作流程。 例如,當作者可以在元件的「編輯」對話方塊中使用屬性來編輯UI字串時,您不應使用語言字典來將字串國際化。

語言字典 language-dictionaries

AEM國際化架構使用存放庫中的字典,以其他語言儲存英文字串及其翻譯。 架構使用英文作為預設語言。 字串的識別方式為英文版。 國際化架構通常使用英數ID作為UI字串。 使用英文版的字串做為ID有許多優點:

  • 程式碼易於閱讀。
  • 預設語言一律可用。

本地化的字串可以儲存在存放庫的幾個字典中。 AEM系統字典位於/libs節點下方。 您可以在/apps節點下為元件建立字典。 AEM國際化架構結合字典,並在Sling中做為單一ResourceBundle物件提供。 轉譯元件時,元件會從資源套件中擷取轉譯字串。 合併的字典也會以JSON格式部署在網頁伺服器上,為網頁中的JavaScript程式碼提供翻譯字串。

此外,翻譯工具可讓您從一個中央位置管理所有字典。

chlimage_1-10

NOTE
請勿修改位於/libs節點下方的AEM系統字典。

在系統字典中覆蓋字串 overlaying-strings-in-system-dictionaries

/apps節點下方的字典中的字串會覆寫/libs節點下方的字典中的重複字串。 如果您的元件使用AEM系統字典中包含的字串,請複製您自己的字典中的字串。 所有元件都將使用字典中的字串。

請注意,當字串在位於/apps節點下方的字典中重複時,您無法預測要使用哪個翻譯。

recommendation-more-help
19ffd973-7af2-44d0-84b5-d547b0dffee2