AEM as a Cloud Service:在字典變更後,i18n ResourceBundle快取未更新
在Adobe Experience Manager as a Cloud Service中,/conf底下i18n字典檔案的更新可能不會顯示在Sling ResourceBundle快取中,導致UI標籤顯示未解析的i18n索引鍵,而非翻譯的文字。
說明 description
環境
Adobe Experience Manager as a Cloud Service (AEMaaCS) (所有版本)
問題/症狀
/conf/.../i18n/en.json或fr.json中新新增或更新的i18n索引鍵存在於JCR存放庫中,但未出現在Sling ResourceBundle快取中。- UI標籤在製作環境中顯示原始i18n索引鍵(例如
lblExampleKey),而不是預期的翻譯文字。 - 嘗試重建使用者端程式庫或使快取失效無法解決問題。
原因
/conf下過時或衝突的i18n字典檔案可能會導致Sling ResourceBundle快取無法使用新金鑰更新。 這會導致UI標籤無法解析。 刪除過時的節點並確保僅存在預期的字典,可讓快取重新整理並顯示正確的翻譯。
解決方法 resolution
請依照下列步驟解決問題:
- 識別
/conf下過時或衝突的i18n字典檔案,例如/conf/<project>/i18n/en.json和fr.json。 - 使用篩選定義建立FileVault內容套件,以刪除的過時字典檔案為目標。 針對您要移除的每個過時字典節點使用
mode="replace",並將這些路徑的封裝裝載保留空白,以便安裝作業從儲存庫中移除指定的節點。 - 透過您的CI/CD管道將套件部署到作者環境。
- 將變更復寫至發佈環境,以確保所有層級間的一致性。
- 確認無法再存取過時的字典檔案(例如
/conf/<project>/i18n/en.json和fr.json),並在直接存取時傳回404回應。 - 確認UI標籤現在解析為正確的翻譯文字。
備註
如果您要將字典移轉至/apps,請在其中新增字典,並確保舊的/conf篩選器使用取代模式移除相同版本中過時的節點。
相關閱讀
recommendation-more-help
experience-cloud-kcs-help-kbarticles