Author: fdesbois Date: 2011-05-10 15:52:04 +0200 (Tue, 10 May 2011) New Revision: 1915 Url: http://nuiton.org/repositories/revision/i18n/1915 Log: Improve format case, MessageFormat must format all messages even there is no args Modified: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18n.java trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormat.java Modified: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18n.java =================================================================== --- trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18n.java 2011-05-10 13:44:53 UTC (rev 1914) +++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18n.java 2011-05-10 13:52:04 UTC (rev 1915) @@ -217,12 +217,14 @@ I18nLanguage language = getLanguage(locale); String result = language.translate(message); - if (args.length == 0) { + // Don't check the length, this will be done directly in formatter if necessary. + // In MessageFormat case it must format all messages even there is no args (because of '' escape case). +// if (args.length == 0) { +// +// // no argument form translation +// return applyFilter(result); +// } - // no argument form translation - return applyFilter(result); - } - try { return applyFilter(formatter.format(locale, result, args)); } catch (Exception eee) { Modified: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormat.java =================================================================== --- trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormat.java 2011-05-10 13:44:53 UTC (rev 1914) +++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormat.java 2011-05-10 13:52:04 UTC (rev 1915) @@ -50,7 +50,14 @@ @Override public String format(Locale locale, String message, Object... args) { - return String.format(locale, message, args); + String result; + // Previous behavior, no format will be done for empty args + if (args.length == 0) { + result = message; + } else { + result = String.format(locale, message, args); + } + return result; } },