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.jsonfr.json中新新增或更新的i18n索引鍵存在於JCR存放庫中,但未出現在Sling ResourceBundle快取中。
  • UI標籤在製作環境中顯示原始i18n索引鍵(例如lblExampleKey),而不是預期的翻譯文字。
  • 嘗試重建使用者端程式庫或使快取失效無法解決問題。

原因

/conf下過時或衝突的i18n字典檔案可能會導致Sling ResourceBundle快取無法使用新金鑰更新。 這會導致UI標籤無法解析。 刪除過時的節點並確保僅存在預期的字典,可讓快取重新整理並顯示正確的翻譯。

解決方法 resolution

請依照下列步驟解決問題:

  1. 識別/conf下過時或衝突的i18n字典檔案,例如/conf/<project>/i18n/en.jsonfr.json
  2. 使用篩選定義建立FileVault內容套件,以刪除的過時字典檔案為目標。 針對您要移除的每個過時字典節點使用mode="replace",並將這些路徑的封裝裝載保留空白,以便安裝作業從儲存庫中移除指定的節點。
  3. 透過您的CI/CD管道將套件部署到作者環境。
  4. 將變更復寫至發佈環境,以確保所有層級間的一致性。
  5. 確認無法再存取過時的字典檔案(例如/conf/<project>/i18n/en.jsonfr.json),並在直接存取時傳回404回應。
  6. 確認UI標籤現在解析為正確的翻譯文字。

備註

如果您要將字典移轉至/apps,請在其中新增字典,並確保舊的/conf篩選器使用取代模式移除相同版本中過時的節點。

相關閱讀

國際化元件和應用程式

recommendation-more-help
experience-cloud-kcs-help-kbarticles