Изменить язык сайта программно

Мне нужно программно изменить язык сайта в Liferay, и я застрял. Я думал, что могу использовать класс LanguageUtil, но не знаю как.

Есть ли способ изменить язык Liferay программно? (Я знаю, что могу сделать это в панели администратора, но мне также нужно иметь эту функцию в моем коде).

Теперь мой код выглядит так:

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

person G.Spansky    schedule 25.04.2016    source источник


Ответы (2)


Я могу сделать это с помощью 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>

И через портлет

портлет изменения языка

С Уважением!

person JMF    schedule 26.04.2016

Я не пробовал, но думаю, что вам нужно изменить локаль, установленную в сеансе пользователя:

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