Resolving i18n issues due to missing path in JcrResourceBundleProvider configuration
This article discusses the Adobe Experience Manager (AEM) issue where the Internationalization (i18n) functionality for UI strings is not working as expected, after upgrading from Service Pack 6.5.17 to 6.5.20. The resolution involves adding /etc to the included.paths property in the JcrResourceBundleProvider configuration.
Description description
Environment
Adobe Experience Manager (AEM) Version: 6.5.20
Affected Environment: Production (Author Instance)
Issue
After upgrading Adobe Experience Manager (AEM) from Service Pack 6.5.17 to 6.5.20, the Internationalization (i18n) functionality for UI strings was not working as expected in the production author environment.
Root cause
The missing /etc path in the org.apache.sling.i18n.impl.JcrResourceBundleProvider configuration prevented the system from accessing certain resource bundles or translations stored under that path.
Resolution resolution
To resolve the issue, follow these steps:
Access Configuration Manager
-
Navigate to
/system/console/configMgrin your AEM instance. -
Locate the
org.apache.sling.i18n.impl.JcrResourceBundleProviderconfiguration. -
Update the
JcrResourceBundleProviderconfiguration to add/etcto theincluded.pathsproperty.Example configuration:
code language-none "included.paths": [ "/libs", "/apps", "/etc" ]
Optional steps if the issue persists
- Restart the AEM instance to apply the configuration changes.
- Clear the AEM and dispatcher caches to ensure that the updated configuration is reflected.
- Test various components and pages to ensure that i18n keys are resolved as expected.