Index: lutinutil/src/java/org/codelutin/i18n/Language.java diff -u lutinutil/src/java/org/codelutin/i18n/Language.java:1.3 lutinutil/src/java/org/codelutin/i18n/Language.java:1.4 --- lutinutil/src/java/org/codelutin/i18n/Language.java:1.3 Fri Dec 21 10:34:32 2007 +++ lutinutil/src/java/org/codelutin/i18n/Language.java Wed Jan 23 09:41:53 2008 @@ -31,6 +31,7 @@ import java.net.URL; import java.util.ArrayList; import java.util.Enumeration; +import java.util.List; import java.util.Locale; import java.util.MissingResourceException; import java.util.Properties; @@ -50,10 +51,14 @@ String[] filenames = getFilenames(l); for (String filename : filenames) { try { - URL url = Resource.getURL(filename); - Logger.getLogger("org.codelutin.i18n.Language.Language").info("Langue file URL:" + url); - resource = new I18nFileReader(); - ((I18nFileReader)resource).load2(url.openStream(), toEncoding); + resource = new Properties(); + List urls = Resource.getURLs(filename); + for (URL url : urls) { + Logger.getLogger("org.codelutin.i18n.Language.Language").info("Langue file URL:" + url); + I18nFileReader fileReader = new I18nFileReader(); + fileReader.load2(url.openStream(), toEncoding); + resource.putAll(fileReader); + } } catch (Exception eee) { Logger.getLogger("org.codelutin.i18n.Language.Language").warning("Unable to load language file: " + filename); resource = null; @@ -71,10 +76,14 @@ String[] filenames = getFilenames(l); for (String filename : filenames) { try { - URL url = Resource.getURL(filename); - Logger.getLogger("org.codelutin.i18n.Language.Language").info("Langue file URL:" + url); - resource = new I18nFileReader(); - ((I18nFileReader)resource).load(url.openStream(), "UTF-8"); + resource = new Properties(); + List urls = Resource.getURLs(filename); + for (URL url : urls) { + 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) { Logger.getLogger("org.codelutin.i18n.Language.Language").warning("Unable to load language file: " + filename); resource = null; @@ -93,8 +102,8 @@ * @return un tableau de nom de fichier */ String[] getFilenames(Locale l) { - String prefix = "language"; - String postfix = ".properties"; + String prefix = ".*i18n/.+"; + String postfix = "\\.properties"; java.util.List result = new ArrayList(); if (!"".equals(l.getLanguage())) { if (!"".equals(l.getCountry())) {