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