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