2016-04-25 72 views
1

我需要改变网站的编程语言在Liferay中和Im卡住。我以为我可以使用LanguageUtil类,但我不知道如何。更改站点语言编程

有什么办法,以编程方式更改Liferay语言? (我知道我可以在管理面板中做到这一点,但我需要在我的代码中拥有该功能)。

现在我的代码如下所示:

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

回答

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> 

并通过一个门户

Change languaje portlet

商祺!

2

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

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