我需要在Liferay中以编程方式更改网站语言并且我卡住了。我以为我可以使用LanguageUtil类,但我不知道如何。
有没有办法以编程方式更改Liferay语言? (我知道我可以在管理面板中执行此操作,但我也需要在我的代码中使用该功能。)
现在我的代码看起来像这样:
@ResourceMapping("changeLanguageToEnglish")
public void changeLanguageToEnglish(){
LanguageUtil langUtil = new LanguageUtil();
//langUtil.setLanguage(language);
}
答案 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
问候!