Index: lutinutil/src/java/org/codelutin/i18n/Language.java diff -u lutinutil/src/java/org/codelutin/i18n/Language.java:1.6 lutinutil/src/java/org/codelutin/i18n/Language.java:1.7 --- lutinutil/src/java/org/codelutin/i18n/Language.java:1.6 Fri Feb 8 15:30:16 2008 +++ lutinutil/src/java/org/codelutin/i18n/Language.java Sun Feb 10 15:59:44 2008 @@ -27,7 +27,6 @@ import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; -import java.io.InputStream; import java.net.URL; import java.util.ArrayList; import java.util.Enumeration; @@ -47,28 +46,29 @@ public class Language { /** to use log facility, just put in your code: log.info(\"...\"); */ - private static final Log log = LogFactory.getLog(Language.class); + private static final Log log = LogFactory.getLog(Language.class); protected Properties resource; protected Locale locale; + protected String encoding; public Language(Locale l,String toEncoding) { this.locale=l; + this.encoding=toEncoding; String[] filenames = getFilenames(l); for (String filename : filenames) { try { resource = new Properties(); List urls = Resource.getURLs(filename); for (URL url : urls) { - log.info("Langue file URL:" + url); - // Logger.getLogger("org.codelutin.i18n.Language.Language").info("Langue file URL:" + url); + log.info(this+" " + url); + I18nFileReader fileReader = new I18nFileReader(); fileReader.load2(url.openStream(), toEncoding); resource.putAll(fileReader); } } catch (Exception eee) { log.warn("Unable to load language file: " + filename); - //Logger.getLogger("org.codelutin.i18n.Language.Language").warning("Unable to load language file: " + filename); resource = null; continue; } @@ -76,32 +76,8 @@ } } - /** - * @param l la locale a utiliser - * @deprecated L'appel à {@link I18nFileReader#load(InputStream, String)} ne fonctionne pas bien. - */ public Language(Locale l) { - this.locale=l; - String[] filenames = getFilenames(l); - for (String filename : filenames) { - try { - resource = new Properties(); - List urls = Resource.getURLs(filename); - for (URL url : urls) { - log.info("Langue file URL:" + url); - //Logger.getLogger("org.codelutin.i18n.Language.Language").info("Langue file URL:" + url); - I18nFileReader fileReader = new I18nFileReader(); - fileReader.load2(url.openStream(), "UTF-8"); - resource.putAll(fileReader); - } - } catch (Exception eee) { - log.warn("Unable to load language file: " + filename); - //Logger.getLogger("org.codelutin.i18n.Language.Language").warning("Unable to load language file: " + filename); - resource = null; - continue; - } - break; - } + this(l,"UTF-8"); } /** @@ -206,4 +182,30 @@ public Locale getLocale() { return locale; } + + public String getEncoding() { + return encoding; + } + + @Override + public boolean equals(Object o) { + if (this == o) return true; + if (!(o instanceof Language)) return false; + + Language language = (Language) o; + return encoding.equals(language.encoding) && locale.equals(language.locale); + } + + @Override + public int hashCode() { + int result; + result = locale.hashCode(); + result = 31 * result + encoding.hashCode(); + return result; + } + + @Override + public String toString() { + return "Language "; + } } \ No newline at end of file