在我们的 portlet 中,我们尝试使用 Liferay.Language.get("key")
访问 javascript 文件中的语言属性。
但Liferay.Language.get("key")
返回键而不是关联的值。
有没有人面临类似的问题?
我们正在使用Liferay 6.1 EE。并且已经看过LPS-16513
最奇怪的部分是它在我们的本地盒子上工作,但在服务器上失败。
除了使用 ext 之外还有什么指针吗?
根据您提供的信息,我的最佳猜测是,您请求的密钥没有与之关联的翻译 - 因为这些返回密钥是默认行为。
但是,这个问题已经很老了,你可能已经解决了。(如果是这样,请告诉我们如何 - 如果您能记住原因)
我也无法让它检索在 Portlet 本身的资源包中指定的有效键的值。不过,它将检索默认Liferay语言包中的键值。一个技巧是添加一个 liferay-hook.xml 到你的 portlet 中,并添加如下内容:
<language-properties>Language.properties</language-properties>
当我这样做时,它现在将检索我的自定义/附加密钥。副作用是您的密钥也将在Liferay中在全球范围内可用。
不适用于 Portlet 级别 language.pro。
我对 6.2 EE 也有同样的问题,作为替代方案,我选择了以下解决方案。
<script>
var test = "<liferay-ui:message key='test'/>";
console.log("This is working :: "+test)
</script>
谢谢萨加尔·维亚斯
您还可以使用以下代码片段获取所需的值:
var value='<%=LanguageUtil.get(pageContext, "key") %>';