以编程方式更改网站语言

时间:2016-04-25 13:41:09

标签: liferay liferay-6 liferay-theme

我需要在Liferay中以编程方式更改网站语言并且我卡住了。我以为我可以使用LanguageUtil类,但我不知道如何。

有没有办法以编程方式更改Liferay语言? (我知道我可以在管理面板中执行此操作,但我也需要在我的代码中使用该功能。)

现在我的代码看起来像这样:

@ResourceMapping("changeLanguageToEnglish")
public void changeLanguageToEnglish(){
        LanguageUtil langUtil = new LanguageUtil();
        //langUtil.setLanguage(language);
}

2 个答案:

答案 0 :(得分:2)

我没有尝试,但我认为您必须更改区域设置是用户会话:

String languageId = "en_US";
Locale locale = LocaleUtil.fromLanguageId(languageId);
session.setAttribute(org.apache.struts.Globals.LOCALE_KEY, locale);  

答案 1 :(得分:1)

我可以使用portal-ext.properties:

执行此操作
#
# Set the default locale used by Liferay. This locale is no longer set at
# the VM level. See LEP-2584.
#
user.country=US
user.language=en

还有一个钩子

<hook>
     <language-properties>content/Language_en.properties</language-properties>
     <language-properties>content/Language_fa.properties</language-properties>
</hook>

并通过portlet

Change languaje portlet

问候!