國際化元件

將元件和對話方塊國際化,以便以不同語言顯示其UI字串。 專為國際化而設計的元件使UI字串能夠外部化、翻譯,然後導入到儲存庫。 在執行時期,使用者的語言偏好設定或頁面地區設定會決定UI中顯示的語言。

chlimage_1-9

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

  1. 使用國際化字串的程式碼實作元件。 您的程式碼會識別要翻譯的字串,並選取要在執行時期呈現的語言。

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

  3. 字典匯出為XLIFF格式、翻譯字串,然 後將XLIFF檔案匯入AEM。或者,您也可以手動將翻譯添加到字典中。

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

注意

此處所述的國際化元件的方法用於轉換靜態字串。 當元件字串需要變更時,您應使用傳統的翻譯工作流程。 例如,當作者可以使用元件的「編輯」對話方塊中的屬性來編輯UI字串時,您不應使用語言字典來國際化字串。

語言字典

AEM國際化架構使用儲存庫中的字典來儲存英文字串及其其他語言的翻譯。 框架使用英語作為預設語言。 字串使用其英文版本來識別。 通常,國際化架構會使用英數字元ID做為UI字串。 使用英文版的字串做為ID有幾項優點:

  • 程式碼易讀。
  • 預設語言永遠可用。

本地化的字串可以儲存在儲存庫的數個字典中。 AEM系統字典位於/libs節點下方。 您可以在/apps節點下為元件建立字典。 AEM國際化架構結合字典,並將它們以單一ResourceBundle物件的形式在Sling中提供。 在呈現元件時,它們會從資源包中檢索翻譯的字串。 組合的字典也會部署在網頁伺服器上,以JSON格式為網頁中的Javascript程式碼提供翻譯的字串。

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

chlimage_1-10

注意

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

系統字典中的字串疊置

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

請注意,當字串在字典中複製時,您無法預測使用哪種轉譯,字典中所有字串都位於/apps節點下方。

本頁內容