I18n-commits
Threads by month
- ----- 2026 -----
- June
- May
- April
- March
- February
- January
- ----- 2025 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2024 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2023 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2022 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2021 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2020 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2019 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2018 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2017 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2016 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2015 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2014 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2013 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2012 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2011 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2010 -----
- December
- November
- October
- September
- August
- July
- June
- May
- April
- March
- February
- January
- ----- 2009 -----
- December
- November
- October
- September
- August
May 2011
- 4 participants
- 38 discussions
r1913 - in trunk: nuiton-i18n/src/main/java/org/nuiton/i18n nuiton-i18n/src/test/resources/META-INF src/site/apt src/site/en/apt
by tchemit@users.nuiton.org 10 May '11
by tchemit@users.nuiton.org 10 May '11
10 May '11
Author: tchemit
Date: 2011-05-10 13:16:26 +0200 (Tue, 10 May 2011)
New Revision: 1913
Url: http://nuiton.org/repositories/revision/i18n/1913
Log:
add file header
add svn properties
Modified:
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormat.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormatter.java
trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_ja_JP.properties
trunk/src/site/apt/gwt.apt
trunk/src/site/en/apt/gwt.apt
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 11:15:01 UTC (rev 1912)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormat.java 2011-05-10 11:16:26 UTC (rev 1913)
@@ -1,3 +1,27 @@
+/*
+ * #%L
+ * I18n :: Api
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2004 - 2011 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
package org.nuiton.i18n;
import java.text.MessageFormat;
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormat.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormatter.java
===================================================================
--- trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormatter.java 2011-05-10 11:15:01 UTC (rev 1912)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormatter.java 2011-05-10 11:16:26 UTC (rev 1913)
@@ -1,3 +1,27 @@
+/*
+ * #%L
+ * I18n :: Api
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2004 - 2011 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
package org.nuiton.i18n;
import java.util.Locale;
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormatter.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_ja_JP.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/src/site/apt/gwt.apt
===================================================================
--- trunk/src/site/apt/gwt.apt 2011-05-10 11:15:01 UTC (rev 1912)
+++ trunk/src/site/apt/gwt.apt 2011-05-10 11:16:26 UTC (rev 1913)
@@ -1,3 +1,27 @@
+~~~
+~~ #%L
+~~ I18n
+~~
+~~ $Id$
+~~ $HeadURL$
+~~ %%
+~~ Copyright (C) 2008 - 2011 CodeLutin
+~~ %%
+~~ This program is free software: you can redistribute it and/or modify
+~~ it under the terms of the GNU Lesser General Public License as
+~~ published by the Free Software Foundation, either version 3 of the
+~~ License, or (at your option) any later version.
+~~
+~~ This program is distributed in the hope that it will be useful,
+~~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+~~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+~~ GNU General Lesser Public License for more details.
+~~
+~~ You should have received a copy of the GNU General Lesser Public
+~~ License along with this program. If not, see
+~~ <http://www.gnu.org/licenses/lgpl-3.0.html>.
+~~ #L%
+~~~
GWT UiBinder et i18n, vous avez dit un cauchemard ?
* GWT avec nuiton-i18n (et Maven) et ça coule de source
Property changes on: trunk/src/site/apt/gwt.apt
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/src/site/en/apt/gwt.apt
===================================================================
--- trunk/src/site/en/apt/gwt.apt 2011-05-10 11:15:01 UTC (rev 1912)
+++ trunk/src/site/en/apt/gwt.apt 2011-05-10 11:16:26 UTC (rev 1913)
@@ -1,3 +1,27 @@
+~~~
+~~ #%L
+~~ I18n
+~~
+~~ $Id$
+~~ $HeadURL$
+~~ %%
+~~ Copyright (C) 2008 - 2011 CodeLutin
+~~ %%
+~~ This program is free software: you can redistribute it and/or modify
+~~ it under the terms of the GNU Lesser General Public License as
+~~ published by the Free Software Foundation, either version 3 of the
+~~ License, or (at your option) any later version.
+~~
+~~ This program is distributed in the hope that it will be useful,
+~~ but WITHOUT ANY WARRANTY; without even the implied warranty of
+~~ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+~~ GNU General Lesser Public License for more details.
+~~
+~~ You should have received a copy of the GNU General Lesser Public
+~~ License along with this program. If not, see
+~~ <http://www.gnu.org/licenses/lgpl-3.0.html>.
+~~ #L%
+~~~
GWT UiBinder and i18n, you said nightmare ?
* GWT with nuiton-i18n (and Maven) and it's easy
Property changes on: trunk/src/site/en/apt/gwt.apt
___________________________________________________________________
Added: svn:eol-style
+ native
1
0
r1912 - in trunk/maven-i18n-plugin/src: main/java/org/nuiton/i18n/plugin/bundle test/java/org/nuiton/i18n/plugin/bundle
by tchemit@users.nuiton.org 10 May '11
by tchemit@users.nuiton.org 10 May '11
10 May '11
Author: tchemit
Date: 2011-05-10 13:15:01 +0200 (Tue, 10 May 2011)
New Revision: 1912
Url: http://nuiton.org/repositories/revision/i18n/1912
Log:
improve converter from String.format to MessageFormat
Modified:
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java
trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java 2011-05-10 10:35:33 UTC (rev 1911)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java 2011-05-10 11:15:01 UTC (rev 1912)
@@ -5,7 +5,7 @@
* $Id$
* $HeadURL$
* %%
- * Copyright (C) 2007 - 2011 CodeLutin
+ * Copyright (C) 2007 - 2011 CodeLutin, Tony chemit
* %%
* This program is free software: you can redistribute it and/or modify
* it under the terms of the GNU Lesser General Public License as
@@ -24,26 +24,28 @@
*/
package org.nuiton.i18n.plugin.bundle;
+import org.apache.commons.lang.StringUtils;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
import java.text.MessageFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
/**
- * Converter used to change printf args syntax by {@link MessageFormat} syntax
+ * Converter used to change printf args syntax by {@link MessageFormat} syntax.
* <p/>
* Created: 05/05/11
*
* @author fdesbois <desbois(a)codelutin.com>
- * $Id$
+ * @author tchemit <chemit(a)codelutin.com>
* @plexus.component role="org.nuiton.i18n.plugin.bundle.BundleFormatConverter" role-hint="toMessageFormat"
* @since 2.4
*/
public class StringFormatToMessageFormat implements BundleFormatConverter {
- private static final Log log = LogFactory.getLog(StringFormatToMessageFormat.class);
+ private static final Log log =
+ LogFactory.getLog(StringFormatToMessageFormat.class);
protected static Pattern PATTERN = Pattern.compile("%\\$?(\\d?)[^\\s']*");
@@ -55,7 +57,9 @@
Matcher matcher = PATTERN.matcher(value);
boolean matches = matcher.find();
- log.debug("> value : " + value + " _ matches ? " + matches);
+ if (log.isDebugEnabled()) {
+ log.debug("> value : " + value + " _ matches ? " + matches);
+ }
if (matches) {
@@ -63,33 +67,58 @@
matcher.reset();
StringBuffer sb = new StringBuffer();
- for (int i = 0; matcher.find(); i++) {
+ int i = 0;
- log.debug("> match group : " + matcher.group(0));
- log.debug("> match group for number : " + matcher.group(1));
+ while (matcher.find()) {
- int nb = i;
+ if (log.isDebugEnabled()) {
+ log.debug("> match group : " + matcher.group(0));
+ log.debug("> match group for number : " + matcher.group(1));
+ }
- // Group 1 is the arg number, for MessageFormat it starts from 0
- // compare to printf that starts from 1
- if (!"".equals(matcher.group(1))) {
- nb = Integer.parseInt(matcher.group(1)) - 1;
+ String argNumber = matcher.group(1);
+
+ int nb;
+
+ if (StringUtils.isNotEmpty(argNumber)) {
+
+ // there is a arg position number, so must use the -1 value
+ nb = Integer.parseInt(argNumber) - 1;
+ } else {
+
+ // use the current argument position value
+ nb = i;
}
+// int nb = i;
+// // Group 1 is the arg number, for MessageFormat it starts from 0
+// // compare to printf that starts from 1
+// if (!"".equals(matcher.group(1))) {
+// nb = Integer.parseInt(matcher.group(1)) - 1;
+// }
+
// Append replacement for current occurence
matcher.appendReplacement(sb, "\\{" + nb + "\\}");
+ i++;
}
// Append last chars from input String
matcher.appendTail(sb);
result = sb.toString();
- log.debug("Result : " + result);
+ if (log.isDebugEnabled()) {
+ log.debug("Result : " + result);
+ }
- result = escapeQuoteChar(result);
+// result = escapeQuoteChar(result);
} else {
+
+ // there is no argument in incoming string value
result = value;
}
+
+ result = escapeQuoteChar(result);
+
return result;
}
@@ -102,15 +131,18 @@
protected String escapeQuoteChar(String value) {
// Replace ' by ''
- String result = value.replaceAll("([^'])'([^'])", "$1''$2");
+ String result = value.replaceAll("'", "''");
+// String result = value.replaceAll("([^'])'([^'])", "$1''$2");
// Manage ' as last char
- result = result.replaceFirst("([^'])'$", "$1''");
+// result = result.replaceFirst("([^'])'$", "$1''");
// Manage ' as first char
- result = result.replaceFirst("^'([^'])", "''$1");
+// result = result.replaceFirst("^'([^'])", "''$1");
- log.debug("Result with ' escape : " + result);
+ if (log.isDebugEnabled()) {
+ log.debug("Result with ' escape : " + result);
+ }
return result;
}
Modified: trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java
===================================================================
--- trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java 2011-05-10 10:35:33 UTC (rev 1911)
+++ trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java 2011-05-10 11:15:01 UTC (rev 1912)
@@ -28,41 +28,70 @@
import org.junit.Test;
/**
+ * Tests the {@link StringFormatToMessageFormat}.
+ * <p/>
* Created: 05/05/11
*
* @author fdesbois <desbois(a)codelutin.com>
- * $Id$
*/
public class StringFormatToMessageFormatTest {
+ BundleFormatConverter converter;
+
@Test
public void testConvert() throws Exception {
- BundleFormatConverter converter = new StringFormatToMessageFormat();
- String expected = "Salut à tous pour l'ouverture";
- String actual = converter.convert("Salut à tous pour l'ouverture");
- Assert.assertEquals(expected, actual);
+ converter = new StringFormatToMessageFormat();
- expected = "Salut à tous pour l''ouverture de {0}";
- actual = converter.convert("Salut à tous pour l'ouverture de %s");
- Assert.assertEquals(expected, actual);
+// String expected;
+// String actual;
- expected = "Salut à tous pour l''ouverture de {0}";
- actual = converter.convert("Salut à tous pour l'ouverture de %$1s");
- Assert.assertEquals(expected, actual);
+ convertAndAssertEquals("Salut à tous pour l'ouverture",
+ "Salut à tous pour l''ouverture");
- expected = "Salut à tous pour l''ouverture de {1} le {0}";
- actual = converter.convert("Salut à tous pour l'ouverture de %$2s le %$1t");
- Assert.assertEquals(expected, actual);
+ convertAndAssertEquals("Salut à tous pour l''ouverture",
+ "Salut à tous pour l''''ouverture");
- expected = "Salut à tous pour l''ouverture de {1} le {0} à l''heure {0}";
- actual = converter.convert("Salut à tous pour l'ouverture de %$2s le %$1td à l'heure %1tH");
- Assert.assertEquals(expected, actual);
+// actual = converter.convert("Salut à tous pour l'ouverture");
+// Assert.assertEquals(expected, actual);
- expected = "Salut à tous pour l''ouverture de ''{0}''";
- actual = converter.convert("Salut à tous pour l''ouverture de '%$1s'");
+ convertAndAssertEquals("Salut à tous pour l'ouverture de %s",
+ "Salut à tous pour l''ouverture de {0}");
+// expected = "Salut à tous pour l''ouverture de {0}";
+// actual = converter.convert("Salut à tous pour l'ouverture de %s");
+// Assert.assertEquals(expected, actual);
+
+ convertAndAssertEquals("Salut à tous pour l'ouverture de %$1s",
+ "Salut à tous pour l''ouverture de {0}");
+// expected = "Salut à tous pour l''ouverture de {0}";
+// actual = converter.convert("Salut à tous pour l'ouverture de %$1s");
+// Assert.assertEquals(expected, actual);
+
+ convertAndAssertEquals("Salut à tous pour l'ouverture de %$2s le %$1t",
+ "Salut à tous pour l''ouverture de {1} le {0}"
+ );
+// expected = "Salut à tous pour l''ouverture de {1} le {0}";
+// actual = converter.convert("Salut à tous pour l'ouverture de %$2s le %$1t");
+// Assert.assertEquals(expected, actual);
+
+ convertAndAssertEquals(
+ "Salut à tous pour l'ouverture de %$2s le %$1td à l'heure %1tH",
+ "Salut à tous pour l''ouverture de {1} le {0} à l''heure {0}"
+ );
+// expected = "Salut à tous pour l''ouverture de {1} le {0} à l''heure {0}";
+// actual = converter.convert("Salut à tous pour l'ouverture de %$2s le %$1td à l'heure %1tH");
+// Assert.assertEquals(expected, actual);
+
+ convertAndAssertEquals("Salut à tous pour l''ouverture de '%$1s'",
+ "Salut à tous pour l''''ouverture de ''{0}''");
+// expected = "Salut à tous pour l''ouverture de ''{0}''";
+// actual = converter.convert("Salut à tous pour l''ouverture de '%$1s'");
+// Assert.assertEquals(expected, actual);
+ }
+
+ protected void convertAndAssertEquals(String incoming, String expected) {
+ String actual = converter.convert(incoming);
Assert.assertEquals(expected, actual);
}
-
}
1
0
Author: tchemit
Date: 2011-05-10 12:35:33 +0200 (Tue, 10 May 2011)
New Revision: 1911
Url: http://nuiton.org/repositories/revision/i18n/1911
Log:
rename eits to introduce their id + add link to its in README files
add svn properties
add file license header
Added:
trunk/maven-i18n-plugin/src/it/ano-1494/
trunk/maven-i18n-plugin/src/it/ano-1494/README.txt
trunk/maven-i18n-plugin/src/it/evo-1507/
Removed:
trunk/maven-i18n-plugin/src/it/ano-encoding/
trunk/maven-i18n-plugin/src/it/evo-formatter/
Modified:
trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/LICENSE.txt
trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/README.txt
trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/changelog.txt
trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/invoker.properties
trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/pom.xml
trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/src/main/java/org/nuiton/i18n/MessageConstants.java
trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/src/main/resources/i18n/ano-encoding-iso-8859-1_en_GB.properties
trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/src/main/resources/i18n/ano-encoding-iso-8859-1_fr_FR.properties
trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/src/main/resources/log4j.properties
trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/verify.groovy
trunk/maven-i18n-plugin/src/it/ano-1494/migrate/LICENSE.txt
trunk/maven-i18n-plugin/src/it/ano-1494/migrate/README.txt
trunk/maven-i18n-plugin/src/it/ano-1494/migrate/changelog.txt
trunk/maven-i18n-plugin/src/it/ano-1494/migrate/invoker.properties
trunk/maven-i18n-plugin/src/it/ano-1494/migrate/pom.xml
trunk/maven-i18n-plugin/src/it/ano-1494/migrate/src/main/java/org/nuiton/i18n/MessageConstants.java
trunk/maven-i18n-plugin/src/it/ano-1494/migrate/src/main/resources/i18n/ano-encoding-migrate_en_GB.properties
trunk/maven-i18n-plugin/src/it/ano-1494/migrate/src/main/resources/i18n/ano-encoding-migrate_fr_FR.properties
trunk/maven-i18n-plugin/src/it/ano-1494/migrate/src/main/resources/log4j.properties
trunk/maven-i18n-plugin/src/it/ano-1494/migrate/verify.groovy
trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/LICENSE.txt
trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/README.txt
trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/changelog.txt
trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/invoker.properties
trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/pom.xml
trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/main/java/org/nuiton/i18n/MessageConstants.java
trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/main/resources/i18n/ano-encoding-utf-8_en_GB.properties
trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/main/resources/i18n/ano-encoding-utf-8_fr_FR.properties
trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/main/resources/i18n/ano-encoding-utf-8_ja_JP.properties
trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/test/java/org/nuiton/i18n/ReadTest.java
trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/test/resources/log4j.properties
trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/verify.groovy
trunk/maven-i18n-plugin/src/it/evo-1507/LICENSE.txt
trunk/maven-i18n-plugin/src/it/evo-1507/README.txt
trunk/maven-i18n-plugin/src/it/evo-1507/changelog.txt
trunk/maven-i18n-plugin/src/it/evo-1507/invoker.properties
trunk/maven-i18n-plugin/src/it/evo-1507/pom.xml
trunk/maven-i18n-plugin/src/it/evo-1507/src/main/resources/i18n/evo-formatter_en_GB.properties
trunk/maven-i18n-plugin/src/it/evo-1507/src/main/resources/i18n/evo-formatter_fr_FR.properties
trunk/maven-i18n-plugin/src/it/evo-1507/src/main/resources/i18n/other-lib-stringformat_en_GB.properties
trunk/maven-i18n-plugin/src/it/evo-1507/src/main/resources/i18n/other-lib-stringformat_fr_FR.properties
trunk/maven-i18n-plugin/src/it/evo-1507/src/test/java/org/nuiton/i18n/ReadMessageFormatTest.java
trunk/maven-i18n-plugin/src/it/evo-1507/src/test/resources/log4j.properties
trunk/maven-i18n-plugin/src/it/evo-1507/verify.groovy
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java
trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java
Added: trunk/maven-i18n-plugin/src/it/ano-1494/README.txt
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-1494/README.txt (rev 0)
+++ trunk/maven-i18n-plugin/src/it/ano-1494/README.txt 2011-05-10 10:35:33 UTC (rev 1911)
@@ -0,0 +1,2 @@
+This it test the bug http://nuiton.org/issues/show/1494.
+
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/README.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/LICENSE.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/README.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/changelog.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/invoker.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/pom.xml
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/src/main/java/org/nuiton/i18n/MessageConstants.java
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/src/main/java/org/nuiton/i18n/MessageConstants.java 2011-05-09 21:51:05 UTC (rev 1909)
+++ trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/src/main/java/org/nuiton/i18n/MessageConstants.java 2011-05-10 10:35:33 UTC (rev 1911)
@@ -1,3 +1,27 @@
+/*
+ * #%L
+ * I18n :: Maven Plugin
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2007 - 2011 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
package org.nuiton.i18n;
/**
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/src/main/java/org/nuiton/i18n/MessageConstants.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/src/main/resources/i18n/ano-encoding-iso-8859-1_en_GB.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/src/main/resources/i18n/ano-encoding-iso-8859-1_fr_FR.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/src/main/resources/log4j.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/iso-8859-1/verify.groovy
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/migrate/LICENSE.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/migrate/README.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/migrate/changelog.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/migrate/invoker.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/migrate/pom.xml
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/maven-i18n-plugin/src/it/ano-1494/migrate/src/main/java/org/nuiton/i18n/MessageConstants.java
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/src/main/java/org/nuiton/i18n/MessageConstants.java 2011-05-09 21:51:05 UTC (rev 1909)
+++ trunk/maven-i18n-plugin/src/it/ano-1494/migrate/src/main/java/org/nuiton/i18n/MessageConstants.java 2011-05-10 10:35:33 UTC (rev 1911)
@@ -1,3 +1,27 @@
+/*
+ * #%L
+ * I18n :: Maven Plugin
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2007 - 2011 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
package org.nuiton.i18n;
/**
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/migrate/src/main/java/org/nuiton/i18n/MessageConstants.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/migrate/src/main/resources/i18n/ano-encoding-migrate_en_GB.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/migrate/src/main/resources/i18n/ano-encoding-migrate_fr_FR.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/migrate/src/main/resources/log4j.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/migrate/verify.groovy
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/LICENSE.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/README.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/changelog.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/invoker.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/pom.xml
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/main/java/org/nuiton/i18n/MessageConstants.java
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/main/java/org/nuiton/i18n/MessageConstants.java 2011-05-09 21:51:05 UTC (rev 1909)
+++ trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/main/java/org/nuiton/i18n/MessageConstants.java 2011-05-10 10:35:33 UTC (rev 1911)
@@ -1,3 +1,27 @@
+/*
+ * #%L
+ * I18n :: Maven Plugin
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2007 - 2011 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
package org.nuiton.i18n;
/**
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/main/java/org/nuiton/i18n/MessageConstants.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/main/resources/i18n/ano-encoding-utf-8_en_GB.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/main/resources/i18n/ano-encoding-utf-8_fr_FR.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/main/resources/i18n/ano-encoding-utf-8_ja_JP.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/test/java/org/nuiton/i18n/ReadTest.java
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/test/java/org/nuiton/i18n/ReadTest.java 2011-05-09 21:51:05 UTC (rev 1909)
+++ trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/test/java/org/nuiton/i18n/ReadTest.java 2011-05-10 10:35:33 UTC (rev 1911)
@@ -1,3 +1,27 @@
+/*
+ * #%L
+ * I18n :: Maven Plugin
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2007 - 2011 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
package org.nuiton.i18n;
import org.junit.Assert;
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/test/java/org/nuiton/i18n/ReadTest.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/src/test/resources/log4j.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/ano-1494/utf-8/verify.groovy
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/evo-1507/LICENSE.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/maven-i18n-plugin/src/it/evo-1507/README.txt
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/README.txt 2011-05-09 21:51:05 UTC (rev 1909)
+++ trunk/maven-i18n-plugin/src/it/evo-1507/README.txt 2011-05-10 10:35:33 UTC (rev 1911)
@@ -1,2 +1,5 @@
+This it test the http://nuiton.org/issues/show/1507.
+
To test I18nFormatterMessageFormat and conversion from string.format syntax
using StringFormatToMessageFormat.
+
Property changes on: trunk/maven-i18n-plugin/src/it/evo-1507/README.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/evo-1507/changelog.txt
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/maven-i18n-plugin/src/it/evo-1507/invoker.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/invoker.properties 2011-05-09 21:51:05 UTC (rev 1909)
+++ trunk/maven-i18n-plugin/src/it/evo-1507/invoker.properties 2011-05-10 10:35:33 UTC (rev 1911)
@@ -24,7 +24,7 @@
###
# A comma or space separated list of goals/phases to execute, may
# specify an empty list to execute the default goal of the IT project
-invoker.goals=clean test -Dlog4j.configuration=file:src/test/resources/log4j.properties
+invoker.goals=clean test
# Optionally, a list of goals to run during further invocations of Maven
#invoker.goals.2=${project.groupId}:${project.artifactId}:${project.version}:run
Property changes on: trunk/maven-i18n-plugin/src/it/evo-1507/invoker.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/evo-1507/pom.xml
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/evo-1507/src/main/resources/i18n/evo-formatter_en_GB.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/evo-1507/src/main/resources/i18n/evo-formatter_fr_FR.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/evo-1507/src/main/resources/i18n/other-lib-stringformat_en_GB.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/evo-1507/src/main/resources/i18n/other-lib-stringformat_fr_FR.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/maven-i18n-plugin/src/it/evo-1507/src/test/java/org/nuiton/i18n/ReadMessageFormatTest.java
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/java/org/nuiton/i18n/ReadMessageFormatTest.java 2011-05-09 21:51:05 UTC (rev 1909)
+++ trunk/maven-i18n-plugin/src/it/evo-1507/src/test/java/org/nuiton/i18n/ReadMessageFormatTest.java 2011-05-10 10:35:33 UTC (rev 1911)
@@ -1,3 +1,27 @@
+/*
+ * #%L
+ * I18n :: Maven Plugin
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2007 - 2011 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
package org.nuiton.i18n;
import org.junit.After;
Property changes on: trunk/maven-i18n-plugin/src/it/evo-1507/src/test/java/org/nuiton/i18n/ReadMessageFormatTest.java
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/evo-1507/src/test/resources/log4j.properties
___________________________________________________________________
Added: svn:eol-style
+ native
Property changes on: trunk/maven-i18n-plugin/src/it/evo-1507/verify.groovy
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java 2011-05-10 10:32:40 UTC (rev 1910)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java 2011-05-10 10:35:33 UTC (rev 1911)
@@ -1,3 +1,27 @@
+/*
+ * #%L
+ * I18n :: Maven Plugin
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2007 - 2011 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
package org.nuiton.i18n.plugin.bundle;
import org.nuiton.i18n.I18nFormatter;
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java 2011-05-10 10:32:40 UTC (rev 1910)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java 2011-05-10 10:35:33 UTC (rev 1911)
@@ -1,3 +1,27 @@
+/*
+ * #%L
+ * I18n :: Maven Plugin
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2007 - 2011 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
package org.nuiton.i18n.plugin.bundle;
import java.text.MessageFormat;
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java
___________________________________________________________________
Added: svn:eol-style
+ native
Modified: trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java
===================================================================
--- trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java 2011-05-10 10:32:40 UTC (rev 1910)
+++ trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java 2011-05-10 10:35:33 UTC (rev 1911)
@@ -1,3 +1,27 @@
+/*
+ * #%L
+ * I18n :: Maven Plugin
+ *
+ * $Id$
+ * $HeadURL$
+ * %%
+ * Copyright (C) 2007 - 2011 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
package org.nuiton.i18n.plugin.bundle;
import org.junit.Assert;
Property changes on: trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java
___________________________________________________________________
Added: svn:eol-style
+ native
1
0
Author: tchemit
Date: 2011-05-10 12:32:40 +0200 (Tue, 10 May 2011)
New Revision: 1910
Url: http://nuiton.org/repositories/revision/i18n/1910
Log:
use mavenpom plugin version properties
Modified:
trunk/maven-i18n-plugin/pom.xml
Modified: trunk/maven-i18n-plugin/pom.xml
===================================================================
--- trunk/maven-i18n-plugin/pom.xml 2011-05-09 21:51:05 UTC (rev 1909)
+++ trunk/maven-i18n-plugin/pom.xml 2011-05-10 10:32:40 UTC (rev 1910)
@@ -176,18 +176,18 @@
<plugin>
<artifactId>maven-plugin-plugin</artifactId>
- <version>2.5.1</version>
+ <version>${pluginPluginVersion}</version>
</plugin>
<plugin>
<artifactId>maven-invoker-plugin</artifactId>
- <version>1.5</version>
+ <version>${invokerPluginVersion}</version>
</plugin>
<plugin>
<groupId>org.codehaus.plexus</groupId>
<artifactId>plexus-maven-plugin</artifactId>
- <version>1.3.8</version>
+ <version>${plexusPluginVersion}</version>
</plugin>
</plugins>
1
0
r1909 - in trunk/maven-i18n-plugin: . src/it/evo-formatter src/main/java/org/nuiton/i18n/plugin/bundle
by fdesbois@users.nuiton.org 09 May '11
by fdesbois@users.nuiton.org 09 May '11
09 May '11
Author: fdesbois
Date: 2011-05-09 23:51:05 +0200 (Mon, 09 May 2011)
New Revision: 1909
Url: http://nuiton.org/repositories/revision/i18n/1909
Log:
Use plexus to expose BundlerFormatConverter as component
Modified:
trunk/maven-i18n-plugin/pom.xml
trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java
Modified: trunk/maven-i18n-plugin/pom.xml
===================================================================
--- trunk/maven-i18n-plugin/pom.xml 2011-05-09 21:50:32 UTC (rev 1908)
+++ trunk/maven-i18n-plugin/pom.xml 2011-05-09 21:51:05 UTC (rev 1909)
@@ -131,7 +131,21 @@
<build>
<plugins>
+
+ <!-- expose new plexus components -->
<plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-component-metadata</artifactId>
+ <executions>
+ <execution>
+ <goals>
+ <goal>generate-metadata</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+
+ <plugin>
<artifactId>maven-plugin-plugin</artifactId>
<executions>
<execution>
@@ -141,6 +155,7 @@
</execution>
</executions>
</plugin>
+
</plugins>
</build>
<profiles>
@@ -168,6 +183,13 @@
<artifactId>maven-invoker-plugin</artifactId>
<version>1.5</version>
</plugin>
+
+ <plugin>
+ <groupId>org.codehaus.plexus</groupId>
+ <artifactId>plexus-maven-plugin</artifactId>
+ <version>1.3.8</version>
+ </plugin>
+
</plugins>
</reporting>
Modified: trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml 2011-05-09 21:50:32 UTC (rev 1908)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml 2011-05-09 21:51:05 UTC (rev 1909)
@@ -76,7 +76,7 @@
<version>@pom.version@</version>
<configuration>
<verbose>true</verbose>
- <bundleFormatConverter>org.nuiton.i18n.plugin.bundle.StringFormatToMessageFormat</bundleFormatConverter>
+ <bundleFormatConverter>toMessageFormat</bundleFormatConverter>
<bundleOutputName>ResultBundle</bundleOutputName>
<bundleOutputPackage>org.nuiton</bundleOutputPackage>
</configuration>
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java 2011-05-09 21:50:32 UTC (rev 1908)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java 2011-05-09 21:51:05 UTC (rev 1909)
@@ -9,6 +9,7 @@
*
* @author fdesbois <desbois(a)codelutin.com>
* $Id$
+ * @since 2.4
*/
public interface BundleFormatConverter {
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java 2011-05-09 21:50:32 UTC (rev 1908)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java 2011-05-09 21:51:05 UTC (rev 1909)
@@ -87,6 +87,14 @@
*/
protected String bundleFormatConverter;
+ /**
+ * Map of all availables {@link BundleFormatConverter}.
+ *
+ * @component role="org.nuiton.i18n.plugin.bundle.BundleFormatConverter"
+ * @since 2.4
+ */
+ protected Map<String, BundleFormatConverter> bundleFormatConverters;
+
@Override
public void init() throws Exception {
super.init();
@@ -255,17 +263,13 @@
*
* @param properties Properties to walk through
* @param converterName Name of the converter
- * @throws ClassNotFoundException if converterName doesn't match any class
- * @throws IllegalAccessException if no access could be done to converter
- * @throws InstantiationException if no instance could be done from converter class
* @since 2.4
*/
- protected void applyConversion(Properties properties, String converterName)
- throws ClassNotFoundException, IllegalAccessException, InstantiationException {
+ protected void applyConversion(Properties properties, String converterName) {
// Instantiate the converter
BundleFormatConverter converter =
- (BundleFormatConverter) Class.forName(converterName).newInstance();
+ bundleFormatConverters.get(converterName);
// Apply conversion
for (Entry<Object, Object> entry : properties.entrySet()) {
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java 2011-05-09 21:50:32 UTC (rev 1908)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java 2011-05-09 21:51:05 UTC (rev 1909)
@@ -14,6 +14,8 @@
*
* @author fdesbois <desbois(a)codelutin.com>
* $Id$
+ * @plexus.component role="org.nuiton.i18n.plugin.bundle.BundleFormatConverter" role-hint="toMessageFormat"
+ * @since 2.4
*/
public class StringFormatToMessageFormat implements BundleFormatConverter {
1
0
09 May '11
Author: fdesbois
Date: 2011-05-09 23:50:32 +0200 (Mon, 09 May 2011)
New Revision: 1908
Url: http://nuiton.org/repositories/revision/i18n/1908
Log:
Improve javadoc
Modified:
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18n.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormat.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormatter.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-09 18:47:11 UTC (rev 1907)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18n.java 2011-05-09 21:50:32 UTC (rev 1908)
@@ -73,6 +73,11 @@
/** Filtre a appliquer avant de retourner les chaines */
protected static I18nFilter filter;
+ /**
+ * Formatter to use, default value is {@link I18nFormat#STRING_FORMAT}
+ *
+ * @since 2.4
+ */
protected static I18nFormatter formatter = I18nFormat.STRING_FORMAT;
/**
@@ -84,6 +89,12 @@
I18n.filter = filter;
}
+ /**
+ * Change {@code formatter} to use on each translation with args.
+ *
+ * @param formatter I18nFormatter to use
+ * @since 2.4
+ */
public static void setFormatter(I18nFormatter formatter) {
I18n.formatter = formatter;
}
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-09 18:47:11 UTC (rev 1907)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormat.java 2011-05-09 21:50:32 UTC (rev 1908)
@@ -12,6 +12,7 @@
*
* @author fdesbois <desbois(a)codelutin.com>
* $Id$
+ * @since 2.4
*/
public enum I18nFormat implements I18nFormatter {
Modified: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormatter.java
===================================================================
--- trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormatter.java 2011-05-09 18:47:11 UTC (rev 1907)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormatter.java 2011-05-09 21:50:32 UTC (rev 1908)
@@ -10,6 +10,7 @@
* @author fdesbois <desbois(a)codelutin.com>
* @see I18nFormat
* $Id$
+ * @since 2.4
*/
public interface I18nFormatter {
1
0
Author: fdesbois
Date: 2011-05-09 20:47:11 +0200 (Mon, 09 May 2011)
New Revision: 1907
Url: http://nuiton.org/repositories/revision/i18n/1907
Log:
add svn:keywords
Modified:
trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/LICENSE.txt
trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/README.txt
trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/changelog.txt
trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/invoker.properties
trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/pom.xml
trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/src/main/java/org/nuiton/i18n/MessageConstants.java
trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/src/main/resources/i18n/ano-encoding-iso-8859-1_en_GB.properties
trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/src/main/resources/i18n/ano-encoding-iso-8859-1_fr_FR.properties
trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/src/main/resources/log4j.properties
trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/verify.groovy
trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/LICENSE.txt
trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/README.txt
trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/changelog.txt
trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/invoker.properties
trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/pom.xml
trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/src/main/java/org/nuiton/i18n/MessageConstants.java
trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/src/main/resources/i18n/ano-encoding-migrate_en_GB.properties
trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/src/main/resources/i18n/ano-encoding-migrate_fr_FR.properties
trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/src/main/resources/log4j.properties
trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/verify.groovy
trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/LICENSE.txt
trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/README.txt
trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/changelog.txt
trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/invoker.properties
trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/pom.xml
trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/main/java/org/nuiton/i18n/MessageConstants.java
trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/main/resources/i18n/ano-encoding-utf-8_en_GB.properties
trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/main/resources/i18n/ano-encoding-utf-8_fr_FR.properties
trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/main/resources/i18n/ano-encoding-utf-8_ja_JP.properties
trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/test/java/org/nuiton/i18n/ReadTest.java
trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/test/resources/log4j.properties
trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/verify.groovy
trunk/maven-i18n-plugin/src/it/evo-formatter/LICENSE.txt
trunk/maven-i18n-plugin/src/it/evo-formatter/README.txt
trunk/maven-i18n-plugin/src/it/evo-formatter/changelog.txt
trunk/maven-i18n-plugin/src/it/evo-formatter/invoker.properties
trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml
trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/evo-formatter_en_GB.properties
trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/evo-formatter_fr_FR.properties
trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/other-lib-stringformat_en_GB.properties
trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/other-lib-stringformat_fr_FR.properties
trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/java/org/nuiton/i18n/ReadMessageFormatTest.java
trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/resources/log4j.properties
trunk/maven-i18n-plugin/src/it/evo-formatter/verify.groovy
trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_ja_JP.properties
trunk/src/site/apt/gwt.apt
trunk/src/site/en/apt/gwt.apt
trunk/src/site/resources/application-i18n.tar.gz
trunk/src/site/resources/helloworld.tar.gz
trunk/src/site/resources/library-i18n.tar.gz
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/README.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/invoker.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/invoker.properties 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/invoker.properties 2011-05-09 18:47:11 UTC (rev 1907)
@@ -2,8 +2,8 @@
# #%L
# I18n :: Maven Plugin
#
-# $Id: invoker.properties 1882 2011-02-14 15:54:14Z tchemit $
-# $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/parsers/newPr… $
+# $Id$
+# $HeadURL$
# %%
# Copyright (C) 2007 - 2010 CodeLutin
# %%
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/invoker.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/pom.xml
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/pom.xml 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/pom.xml 2011-05-09 18:47:11 UTC (rev 1907)
@@ -3,8 +3,8 @@
#%L
I18n :: Maven Plugin
- $Id: pom.xml 1882 2011-02-14 15:54:14Z tchemit $
- $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/parsers/newPr… $
+ $Id$
+ $HeadURL$
%%
Copyright (C) 2007 - 2010 CodeLutin
%%
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/src/main/java/org/nuiton/i18n/MessageConstants.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/src/main/resources/i18n/ano-encoding-iso-8859-1_en_GB.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/src/main/resources/i18n/ano-encoding-iso-8859-1_fr_FR.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/src/main/resources/log4j.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/src/main/resources/log4j.properties 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/src/main/resources/log4j.properties 2011-05-09 18:47:11 UTC (rev 1907)
@@ -2,8 +2,8 @@
# #%L
# I18n :: Maven Plugin
#
-# $Id: log4j.properties 1882 2011-02-14 15:54:14Z tchemit $
-# $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/ano-672/src/t… $
+# $Id$
+# $HeadURL$
# %%
# Copyright (C) 2007 - 2010 CodeLutin
# %%
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/src/main/resources/log4j.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/verify.groovy
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/verify.groovy 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/verify.groovy 2011-05-09 18:47:11 UTC (rev 1907)
@@ -2,8 +2,8 @@
* #%L
* I18n :: Maven Plugin
*
- * $Id: verify.groovy 1882 2011-02-14 15:54:14Z tchemit $
- * $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/parsers/newPr… $
+ * $Id$
+ * $HeadURL$
* %%
* Copyright (C) 2007 - 2010 CodeLutin
* %%
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/verify.groovy
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/README.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/invoker.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/invoker.properties 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/invoker.properties 2011-05-09 18:47:11 UTC (rev 1907)
@@ -2,8 +2,8 @@
# #%L
# I18n :: Maven Plugin
#
-# $Id: invoker.properties 1882 2011-02-14 15:54:14Z tchemit $
-# $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/parsers/newPr… $
+# $Id$
+# $HeadURL$
# %%
# Copyright (C) 2007 - 2010 CodeLutin
# %%
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/invoker.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/pom.xml
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/pom.xml 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/pom.xml 2011-05-09 18:47:11 UTC (rev 1907)
@@ -3,8 +3,8 @@
#%L
I18n :: Maven Plugin
- $Id: pom.xml 1882 2011-02-14 15:54:14Z tchemit $
- $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/parsers/newPr… $
+ $Id$
+ $HeadURL$
%%
Copyright (C) 2007 - 2010 CodeLutin
%%
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/src/main/java/org/nuiton/i18n/MessageConstants.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/src/main/resources/i18n/ano-encoding-migrate_en_GB.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/src/main/resources/i18n/ano-encoding-migrate_fr_FR.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/src/main/resources/log4j.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/src/main/resources/log4j.properties 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/src/main/resources/log4j.properties 2011-05-09 18:47:11 UTC (rev 1907)
@@ -2,8 +2,8 @@
# #%L
# I18n :: Maven Plugin
#
-# $Id: log4j.properties 1882 2011-02-14 15:54:14Z tchemit $
-# $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/ano-672/src/t… $
+# $Id$
+# $HeadURL$
# %%
# Copyright (C) 2007 - 2010 CodeLutin
# %%
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/src/main/resources/log4j.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/verify.groovy
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/verify.groovy 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/verify.groovy 2011-05-09 18:47:11 UTC (rev 1907)
@@ -2,8 +2,8 @@
* #%L
* I18n :: Maven Plugin
*
- * $Id: verify.groovy 1882 2011-02-14 15:54:14Z tchemit $
- * $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/parsers/newPr… $
+ * $Id$
+ * $HeadURL$
* %%
* Copyright (C) 2007 - 2010 CodeLutin
* %%
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/verify.groovy
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/README.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/invoker.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/invoker.properties 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/invoker.properties 2011-05-09 18:47:11 UTC (rev 1907)
@@ -2,8 +2,8 @@
# #%L
# I18n :: Maven Plugin
#
-# $Id: invoker.properties 1882 2011-02-14 15:54:14Z tchemit $
-# $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/parsers/newPr… $
+# $Id$
+# $HeadURL$
# %%
# Copyright (C) 2007 - 2010 CodeLutin
# %%
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/invoker.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/pom.xml
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/pom.xml 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/pom.xml 2011-05-09 18:47:11 UTC (rev 1907)
@@ -3,8 +3,8 @@
#%L
I18n :: Maven Plugin
- $Id: pom.xml 1882 2011-02-14 15:54:14Z tchemit $
- $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/parsers/newPr… $
+ $Id$
+ $HeadURL$
%%
Copyright (C) 2007 - 2010 CodeLutin
%%
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/main/java/org/nuiton/i18n/MessageConstants.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/main/resources/i18n/ano-encoding-utf-8_en_GB.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/main/resources/i18n/ano-encoding-utf-8_fr_FR.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/main/resources/i18n/ano-encoding-utf-8_ja_JP.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/test/java/org/nuiton/i18n/ReadTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/test/resources/log4j.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/test/resources/log4j.properties 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/test/resources/log4j.properties 2011-05-09 18:47:11 UTC (rev 1907)
@@ -2,8 +2,8 @@
# #%L
# I18n :: Maven Plugin
#
-# $Id: log4j.properties 1882 2011-02-14 15:54:14Z tchemit $
-# $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/ano-672/src/t… $
+# $Id$
+# $HeadURL$
# %%
# Copyright (C) 2007 - 2010 CodeLutin
# %%
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/src/test/resources/log4j.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/verify.groovy
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/verify.groovy 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/verify.groovy 2011-05-09 18:47:11 UTC (rev 1907)
@@ -2,8 +2,8 @@
* #%L
* I18n :: Maven Plugin
*
- * $Id: verify.groovy 1882 2011-02-14 15:54:14Z tchemit $
- * $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/parsers/newPr… $
+ * $Id$
+ * $HeadURL$
* %%
* Copyright (C) 2007 - 2010 CodeLutin
* %%
Property changes on: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/verify.groovy
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/evo-formatter/LICENSE.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/evo-formatter/README.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/evo-formatter/changelog.txt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/evo-formatter/invoker.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/invoker.properties 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/invoker.properties 2011-05-09 18:47:11 UTC (rev 1907)
@@ -2,8 +2,8 @@
# #%L
# I18n :: Maven Plugin
#
-# $Id: invoker.properties 1882 2011-02-14 15:54:14Z tchemit $
-# $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/parsers/newPr… $
+# $Id$
+# $HeadURL$
# %%
# Copyright (C) 2007 - 2010 CodeLutin
# %%
Property changes on: trunk/maven-i18n-plugin/src/it/evo-formatter/invoker.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml 2011-05-09 18:47:11 UTC (rev 1907)
@@ -3,8 +3,8 @@
#%L
I18n :: Maven Plugin
- $Id: pom.xml 1882 2011-02-14 15:54:14Z tchemit $
- $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/parsers/newPr… $
+ $Id$
+ $HeadURL$
%%
Copyright (C) 2007 - 2010 CodeLutin
%%
Property changes on: trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/evo-formatter_en_GB.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/evo-formatter_fr_FR.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/other-lib-stringformat_en_GB.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/other-lib-stringformat_fr_FR.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/java/org/nuiton/i18n/ReadMessageFormatTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/resources/log4j.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/resources/log4j.properties 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/resources/log4j.properties 2011-05-09 18:47:11 UTC (rev 1907)
@@ -2,8 +2,8 @@
# #%L
# I18n :: Maven Plugin
#
-# $Id: log4j.properties 1882 2011-02-14 15:54:14Z tchemit $
-# $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/ano-672/src/t… $
+# $Id$
+# $HeadURL$
# %%
# Copyright (C) 2007 - 2010 CodeLutin
# %%
Property changes on: trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/resources/log4j.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/it/evo-formatter/verify.groovy
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/verify.groovy 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/verify.groovy 2011-05-09 18:47:11 UTC (rev 1907)
@@ -2,8 +2,8 @@
* #%L
* I18n :: Maven Plugin
*
- * $Id: verify.groovy 1882 2011-02-14 15:54:14Z tchemit $
- * $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/parsers/newPr… $
+ * $Id$
+ * $HeadURL$
* %%
* Copyright (C) 2007 - 2010 CodeLutin
* %%
Property changes on: trunk/maven-i18n-plugin/src/it/evo-formatter/verify.groovy
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_ja_JP.properties
===================================================================
--- trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_ja_JP.properties 2011-05-09 11:33:42 UTC (rev 1906)
+++ trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_ja_JP.properties 2011-05-09 18:47:11 UTC (rev 1907)
@@ -2,8 +2,8 @@
# #%L
# I18n :: Api
#
-# $Id: I18nStoreTest_fr_FR.properties 1882 2011-02-14 15:54:14Z tchemit $
-# $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/nuiton-i18n/src/test/resources/META-IN… $
+# $Id$
+# $HeadURL$
# %%
# Copyright (C) 2004 - 2010 CodeLutin
# %%
Property changes on: trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_ja_JP.properties
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/src/site/apt/gwt.apt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/src/site/en/apt/gwt.apt
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/src/site/resources/application-i18n.tar.gz
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/src/site/resources/helloworld.tar.gz
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Property changes on: trunk/src/site/resources/library-i18n.tar.gz
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
1
0
r1906 - in trunk/maven-i18n-plugin/src: main/java/org/nuiton/i18n/plugin/bundle test/java/org/nuiton/i18n/plugin/bundle
by fdesbois@users.nuiton.org 09 May '11
by fdesbois@users.nuiton.org 09 May '11
09 May '11
Author: fdesbois
Date: 2011-05-09 13:33:42 +0200 (Mon, 09 May 2011)
New Revision: 1906
Url: http://nuiton.org/repositories/revision/i18n/1906
Log:
Resolve issue with ' escape
Modified:
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java
trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java 2011-05-06 12:51:09 UTC (rev 1905)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java 2011-05-09 11:33:42 UTC (rev 1906)
@@ -1,12 +1,12 @@
package org.nuiton.i18n.plugin.bundle;
-import org.apache.commons.logging.Log;
-import org.apache.commons.logging.LogFactory;
-
import java.text.MessageFormat;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
/**
* Converter used to change printf args syntax by {@link MessageFormat} syntax
* <p/>
@@ -19,7 +19,7 @@
private static final Log log = LogFactory.getLog(StringFormatToMessageFormat.class);
- protected static Pattern PATTERN = Pattern.compile("%\\$?(\\d?)([^\\s])?[^\\s]+");
+ protected static Pattern PATTERN = Pattern.compile("%\\$?(\\d?)[^\\s']*");
@Override
public String convert(String value) {
@@ -59,15 +59,34 @@
log.debug("Result : " + result);
- // Replace ' by ''
- result = result.replaceAll("([^']+)'([^']+)", "$1''$2");
+ result = escapeQuoteChar(result);
- log.debug("Result with ' escape : " + result);
-
} else {
result = value;
}
return result;
}
+ /**
+ * Escape ' char with '', needed by {@link MessageFormat}.
+ *
+ * @param value Message that contains '
+ * @return the message with ' escaped
+ */
+ protected String escapeQuoteChar(String value) {
+
+ // Replace ' by ''
+ String result = value.replaceAll("([^'])'([^'])", "$1''$2");
+
+ // Manage ' as last char
+ result = result.replaceFirst("([^'])'$", "$1''");
+
+ // Manage ' as first char
+ result = result.replaceFirst("^'([^'])", "''$1");
+
+ log.debug("Result with ' escape : " + result);
+
+ return result;
+ }
+
}
Modified: trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java
===================================================================
--- trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java 2011-05-06 12:51:09 UTC (rev 1905)
+++ trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java 2011-05-09 11:33:42 UTC (rev 1906)
@@ -33,8 +33,12 @@
Assert.assertEquals(expected, actual);
expected = "Salut à tous pour l''ouverture de {1} le {0} à l''heure {0}";
- actual = converter.convert("Salut à tous pour l''ouverture de %$2s le %$1td à l'heure %1tH");
+ actual = converter.convert("Salut à tous pour l'ouverture de %$2s le %$1td à l'heure %1tH");
Assert.assertEquals(expected, actual);
+
+ expected = "Salut à tous pour l''ouverture de ''{0}''";
+ actual = converter.convert("Salut à tous pour l''ouverture de '%$1s'");
+ Assert.assertEquals(expected, actual);
}
}
1
0
Author: fdesbois
Date: 2011-05-06 14:51:09 +0200 (Fri, 06 May 2011)
New Revision: 1905
Url: http://nuiton.org/repositories/revision/i18n/1905
Log:
#1507 : Introduce BundleFormatConverter to apply conversion with bundle goal. Basic implementation of StringFormatToMessageFormat is provided.
Added:
trunk/maven-i18n-plugin/src/it/evo-formatter/
trunk/maven-i18n-plugin/src/it/evo-formatter/LICENSE.txt
trunk/maven-i18n-plugin/src/it/evo-formatter/README.txt
trunk/maven-i18n-plugin/src/it/evo-formatter/changelog.txt
trunk/maven-i18n-plugin/src/it/evo-formatter/invoker.properties
trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml
trunk/maven-i18n-plugin/src/it/evo-formatter/src/
trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/
trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/java/
trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/
trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/
trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/evo-formatter_en_GB.properties
trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/evo-formatter_fr_FR.properties
trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/other-lib-stringformat_en_GB.properties
trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/other-lib-stringformat_fr_FR.properties
trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/
trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/java/
trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/java/org/
trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/java/org/nuiton/
trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/java/org/nuiton/i18n/
trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/java/org/nuiton/i18n/ReadMessageFormatTest.java
trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/resources/
trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/resources/log4j.properties
trunk/maven-i18n-plugin/src/it/evo-formatter/verify.groovy
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java
trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/
trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java
Modified:
trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/README.txt
trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/README.txt
trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/README.txt
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java
trunk/src/site/apt/index.apt
trunk/src/site/en/apt/index.apt
Modified: trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/README.txt
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/README.txt 2011-05-06 12:49:50 UTC (rev 1904)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/README.txt 2011-05-06 12:51:09 UTC (rev 1905)
@@ -1,2 +1 @@
-To test parserJava on a new project (says a project with no i18n translations)
-At the end we should have in target/generated-sources/i18n getters detected.
+To test iso-8859-1 encoding with unicode chars escape.
Modified: trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/README.txt
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/README.txt 2011-05-06 12:49:50 UTC (rev 1904)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/migrate/README.txt 2011-05-06 12:51:09 UTC (rev 1905)
@@ -1,2 +1,2 @@
-To test parserJava on a new project (says a project with no i18n translations)
-At the end we should have in target/generated-sources/i18n getters detected.
+To test migration from iso-8859-1 encoding (before 2.4) and new default
+condiguration with utf-8 encoding (since 2.4)
Modified: trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/README.txt
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/README.txt 2011-05-06 12:49:50 UTC (rev 1904)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/README.txt 2011-05-06 12:51:09 UTC (rev 1905)
@@ -1,2 +1 @@
-To test parserJava on a new project (says a project with no i18n translations)
-At the end we should have in target/generated-sources/i18n getters detected.
+To test utf-8 encoding. It becomes the default encoding since 2.4
Added: trunk/maven-i18n-plugin/src/it/evo-formatter/LICENSE.txt
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/LICENSE.txt (rev 0)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/LICENSE.txt 2011-05-06 12:51:09 UTC (rev 1905)
@@ -0,0 +1,166 @@
+ GNU LESSER GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
+ Copyright (C) 2007 Free Software Foundation, Inc. <http://fsf.org/>
+ Everyone is permitted to copy and distribute verbatim copies
+ of this license document, but changing it is not allowed.
+
+
+ This version of the GNU Lesser General Public License incorporates
+the terms and conditions of version 3 of the GNU General Public
+License, supplemented by the additional permissions listed below.
+
+ 0. Additional Definitions.
+
+ As used herein, "this License" refers to version 3 of the GNU Lesser
+General Public License, and the "GNU GPL" refers to version 3 of the GNU
+General Public License.
+
+ "The Library" refers to a covered work governed by this License,
+other than an Application or a Combined Work as defined below.
+
+ An "Application" is any work that makes use of an interface provided
+by the Library, but which is not otherwise based on the Library.
+Defining a subclass of a class defined by the Library is deemed a mode
+of using an interface provided by the Library.
+
+ A "Combined Work" is a work produced by combining or linking an
+Application with the Library. The particular version of the Library
+with which the Combined Work was made is also called the "Linked
+Version".
+
+ The "Minimal Corresponding Source" for a Combined Work means the
+Corresponding Source for the Combined Work, excluding any source code
+for portions of the Combined Work that, considered in isolation, are
+based on the Application, and not on the Linked Version.
+
+ The "Corresponding Application Code" for a Combined Work means the
+object code and/or source code for the Application, including any data
+and utility programs needed for reproducing the Combined Work from the
+Application, but excluding the System Libraries of the Combined Work.
+
+ 1. Exception to Section 3 of the GNU GPL.
+
+ You may convey a covered work under sections 3 and 4 of this License
+without being bound by section 3 of the GNU GPL.
+
+ 2. Conveying Modified Versions.
+
+ If you modify a copy of the Library, and, in your modifications, a
+facility refers to a function or data to be supplied by an Application
+that uses the facility (other than as an argument passed when the
+facility is invoked), then you may convey a copy of the modified
+version:
+
+ a) under this License, provided that you make a good faith effort to
+ ensure that, in the event an Application does not supply the
+ function or data, the facility still operates, and performs
+ whatever part of its purpose remains meaningful, or
+
+ b) under the GNU GPL, with none of the additional permissions of
+ this License applicable to that copy.
+
+ 3. Object Code Incorporating Material from Library Header Files.
+
+ The object code form of an Application may incorporate material from
+a header file that is part of the Library. You may convey such object
+code under terms of your choice, provided that, if the incorporated
+material is not limited to numerical parameters, data structure
+layouts and accessors, or small macros, inline functions and templates
+(ten or fewer lines in length), you do both of the following:
+
+ a) Give prominent notice with each copy of the object code that the
+ Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the object code with a copy of the GNU GPL and this license
+ document.
+
+ 4. Combined Works.
+
+ You may convey a Combined Work under terms of your choice that,
+taken together, effectively do not restrict modification of the
+portions of the Library contained in the Combined Work and reverse
+engineering for debugging such modifications, if you also do each of
+the following:
+
+ a) Give prominent notice with each copy of the Combined Work that
+ the Library is used in it and that the Library and its use are
+ covered by this License.
+
+ b) Accompany the Combined Work with a copy of the GNU GPL and this license
+ document.
+
+ c) For a Combined Work that displays copyright notices during
+ execution, include the copyright notice for the Library among
+ these notices, as well as a reference directing the user to the
+ copies of the GNU GPL and this license document.
+
+ d) Do one of the following:
+
+ 0) Convey the Minimal Corresponding Source under the terms of this
+ License, and the Corresponding Application Code in a form
+ suitable for, and under terms that permit, the user to
+ recombine or relink the Application with a modified version of
+ the Linked Version to produce a modified Combined Work, in the
+ manner specified by section 6 of the GNU GPL for conveying
+ Corresponding Source.
+
+ 1) Use a suitable shared library mechanism for linking with the
+ Library. A suitable mechanism is one that (a) uses at run time
+ a copy of the Library already present on the user's computer
+ system, and (b) will operate properly with a modified version
+ of the Library that is interface-compatible with the Linked
+ Version.
+
+ e) Provide Installation Information, but only if you would otherwise
+ be required to provide such information under section 6 of the
+ GNU GPL, and only to the extent that such information is
+ necessary to install and execute a modified version of the
+ Combined Work produced by recombining or relinking the
+ Application with a modified version of the Linked Version. (If
+ you use option 4d0, the Installation Information must accompany
+ the Minimal Corresponding Source and Corresponding Application
+ Code. If you use option 4d1, you must provide the Installation
+ Information in the manner specified by section 6 of the GNU GPL
+ for conveying Corresponding Source.)
+
+ 5. Combined Libraries.
+
+ You may place library facilities that are a work based on the
+Library side by side in a single library together with other library
+facilities that are not Applications and are not covered by this
+License, and convey such a combined library under terms of your
+choice, if you do both of the following:
+
+ a) Accompany the combined library with a copy of the same work based
+ on the Library, uncombined with any other library facilities,
+ conveyed under the terms of this License.
+
+ b) Give prominent notice with the combined library that part of it
+ is a work based on the Library, and explaining where to find the
+ accompanying uncombined form of the same work.
+
+ 6. Revised Versions of the GNU Lesser General Public License.
+
+ The Free Software Foundation may publish revised and/or new versions
+of the GNU Lesser General Public License from time to time. Such new
+versions will be similar in spirit to the present version, but may
+differ in detail to address new problems or concerns.
+
+ Each version is given a distinguishing version number. If the
+Library as you received it specifies that a certain numbered version
+of the GNU Lesser General Public License "or any later version"
+applies to it, you have the option of following the terms and
+conditions either of that published version or of any later version
+published by the Free Software Foundation. If the Library as you
+received it does not specify a version number of the GNU Lesser
+General Public License, you may choose any version of the GNU Lesser
+General Public License ever published by the Free Software Foundation.
+
+ If the Library as you received it specifies that a proxy can decide
+whether future versions of the GNU Lesser General Public License shall
+apply, that proxy's public statement of acceptance of any version is
+permanent authorization for you to choose that version for the
+Library.
+
Added: trunk/maven-i18n-plugin/src/it/evo-formatter/README.txt
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/README.txt (rev 0)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/README.txt 2011-05-06 12:51:09 UTC (rev 1905)
@@ -0,0 +1,2 @@
+To test I18nFormatterMessageFormat and conversion from string.format syntax
+using StringFormatToMessageFormat.
Added: trunk/maven-i18n-plugin/src/it/evo-formatter/changelog.txt
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/changelog.txt (rev 0)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/changelog.txt 2011-05-06 12:51:09 UTC (rev 1905)
@@ -0,0 +1 @@
+see the changelog of org.nuiton:i18n project.
\ No newline at end of file
Added: trunk/maven-i18n-plugin/src/it/evo-formatter/invoker.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/invoker.properties (rev 0)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/invoker.properties 2011-05-06 12:51:09 UTC (rev 1905)
@@ -0,0 +1,45 @@
+###
+# #%L
+# I18n :: Maven Plugin
+#
+# $Id: invoker.properties 1882 2011-02-14 15:54:14Z tchemit $
+# $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/parsers/newPr… $
+# %%
+# Copyright (C) 2007 - 2010 CodeLutin
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Lesser Public License for more details.
+#
+# You should have received a copy of the GNU General Lesser Public
+# License along with this program. If not, see
+# <http://www.gnu.org/licenses/lgpl-3.0.html>.
+# #L%
+###
+# A comma or space separated list of goals/phases to execute, may
+# specify an empty list to execute the default goal of the IT project
+invoker.goals=clean test -Dlog4j.configuration=file:src/test/resources/log4j.properties
+
+# Optionally, a list of goals to run during further invocations of Maven
+#invoker.goals.2=${project.groupId}:${project.artifactId}:${project.version}:run
+
+# A comma or space separated list of profiles to activate
+#invoker.profiles=run-all run-once
+
+# The value for the environment variable MAVEN_OPTS
+#invoker.mavenOpts=-Dfile.encoding=UTF-16 -Xms32m -Xmx256m
+
+# Possible values are "fail-fast" (default), "fail-at-end" and "fail-never"
+invoker.failureBehavior=fail-at-end
+
+# The expected result of the build, possible values are "success" (default) and "failure"
+#invoker.buildResult=success
+
+# A boolean value controlling the -N flag, defaults to "false"
+#invoker.nonRecursive=false
Added: trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml (rev 0)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/pom.xml 2011-05-06 12:51:09 UTC (rev 1905)
@@ -0,0 +1,97 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!--
+ #%L
+ I18n :: Maven Plugin
+
+ $Id: pom.xml 1882 2011-02-14 15:54:14Z tchemit $
+ $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/parsers/newPr… $
+ %%
+ Copyright (C) 2007 - 2010 CodeLutin
+ %%
+ This program is free software: you can redistribute it and/or modify
+ it under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation, either version 3 of the
+ License, or (at your option) any later version.
+
+ This program is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ GNU General Lesser Public License for more details.
+
+ You should have received a copy of the GNU General Lesser Public
+ License along with this program. If not, see
+ <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ #L%
+ -->
+
+<project xmlns="http://maven.apache.org/POM/4.0.0"
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
+ xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
+
+ <modelVersion>4.0.0</modelVersion>
+
+ <!-- ************************************************************* -->
+ <!-- *** POM Relationships *************************************** -->
+ <!-- ************************************************************* -->
+
+ <parent>
+ <groupId>org.nuiton</groupId>
+ <artifactId>i18n</artifactId>
+ <version>@pom.version@</version>
+ </parent>
+
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>evo-formatter</artifactId>
+
+ <name>I18n Test :: evo-formatter</name>
+
+ <dependencies>
+
+ <dependency>
+ <groupId>${project.groupId}</groupId>
+ <artifactId>nuiton-i18n</artifactId>
+ <version>${project.version}</version>
+ </dependency>
+
+ <dependency>
+ <groupId>junit</groupId>
+ <artifactId>junit</artifactId>
+ </dependency>
+
+ <dependency>
+ <groupId>log4j</groupId>
+ <artifactId>log4j</artifactId>
+ <scope>test</scope>
+ </dependency>
+
+ </dependencies>
+
+ <build>
+
+ <plugins>
+
+ <plugin>
+ <groupId>org.nuiton.i18n</groupId>
+ <artifactId>maven-i18n-plugin</artifactId>
+ <version>@pom.version@</version>
+ <configuration>
+ <verbose>true</verbose>
+ <bundleFormatConverter>org.nuiton.i18n.plugin.bundle.StringFormatToMessageFormat</bundleFormatConverter>
+ <bundleOutputName>ResultBundle</bundleOutputName>
+ <bundleOutputPackage>org.nuiton</bundleOutputPackage>
+ </configuration>
+ <executions>
+ <execution>
+ <id>bundle</id>
+ <goals>
+ <goal>bundle</goal>
+ </goals>
+ </execution>
+ </executions>
+ </plugin>
+ </plugins>
+ </build>
+
+</project>
+
+
Added: trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/evo-formatter_en_GB.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/evo-formatter_en_GB.properties (rev 0)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/evo-formatter_en_GB.properties 2011-05-06 12:51:09 UTC (rev 1905)
@@ -0,0 +1 @@
+app.property=My application {0}
\ No newline at end of file
Added: trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/evo-formatter_fr_FR.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/evo-formatter_fr_FR.properties (rev 0)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/evo-formatter_fr_FR.properties 2011-05-06 12:51:09 UTC (rev 1905)
@@ -0,0 +1 @@
+app.property=Mon application {0}
\ No newline at end of file
Added: trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/other-lib-stringformat_en_GB.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/other-lib-stringformat_en_GB.properties (rev 0)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/other-lib-stringformat_en_GB.properties 2011-05-06 12:51:09 UTC (rev 1905)
@@ -0,0 +1,2 @@
+lib.property.message1=Message that need conversion for %s and %s
+lib.property.message2=Message that care about %$1s conversion
\ No newline at end of file
Added: trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/other-lib-stringformat_fr_FR.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/other-lib-stringformat_fr_FR.properties (rev 0)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/src/main/resources/i18n/other-lib-stringformat_fr_FR.properties 2011-05-06 12:51:09 UTC (rev 1905)
@@ -0,0 +1,2 @@
+lib.property.message1=Message qui a besoin de conversion pour %s et %s
+lib.property.message2=Message qui fait attention à la conversion de %$1s
\ No newline at end of file
Added: trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/java/org/nuiton/i18n/ReadMessageFormatTest.java
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/java/org/nuiton/i18n/ReadMessageFormatTest.java (rev 0)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/java/org/nuiton/i18n/ReadMessageFormatTest.java 2011-05-06 12:51:09 UTC (rev 1905)
@@ -0,0 +1,39 @@
+package org.nuiton.i18n;
+
+import org.junit.After;
+import org.junit.Assert;
+import org.junit.Test;
+import org.nuiton.i18n.init.DefaultI18nInitializer;
+
+import java.util.Locale;
+
+/**
+ * Created: 06/05/11
+ *
+ * @author fdesbois <desbois(a)codelutin.com>
+ * $Id$
+ */
+public class ReadMessageFormatTest {
+
+ @After
+ public void tearDown() {
+ I18n.close();
+ I18n.setFormatter(I18nFormat.STRING_FORMAT);
+ }
+
+ @Test
+ public void testMessageFormatFormatter() {
+
+ DefaultI18nInitializer initializer =
+ new DefaultI18nInitializer("ResultBundle", null, "org/nuiton/");
+
+ I18n.init(initializer, Locale.FRANCE);
+
+ I18n.setFormatter(I18nFormat.MESSAGE_FORMAT);
+
+ String expected = "Message qui fait attention à la conversion de param";
+ String actual = I18n._("lib.property.message2", "param");
+ Assert.assertEquals(expected, actual);
+ }
+
+}
Added: trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/resources/log4j.properties
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/resources/log4j.properties (rev 0)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/src/test/resources/log4j.properties 2011-05-06 12:51:09 UTC (rev 1905)
@@ -0,0 +1,34 @@
+###
+# #%L
+# I18n :: Maven Plugin
+#
+# $Id: log4j.properties 1882 2011-02-14 15:54:14Z tchemit $
+# $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/ano-672/src/t… $
+# %%
+# Copyright (C) 2007 - 2010 CodeLutin
+# %%
+# This program is free software: you can redistribute it and/or modify
+# it under the terms of the GNU Lesser General Public License as
+# published by the Free Software Foundation, either version 3 of the
+# License, or (at your option) any later version.
+#
+# This program is distributed in the hope that it will be useful,
+# but WITHOUT ANY WARRANTY; without even the implied warranty of
+# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+# GNU General Lesser Public License for more details.
+#
+# You should have received a copy of the GNU General Lesser Public
+# License along with this program. If not, see
+# <http://www.gnu.org/licenses/lgpl-3.0.html>.
+# #L%
+###
+# Global logging configuration
+log4j.rootLogger=ERROR, stdout
+# Console output...
+log4j.appender.stdout=org.apache.log4j.ConsoleAppender
+log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
+log4j.appender.stdout.layout.ConversionPattern=%5p [%t] (%F:%L) %M - %m%n
+
+# package level
+log4j.logger.org.nuiton.util=WARN
+log4j.logger.org.nuiton.i18n=DEBUG
Added: trunk/maven-i18n-plugin/src/it/evo-formatter/verify.groovy
===================================================================
--- trunk/maven-i18n-plugin/src/it/evo-formatter/verify.groovy (rev 0)
+++ trunk/maven-i18n-plugin/src/it/evo-formatter/verify.groovy 2011-05-06 12:51:09 UTC (rev 1905)
@@ -0,0 +1,54 @@
+/*
+ * #%L
+ * I18n :: Maven Plugin
+ *
+ * $Id: verify.groovy 1882 2011-02-14 15:54:14Z tchemit $
+ * $HeadURL: http://svn.nuiton.org/svn/i18n/trunk/maven-i18n-plugin/src/it/parsers/newPr… $
+ * %%
+ * Copyright (C) 2007 - 2010 CodeLutin
+ * %%
+ * This program is free software: you can redistribute it and/or modify
+ * it under the terms of the GNU Lesser General Public License as
+ * published by the Free Software Foundation, either version 3 of the
+ * License, or (at your option) any later version.
+ *
+ * This program is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+ * GNU General Lesser Public License for more details.
+ *
+ * You should have received a copy of the GNU General Lesser Public
+ * License along with this program. If not, see
+ * <http://www.gnu.org/licenses/lgpl-3.0.html>.
+ * #L%
+ */
+def fileExists(path) {
+
+ file = new File(basedir, path);
+ return file.exists();
+
+}
+
+def checkContent(path, values) {
+
+ file = new File(basedir, path);
+
+ content = file.text;
+
+ for (value in values) {
+ if (!content.contains(value)) {
+ println("Could not find " + value + " in file " + file);
+ return false;
+ }
+ }
+ return true;
+}
+
+assert fileExists('target/classes/org/nuiton/ResultBundle_fr_FR.properties');
+
+assert checkContent('target/classes/org/nuiton/ResultBundle_fr_FR.properties',
+ ['lib.property.message1=Message qui a besoin de conversion pour {0} et {1}',
+ 'app.property=Mon application {0}',
+ 'lib.property.message2=Message qui fait attention à la conversion de {0}']);
+
+return true;
Added: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java (rev 0)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java 2011-05-06 12:51:09 UTC (rev 1905)
@@ -0,0 +1,23 @@
+package org.nuiton.i18n.plugin.bundle;
+
+import org.nuiton.i18n.I18nFormatter;
+
+/**
+ * Used to convert from a {@link I18nFormatter} syntax to an other.
+ * <p/>
+ * Created: 05/05/11
+ *
+ * @author fdesbois <desbois(a)codelutin.com>
+ * $Id$
+ */
+public interface BundleFormatConverter {
+
+ /**
+ * Convert format syntax to an other from {@code value}.
+ *
+ * @param value Message with some format placeholders to convert
+ * @return the message with other format syntax
+ */
+ String convert(String value);
+
+}
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java 2011-05-06 12:49:50 UTC (rev 1904)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java 2011-05-06 12:51:09 UTC (rev 1905)
@@ -42,6 +42,7 @@
import java.util.Locale;
import java.util.Map;
import java.util.Map.Entry;
+import java.util.Properties;
/**
* Generate an aggregate i18n bundle for all dependencies of the project.
@@ -78,6 +79,14 @@
*/
protected boolean generateDefinitionFile;
+ /**
+ * Converter used to change format of bundles.
+ *
+ * @parameter expression="${i18n.bundleFormatConverter}"
+ * @since 2.4
+ */
+ protected String bundleFormatConverter;
+
@Override
public void init() throws Exception {
super.init();
@@ -95,11 +104,12 @@
version = PluginHelper.removeSnapshotSuffix(version);
if (!silent) {
- getLog().info("config - resources dir : " + bundleOutputDir);
- getLog().info("config - package name : " + bundleOutputPackage);
- getLog().info("config - bundle name : " + bundleOutputName);
- getLog().info("config - locales : " + Arrays.toString(locales));
- getLog().info("config - version : " + version);
+ getLog().info("config - resources dir : " + bundleOutputDir);
+ getLog().info("config - package name : " + bundleOutputPackage);
+ getLog().info("config - bundle name : " + bundleOutputName);
+ getLog().info("config - format converter : " + bundleFormatConverter);
+ getLog().info("config - locales : " + Arrays.toString(locales));
+ getLog().info("config - version : " + version);
}
Map<Locale, String> bundleDico =
@@ -163,6 +173,12 @@
}
}
}
+
+ // Apply conversion if necessary, depends on input bundleFormatConverter
+ if (bundleFormatConverter != null) {
+ applyConversion(propertiesOut, bundleFormatConverter);
+ }
+
propertiesOut.store(bundleOut);
if (!silent && verbose) {
getLog().info(
@@ -232,4 +248,30 @@
URL[] urls = PluginHelper.getLinesAsURL(file);
return urls;
}
+
+ /**
+ * Apply conversion over {@code properties} with converter named
+ * {@code converterName}.
+ *
+ * @param properties Properties to walk through
+ * @param converterName Name of the converter
+ * @throws ClassNotFoundException if converterName doesn't match any class
+ * @throws IllegalAccessException if no access could be done to converter
+ * @throws InstantiationException if no instance could be done from converter class
+ * @since 2.4
+ */
+ protected void applyConversion(Properties properties, String converterName)
+ throws ClassNotFoundException, IllegalAccessException, InstantiationException {
+
+ // Instantiate the converter
+ BundleFormatConverter converter =
+ (BundleFormatConverter) Class.forName(converterName).newInstance();
+
+ // Apply conversion
+ for (Entry<Object, Object> entry : properties.entrySet()) {
+ String convertedValue = converter.convert((String) entry.getValue());
+ properties.setProperty((String) entry.getKey(), convertedValue);
+ }
+ }
+
}
Added: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java (rev 0)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java 2011-05-06 12:51:09 UTC (rev 1905)
@@ -0,0 +1,73 @@
+package org.nuiton.i18n.plugin.bundle;
+
+import org.apache.commons.logging.Log;
+import org.apache.commons.logging.LogFactory;
+
+import java.text.MessageFormat;
+import java.util.regex.Matcher;
+import java.util.regex.Pattern;
+
+/**
+ * Converter used to change printf args syntax by {@link MessageFormat} syntax
+ * <p/>
+ * Created: 05/05/11
+ *
+ * @author fdesbois <desbois(a)codelutin.com>
+ * $Id$
+ */
+public class StringFormatToMessageFormat implements BundleFormatConverter {
+
+ private static final Log log = LogFactory.getLog(StringFormatToMessageFormat.class);
+
+ protected static Pattern PATTERN = Pattern.compile("%\\$?(\\d?)([^\\s])?[^\\s]+");
+
+ @Override
+ public String convert(String value) {
+
+ String result;
+
+ Matcher matcher = PATTERN.matcher(value);
+ boolean matches = matcher.find();
+
+ log.debug("> value : " + value + " _ matches ? " + matches);
+
+ if (matches) {
+
+ // Reset done, because of first find()
+ matcher.reset();
+
+ StringBuffer sb = new StringBuffer();
+ for (int i = 0; matcher.find(); i++) {
+
+ log.debug("> match group : " + matcher.group(0));
+ log.debug("> match group for number : " + matcher.group(1));
+
+ int nb = i;
+
+ // Group 1 is the arg number, for MessageFormat it starts from 0
+ // compare to printf that starts from 1
+ if (!"".equals(matcher.group(1))) {
+ nb = Integer.parseInt(matcher.group(1)) - 1;
+ }
+
+ // Append replacement for current occurence
+ matcher.appendReplacement(sb, "\\{" + nb + "\\}");
+ }
+ // Append last chars from input String
+ matcher.appendTail(sb);
+ result = sb.toString();
+
+ log.debug("Result : " + result);
+
+ // Replace ' by ''
+ result = result.replaceAll("([^']+)'([^']+)", "$1''$2");
+
+ log.debug("Result with ' escape : " + result);
+
+ } else {
+ result = value;
+ }
+ return result;
+ }
+
+}
Property changes on: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormat.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java
===================================================================
--- trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java (rev 0)
+++ trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java 2011-05-06 12:51:09 UTC (rev 1905)
@@ -0,0 +1,40 @@
+package org.nuiton.i18n.plugin.bundle;
+
+import org.junit.Assert;
+import org.junit.Test;
+
+/**
+ * Created: 05/05/11
+ *
+ * @author fdesbois <desbois(a)codelutin.com>
+ * $Id$
+ */
+public class StringFormatToMessageFormatTest {
+
+ @Test
+ public void testConvert() throws Exception {
+
+ BundleFormatConverter converter = new StringFormatToMessageFormat();
+
+ String expected = "Salut à tous pour l'ouverture";
+ String actual = converter.convert("Salut à tous pour l'ouverture");
+ Assert.assertEquals(expected, actual);
+
+ expected = "Salut à tous pour l''ouverture de {0}";
+ actual = converter.convert("Salut à tous pour l'ouverture de %s");
+ Assert.assertEquals(expected, actual);
+
+ expected = "Salut à tous pour l''ouverture de {0}";
+ actual = converter.convert("Salut à tous pour l'ouverture de %$1s");
+ Assert.assertEquals(expected, actual);
+
+ expected = "Salut à tous pour l''ouverture de {1} le {0}";
+ actual = converter.convert("Salut à tous pour l'ouverture de %$2s le %$1t");
+ Assert.assertEquals(expected, actual);
+
+ expected = "Salut à tous pour l''ouverture de {1} le {0} à l''heure {0}";
+ actual = converter.convert("Salut à tous pour l''ouverture de %$2s le %$1td à l'heure %1tH");
+ Assert.assertEquals(expected, actual);
+ }
+
+}
Property changes on: trunk/maven-i18n-plugin/src/test/java/org/nuiton/i18n/plugin/bundle/StringFormatToMessageFormatTest.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/src/site/apt/index.apt
===================================================================
--- trunk/src/site/apt/index.apt 2011-05-06 12:49:50 UTC (rev 1904)
+++ trunk/src/site/apt/index.apt 2011-05-06 12:51:09 UTC (rev 1905)
@@ -55,9 +55,15 @@
La version 2.4 gère désormais les fichiers properties en UTF-8 par défaut.
Il est cependant possible de modifier cet encoding dans le plugin et via
- le {{{/i18n/nuiton-i18n/apidocs/org/nuiton/i18n/init/I18nInitializer.html}I18nInitializer}}
+ le {{{./nuiton-i18n/apidocs/org/nuiton/i18n/init/I18nInitializer.html}I18nInitializer}}
pour l'api runtime.
+ Il est aussi possible d'utiliser un autre formattage que celui de <String.format>
+ en utilisant l'interface {{{./nuiton-i18n/apidocs/org/nuiton/i18n/I18nFormatter.html}I18nFormatter}}.
+ Le plugin maven permet d'appliquer une conversion si différents formattages
+ sont utilisés en utilisant le paramètre <<bundleFormatConverter>> du goal <<bundle>>.
+ Ce converter implante le contrat {{{./nuiton-i18n/apidocs/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.html}BundleFormatConverter}}.
+
Quoi de neuf dans la version 2.3
La version 2.3 améliore de façon considérable les temps de détection des clefs
Modified: trunk/src/site/en/apt/index.apt
===================================================================
--- trunk/src/site/en/apt/index.apt 2011-05-06 12:49:50 UTC (rev 1904)
+++ trunk/src/site/en/apt/index.apt 2011-05-06 12:51:09 UTC (rev 1905)
@@ -55,9 +55,16 @@
The 2.4 version manage properties file with UTF-8 encoding by default.
It's also possible to change this encoding with maven plugin and with
- {{{/i18n/nuiton-i18n/apidocs/org/nuiton/i18n/init/I18nInitializer.html}I18nInitializer}}
+ {{{./nuiton-i18n/apidocs/org/nuiton/i18n/init/I18nInitializer.html}I18nInitializer}}
for runtime api.
+ A new formatter {{{./nuiton-i18n/apidocs/org/nuiton/i18n/I18nFormatter.html}I18nFormatter}}
+ is available to allow different implementation than <String.format> (default one).
+ The maven plugin also allow to apply a conversion if different format are used
+ when using <<bundle>> goal, you can set the <<bundleFormatConverter>> parameter.
+ This converter implements the interface
+ {{{./nuiton-i18n/apidocs/org/nuiton/i18n/plugin/bundle/BundleFormatConverter.html}BundleFormatConverter}}.
+
What's new in 2.3 version
Version 2.3 improves a lot performance on detection of java file i18n keys
1
0
r1904 - in trunk/nuiton-i18n/src: main/java/org/nuiton/i18n test/java/org/nuiton/i18n test/resources/META-INF
by fdesbois@users.nuiton.org 06 May '11
by fdesbois@users.nuiton.org 06 May '11
06 May '11
Author: fdesbois
Date: 2011-05-06 14:49:50 +0200 (Fri, 06 May 2011)
New Revision: 1904
Url: http://nuiton.org/repositories/revision/i18n/1904
Log:
#1499 : Add I18nFormatter interface to format message with args. I18nFormat enum provides commons implementations such as STRING_FORMAT (default one in api) and MESSAGE_FORMAT.
Added:
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormat.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormatter.java
Modified:
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18n.java
trunk/nuiton-i18n/src/test/java/org/nuiton/i18n/I18nTest.java
trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_en_GB.properties
trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_fr_FR.properties
trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_ja_JP.properties
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-04 19:30:55 UTC (rev 1903)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18n.java 2011-05-06 12:49:50 UTC (rev 1904)
@@ -73,6 +73,8 @@
/** Filtre a appliquer avant de retourner les chaines */
protected static I18nFilter filter;
+ protected static I18nFormatter formatter = I18nFormat.STRING_FORMAT;
+
/**
* Change le filtre des chaines traduites
*
@@ -82,6 +84,10 @@
I18n.filter = filter;
}
+ public static void setFormatter(I18nFormatter formatter) {
+ I18n.formatter = formatter;
+ }
+
/**
* Initialize I18n system.
* <p/>
@@ -182,8 +188,7 @@
* Retourne la chaine traduite si possible dans la locale demandée.
*
* @param locale la locale dans lequel on souhaite la traduction
- * @param message message formate avec la meme syntaxe que {@link
- * String#format}
+ * @param message message formate avec {@link I18nFormatter}
* @param args les parametres pour le message.
* @return la traduction si possible ou la chaine passee en parametre
* sinon.
@@ -208,10 +213,10 @@
}
try {
- return applyFilter(String.format(result, args));
+ return applyFilter(formatter.format(locale, result, args));
} catch (Exception eee) {
try {
- return applyFilter(String.format(message, args));
+ return applyFilter(formatter.format(locale, message, args));
} catch (Exception zzz) {
if (log.isWarnEnabled()) {
log.warn(
@@ -226,8 +231,7 @@
/**
* Retourne la chaine traduite si possible.
*
- * @param message message formate avec la meme syntaxe que {@link
- * String#format}
+ * @param message message formate avec {@link I18nFormatter}
* @param args les parametres pour le message.
* @return la traduction si possible ou la chaine passee en parametre
* sinon.
@@ -263,8 +267,7 @@
* devant être traduit seulement à leur lecture suivant la locale du lecteur
* et non du créateur.
*
- * @param message message formate avec la meme syntaxe que {@link
- * String#format(String, Object...)}
+ * @param message message formate avec {@link I18nFormatter}
* @param args les parametres pour le message.
* @return le message passe en argument mais formatté avec les parametres
*/
@@ -274,7 +277,10 @@
}
try {
- return String.format(message, args);
+ // XXX-fdesbois-2011-05-05 : don't know if it's relevant to format here,
+ // seems pretty useless because we will not use the value
+ // corresponding to given key message
+ return formatter.format(getDefaultLocale(), message, args);
} catch (Exception eee) {
if (log.isWarnEnabled()) {
log.warn(
@@ -379,6 +385,10 @@
return filter;
}
+ public static I18nFormatter getFormatter() {
+ return formatter;
+ }
+
/**
* Init the store with given parameters and set the current language in the
* store to the default given {@code locale}.
Added: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormat.java
===================================================================
--- trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormat.java (rev 0)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormat.java 2011-05-06 12:49:50 UTC (rev 1904)
@@ -0,0 +1,44 @@
+package org.nuiton.i18n;
+
+import java.text.MessageFormat;
+import java.util.Formatter;
+import java.util.Locale;
+
+/**
+ * Enum implementation for {@link I18nFormatter}. Provides basic formatter
+ * such as {@link #STRING_FORMAT} and {@link #MESSAGE_FORMAT}.
+ * <p/>
+ * Created: 05/05/11
+ *
+ * @author fdesbois <desbois(a)codelutin.com>
+ * $Id$
+ */
+public enum I18nFormat implements I18nFormatter {
+
+ /**
+ * Implementation based on printf syntax.
+ *
+ * @see Formatter
+ * @see String#format(Locale, String, Object...)
+ */
+ STRING_FORMAT {
+
+ @Override
+ public String format(Locale locale, String message, Object... args) {
+ return String.format(locale, message, args);
+ }
+ },
+
+ /**
+ * Implementation based on {@link MessageFormat} syntax.
+ */
+ MESSAGE_FORMAT {
+
+ @Override
+ public String format(Locale locale, String message, Object... args) {
+ MessageFormat formatter = new MessageFormat(message, locale);
+ return formatter.format(args);
+ }
+ };
+
+}
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormat.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Added: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormatter.java
===================================================================
--- trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormatter.java (rev 0)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormatter.java 2011-05-06 12:49:50 UTC (rev 1904)
@@ -0,0 +1,28 @@
+package org.nuiton.i18n;
+
+import java.util.Locale;
+
+/**
+ * Formatter to use at runtime when message need to be translated with args.
+ * <p/>
+ * Created: 05/05/11
+ *
+ * @author fdesbois <desbois(a)codelutin.com>
+ * @see I18nFormat
+ * $Id$
+ */
+public interface I18nFormatter {
+
+ /**
+ * Format a given {@code message} with {@code locale} and {@code args}.
+ * The purpose is to replace placeholders in {@code message} with {@code args}
+ * value. This could depends on {@code locale} for date purpose for example.
+ *
+ * @param locale Locale to use for formatting (number, date, ...)
+ * @param message Message to format (that contains placeholders)
+ * @param args Object array to use in formatting the message
+ * @return the formatted message
+ */
+ String format(Locale locale, String message, Object... args);
+
+}
Property changes on: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nFormatter.java
___________________________________________________________________
Added: svn:keywords
+ Author Date Id Revision HeadURL
Modified: trunk/nuiton-i18n/src/test/java/org/nuiton/i18n/I18nTest.java
===================================================================
--- trunk/nuiton-i18n/src/test/java/org/nuiton/i18n/I18nTest.java 2011-05-04 19:30:55 UTC (rev 1903)
+++ trunk/nuiton-i18n/src/test/java/org/nuiton/i18n/I18nTest.java 2011-05-06 12:49:50 UTC (rev 1904)
@@ -30,6 +30,8 @@
import org.junit.Test;
import org.nuiton.i18n.init.DefaultI18nInitializer;
+import java.util.Date;
+import java.util.GregorianCalendar;
import java.util.Locale;
/**
@@ -198,4 +200,28 @@
actual = I18n.l_(Locale.CHINA, "key.with.param", "param");
Assert.assertEquals(expected, actual);
}
+
+ @Test
+ public void testFormatterMessageFormat() {
+
+ I18n.init(initializer, Locale.UK);
+ I18n.setFormatter(I18nFormat.MESSAGE_FORMAT);
+
+ Date date = new GregorianCalendar(2011, 4, 5).getTime();
+
+ String expected = "Key with 05-May-2011";
+ String actual = I18n.l_(Locale.UK, "key.with.date", date);
+ Assert.assertEquals(expected, actual);
+
+ expected = "とキー 2011/05/05";
+ actual = I18n.l_(Locale.JAPAN, "key.with.date", date);
+ Assert.assertEquals(expected, actual);
+
+ expected = "Clé avec 5 mai 2011";
+ actual = I18n.l_(Locale.FRANCE, "key.with.date", date);
+ Assert.assertEquals(expected, actual);
+
+ // reset default value
+ I18n.setFormatter(I18nFormat.STRING_FORMAT);
+ }
}
Modified: trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_en_GB.properties
===================================================================
--- trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_en_GB.properties 2011-05-04 19:30:55 UTC (rev 1903)
+++ trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_en_GB.properties 2011-05-06 12:49:50 UTC (rev 1904)
@@ -24,4 +24,5 @@
###
key.one=First
key.two=Second
-key.with.param=Key with %s
\ No newline at end of file
+key.with.param=Key with %s
+key.with.date=Key with {0,date}
\ No newline at end of file
Modified: trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_fr_FR.properties
===================================================================
--- trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_fr_FR.properties 2011-05-04 19:30:55 UTC (rev 1903)
+++ trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_fr_FR.properties 2011-05-06 12:49:50 UTC (rev 1904)
@@ -25,3 +25,4 @@
key.one=Premier
key.two=Seconde
key.with.param=Clé avec %s
+key.with.date=Clé avec {0,date}
Modified: trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_ja_JP.properties
===================================================================
--- trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_ja_JP.properties 2011-05-04 19:30:55 UTC (rev 1903)
+++ trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_ja_JP.properties 2011-05-06 12:49:50 UTC (rev 1904)
@@ -25,3 +25,4 @@
key.one=最初の
key.two=2番目
key.with.param=とキー %s
+key.with.date=とキー {0,date}
1
0