Index: lutinutil/src/java/org/codelutin/i18n/I18n.java diff -u lutinutil/src/java/org/codelutin/i18n/I18n.java:1.7 lutinutil/src/java/org/codelutin/i18n/I18n.java:1.8 --- lutinutil/src/java/org/codelutin/i18n/I18n.java:1.7 Wed Jan 23 12:21:25 2008 +++ lutinutil/src/java/org/codelutin/i18n/I18n.java Fri Feb 8 15:17:00 2008 @@ -23,9 +23,9 @@ * * @author Benjamin Poussin * Copyright Code Lutin - * @version $Revision: 1.7 $ + * @version $Revision: 1.8 $ * - * Mise a jour: $Date: 2008-01-23 12:21:25 $ + * Mise a jour: $Date: 2008-02-08 15:17:00 $ * par : $Author: tchemit $ */ @@ -284,11 +284,21 @@ } protected static void setLanguage(LanguageEnum language, String toEncoding) { - I18n.language = new Language(new Locale(language.name()), toEncoding); + Language oldLanguage = I18n.language; + Locale newLocale = new Locale(language.name()); + changeLanguage(toEncoding, oldLanguage, newLocale); } protected static void setLanguage(LanguageEnum language, CountryEnum country, String toEncoding) { - I18n.language = new Language(new Locale(language.name(),country.name()), toEncoding); + Language oldLanguage = I18n.language; + Locale newLocale = new Locale(language.name(), country.name()); + changeLanguage(toEncoding, oldLanguage, newLocale); + } + + protected static void changeLanguage(String toEncoding, Language oldLanguage, Locale newLocale) { + if (oldLanguage==null || !oldLanguage.getLocale().equals(newLocale)) { + I18n.language = new Language(newLocale, toEncoding); + } } } //I18n