國際化元件 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
請勿修改位於以下位置的AEM系統字典: /libs 節點。

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

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

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

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