Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Liferay 以编程方式更改站点语言_Liferay_Liferay 6_Liferay Theme - Fatal编程技术网

Liferay 以编程方式更改站点语言

Liferay 以编程方式更改站点语言,liferay,liferay-6,liferay-theme,Liferay,Liferay 6,Liferay Theme,我需要在Liferay中以编程方式更改站点语言,我被卡住了。我想我可以使用LanguageUtil类,但我不知道如何使用 有没有办法以编程方式更改Liferay语言?(我知道我可以在管理面板中这样做,但我的代码中也需要这个功能) 现在,我的代码如下所示: @ResourceMapping("changeLanguageToEnglish") public void changeLanguageToEnglish(){ LanguageUtil langUtil = new Lan

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

有没有办法以编程方式更改Liferay语言?(我知道我可以在管理面板中这样做,但我的代码中也需要这个功能)

现在,我的代码如下所示:

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

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

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

我可以使用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

问候