將元件和對話方塊國際化,以便以不同的語言顯示其UI字串。 專為國際化設計的元件可讓UI字串被外部化、翻譯,然後匯入存放庫。 在執行階段,使用者的語言偏好設定或頁面地區設定會決定UI中顯示的語言。
使用以下程式將您的元件國際化,並提供不同語言的UI:
使用可國際化字串的程式碼來實作您的元件。 您的程式碼會識別要翻譯的字串,並選取要在執行階段顯示的語言。
匯出 字典轉換為XLIFF格式,翻譯字串,然後 匯入 XLIFF檔案會傳回AEM。 或者,您可以 手動新增翻譯 至字典。
這裡所說明的國際化元件方法,是用來翻譯靜態字串。 當預計元件字串會變更時,您應使用傳統的翻譯工作流程。 例如,當作者可以使用元件的「編輯」對話方塊中的屬性來編輯UI字串時,您不應使用語言字典來將該字串國際化。
AEM國際化架構使用存放庫中的字典,以儲存英文字串及其翻譯為其他語言。 此架構使用英文作為預設語言。 字串的識別方式為英文版。 通常,國際化架構會使用英數字元ID作為UI字串。 使用英文版的字串做為ID有幾個優點:
本地化的字串可以儲存在存放庫的幾個字典中。 AEM系統字典位於 /libs
節點。 您可以在下方建立元件的字典 /apps
節點。 AEM國際化架構結合字典,並在Sling中作為單一字典提供 ResourceBundle
物件。 轉譯元件時,元件會從資源組合中擷取轉譯字串。 合併的字典也會以JSON格式部署在網頁伺服器上,以便在網頁中提供轉譯為JavaScript程式碼的字串。
此外, 翻譯工具 讓您從一個中央位置管理所有字典。
請勿修改位於以下位置的AEM系統字典 /libs
節點。
字典中的字串位於 /apps
節點會覆寫位於以下位置的字典中的重複字串: /libs
節點。 如果您的元件使用AEM系統字典中包含的字串,請複製您自己字典中的字串。 所有元件都將使用字典中的字串。
請注意,當字串在位於下列所有位置的字典中重複時,您無法預測要使用哪個翻譯 /apps
節點。