2016-04-25 2 views
1

J'ai besoin de changer la langue du site par programme dans Liferay et Im coincé. Je pensais que je peux utiliser la classe LanguageUtil, mais je ne sais pas comment.Modifier la langue du site par programme

Est-il possible de changer le langage Liferay par programme? (Je sais que je peux le faire dans le panneau d'administration, mais j'ai aussi besoin de cette fonctionnalité dans mon code).

Maintenant mon code ressemble à ceci:

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

Répondre

1

je peux le faire en utilisant les 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 

également par un crochet

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

Et à travers un portlet

Change languaje portlet

Cordialement!

2

Je n'ai pas essayé, mais je pense que vous devez changer l'ensemble des paramètres régionaux est la session utilisateur:

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