"Liferay.Language.get" JavaScript 调用返回键而不是值



在我们的 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") %>';

最新更新