在liferay中更改Web内容的语言

时间:2015-04-23 09:21:51

标签: liferay

我想在liferay中更改网页内容的语言。所以我尝试用这种方式以编程方式将语言从en_EN更改为sk_SK(斯洛伐克语):

$themeDisplay.getLanguageId() // there it is en_EN
$themeDisplay.setLanguageId('sk_SK')
$themeDisplay.getLanguageId() // there it is sk_SK

与此代码相同

#set ($locale=$localeUtil.fromLanguageId("sk_SK"))
$themeDisplay.setLocale($locale)
$themeDisplay.getLocale()

但网络内容并没有改变。你知道为什么吗?

如果不清楚,我会尝试举例说明:网页顶部通常是一些语言按钮,因此您可以在更多语言之间切换。我想在liferay中做同样的事情。所以我有一个带有更多翻译的WebContent,我想用这个按钮更改webContent的语言/翻译。

3 个答案:

答案 0 :(得分:2)

  

在网页的顶部通常是一些语言按钮,所以你可以   在更多语言之间切换。我想在liferay中做同样的事情。所以我有   一个WebContent有更多的翻译和我想要的这个按钮   更改webContent的语言/翻译。

如果我没错,Liferay已经提供了开箱即用的功能。你不需要务实地做到这一点。

enter image description here

使用Liferay的导航 portlet切换语言。

答案 1 :(得分:0)

谢谢,但我想将它添加到我的代码中,放入* .vm文件中。所以这是我的解决方案(最后我找到了)

<div id="language-portlet">
    #set ($VOID = $velocityPortletPreferences.setValue('portlet-setup-show-borders', 'true'))
    #set ($VOID = $theme.runtime("82", '', $velocityPortletPreferences.toString()))
    #set ($VOID = $velocityPortletPreferences.reset())
</div>

它会在您的网页上显示可能的翻译。 (对我而言,这是旗帜)

答案 2 :(得分:0)

最佳解决方案是覆盖此属性

locale.default.request=false
company.default.locale=sk_SK 

portal-ext.proprties