in src/main/java/org/apache/sling/i18n/impl/JcrResourceBundleProvider.java [634:666]
private void preloadBundles() {
if (this.preloadBundles && !resourceBundleRegistry.isClosed()) {
try (final ResourceResolver resolver = createResourceResolver()) {
final Iterator<Map<String, Object>> bundles =
resolver.queryResources(JcrResourceBundle.QUERY_LANGUAGE_ROOTS, "xpath");
final Set<Key> usedKeys = new HashSet<>();
while (bundles.hasNext()) {
final Map<String, Object> bundle = bundles.next();
if (bundle.containsKey(PROP_LANGUAGE) && bundle.containsKey(PROP_PATH)) {
final String path = bundle.get(PROP_PATH).toString();
final String language = bundle.get(PROP_LANGUAGE).toString();
if (this.pathFilter.includePath(path)) {
final Locale locale = toLocale(language);
final String baseName = bundle.containsKey(PROP_BASENAME)
? bundle.get(PROP_BASENAME).toString()
: null;
final Key key = new Key(baseName, locale);
if (usedKeys.add(key)) {
getResourceBundleInternal(resolver, baseName, locale);
}
} else {
log.warn(
"Ignoring i18n bundle for language {} at {} because it is not included by the path filter",
language,
path);
}
}
}
} catch (final LoginException le) {
log.error("Unable to create service user resource resolver.", le);
}
}
}