我试图在AEM的翻译器(/libs/cq/i18n/translator.html)中使用我创建的字典中的Javascript动态检索已翻译的消息。
我们设置了字典值,如:
String EN FR
========================================================
TEST-001 This is a Test1 FR:This is a Test1
TEST-002 This is a Test2 FR:This is a Test2
TEST-003 This is a Test3 FR:This is a Test3
我查看了国际化UI字符串文章(https://docs.adobe.com/docs/en/aem/6-2/develop/components/i18n/i18n-dev.html)但是当我尝试以下内容时:
Granite.I18n.setLocale("en");
Granite.I18n.get("TEST-001");
或
Granite.I18n.setLocale("fr");
Granite.I18n.get("TEST-001");
我只返回了我传入的字符串(即" TEST-001")。
有人可以帮我理解如何检索已翻译的值吗?
谢谢!
答案 0 :(得分:1)
取决于您的翻译存储位置,您可以尝试类似 -
<script>
Granite.I18n.init({
locale: "<%= LocaleUtil.toRFC4646(request.getLocale()).toLowerCase() %>",
urlPrefix: "<%= request.getContextPath() %>/libs/cq/i18n/dict."
});
</script>
这是从这里取的样本 -
/libs/cq/gui/components/projects/admin/page/head.jsp
其他方式是
<html
lang="<%= LocaleUtil.toRFC4646(request.getLocale()).toLowerCase() %>"
data-i18n-dictionary-src="<%= request.getContextPath() %>/libs/cq/i18n/dict.{+locale}.json">
取自 - /libs/fd/fm/gui/components/admin/creationwizard/page/page.jsp