按照此处的文档,我试图让 i18n 在我的 AEM 6.2 实例上工作:
Locale pageLang = currentPage.getLanguage(false);
ResourceBundle resourceBundle = slingRequest.getResourceBundle(pageLang);
I18n i18n = new I18n(resourceBundle);
问题是,如果什么也没找到,我总是得到一个org.apache.sling.engine.impl.helper.NullResourceBundle
似乎只是一个空的后备包。我尝试在 OSGi 配置中预加载捆绑包,但无济于事。
即使我自己的翻译不起作用,至少它应该包含产品提供的预定义翻译。虽然我自己出现在工具中: http://localhost:4502/libs/cq/i18n/translator.html
任何想法为什么我没有得到有效的资源包?
编辑:我做了一个简单的 JSP 测试,它在那里工作,所以它与 Sling 模型有关,其中代码驻留在@PostConstruct
模型改编自SlingHttpServletRequest