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
- 786 discussions
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
Author: fdesbois
Date: 2011-05-04 21:30:55 +0200 (Wed, 04 May 2011)
New Revision: 1903
Url: http://nuiton.org/repositories/revision/i18n/1903
Log:
#1505 : UTF-8 is default encoding. Only one parameter in maven plugin is sufficient. Definition file will be used by DefaultI18nInitializer.
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/verify.groovy
trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/pom.xml
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/AbstractI18nMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GenerateMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GetterMojo.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/CollectI18nArtifactsMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/TapestryBundleMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractI18nParserMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/AbstractParserXmlMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserGWTJavaMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJspMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserTapestryMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserValidationMojo.java
trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserXmlUserMojo.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nLanguage.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nUtil.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/DefaultI18nInitializer.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/I18nInitializer.java
trunk/nuiton-i18n/src/test/java/org/nuiton/i18n/I18nTest.java
trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest-definition.properties
trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_fr_FR.properties
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/pom.xml
===================================================================
--- trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/pom.xml 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/pom.xml 2011-05-04 19:30:55 UTC (rev 1903)
@@ -70,7 +70,7 @@
<version>@pom.version@</version>
<configuration>
<verbose>true</verbose>
- <srcEncoding>iso-8859-1</srcEncoding>
+ <encoding>iso-8859-1</encoding>
<bundleOutputName>ResultBundle</bundleOutputName>
<bundleOutputPackage>org.nuiton</bundleOutputPackage>
</configuration>
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-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/iso-8859-1/verify.groovy 2011-05-04 19:30:55 UTC (rev 1903)
@@ -36,7 +36,6 @@
content = file.text;
for (value in values) {
- println("VALUE : " + value);
if (!content.contains(value)) {
println("Could not find " + value + " in file " + file);
return false;
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-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/it/ano-encoding/utf-8/pom.xml 2011-05-04 19:30:55 UTC (rev 1903)
@@ -81,7 +81,7 @@
<version>@pom.version@</version>
<configuration>
<verbose>true</verbose>
- <srcEncoding>utf-8</srcEncoding>
+ <encoding>utf-8</encoding>
<bundleOutputName>ResultBundle</bundleOutputName>
<bundleOutputPackage>org.nuiton</bundleOutputPackage>
</configuration>
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/AbstractI18nMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/AbstractI18nMojo.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/AbstractI18nMojo.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -47,7 +47,7 @@
* @author tchemit <chemit(a)codelutin.com>
* @author jruchaud <ruchaud(a)codelutin.com>
*/
-public abstract class AbstractI18nMojo extends AbstractPlugin {
+public abstract class AbstractI18nMojo extends AbstractPlugin implements PluginWithEncoding {
/** Le nombre de getters détectés pendant le cycle de vie du build. */
private static int NB_GETTER_FILES;
@@ -99,37 +99,14 @@
protected File out;
/**
- * Deprecated param.
+ * Encoding used to load and store properties.
*
* @parameter expression="${i18n.encoding}" default-value="${project.build.sourceEncoding}"
* @required
- * @deprecated since 2.4, not used anymore, use srcEncoding or outEncoding instead
*/
protected String encoding;
/**
- * Encoding used to load files. All external bundle files or from user
- * sources will be load using this encoding. The merge in sources (from
- * generate goal) will not change this encoding.
- * <p/>
- * <b>Note:</b> If nothing is filled here, we will use the system
- * property {@code file.encoding}.
- *
- * @parameter expression="${i18n.srcEncoding}" default-value="${project.build.sourceEncoding}"
- * @required
- */
- protected String srcEncoding;
-
- /**
- * Encoding used to load and store files. Default is iso-8859-1 for
- * properties file.
- *
- * @parameter expression="${i18n.outEncoding}" default-value="iso-8859-1"
- * @required
- */
- protected String outEncoding;
-
- /**
* To update generated files to user i18n files.
* <p/>
* <b>Note :</b> By default, this is active, in order to have a project uptodate
@@ -346,4 +323,14 @@
public boolean isStrictMode() {
return strictMode;
}
+
+ @Override
+ public String getEncoding() {
+ return encoding;
+ }
+
+ @Override
+ public void setEncoding(String encoding) {
+ this.encoding = encoding;
+ }
}
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GenerateMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GenerateMojo.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GenerateMojo.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -94,7 +94,6 @@
if (!silent) {
getLog().info("config - src basedir : " + src.getAbsolutePath());
getLog().info("config - out basedir : " + out.getAbsolutePath());
- getLog().info("config - src and out encoding : " + srcEncoding);
getLog().info("config - locales : " + Arrays.toString(locales));
}
for (Locale locale : locales) {
@@ -107,13 +106,13 @@
File bundleGetterOut = getI18nFile(
out, artifactId + GetterMojo.FROM_GETTERS, locale, false);
- SortedProperties propertiesSrc = new SortedProperties(srcEncoding);
+ SortedProperties propertiesSrc = new SortedProperties(encoding);
if (bundleSrc.exists()) {
propertiesSrc.load(bundleSrc);
}
- SortedProperties propertiesOut = new SortedProperties();
+ SortedProperties propertiesOut = new SortedProperties(encoding);
if (!strictMode) {
// si on n'est pas en mode strict, on doit push back in
@@ -121,9 +120,7 @@
propertiesOut.putAll(propertiesSrc);
}
- // Les parser utilisent outEncoding pour gérer les fichiers, donc
- // la lecture se fera avec cet encoding et non pas le srcEncoding
- propertiesOut.load(bundleGetterOut, outEncoding);
+ propertiesOut.load(bundleGetterOut);
// Parcours des clés
for (Object key : propertiesOut.keySet()) {
@@ -142,9 +139,7 @@
}
}
- // La sauvegarde doit assurer l'encoding de départ pour ne pas
- // transformer les fichiers sources.
- propertiesOut.store(bundleOut, srcEncoding);
+ propertiesOut.store(bundleOut);
// Sauvegarde avant copie
if (genSrc && keepBackup) {
@@ -160,7 +155,10 @@
if (genSrc) {
// Copie des fichiers dans les sources
- copyFile(bundleOut, bundleSrc);
+// copyFile(bundleOut, bundleSrc);
+
+ propertiesOut.store(bundleSrc);
+
if (!silent) {
getLog().info("copy bundle " + locale + " to src");
}
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GetterMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GetterMojo.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/GetterMojo.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -76,7 +76,7 @@
createDirectoryIfNecessary(bundleGetters.getParentFile());
- SortedProperties propertiesOut = new SortedProperties(outEncoding);
+ SortedProperties propertiesOut = new SortedProperties(encoding);
DirectoryScanner ds = new DirectoryScanner();
ds.setBasedir(out);
@@ -91,7 +91,7 @@
// chargement du getter
SortedProperties propertiesIn =
- new SortedProperties(outEncoding).load(bundleGetter);
+ new SortedProperties(encoding).load(bundleGetter);
// ajout des entrées dans le bundle
propertiesOut.putAll(propertiesIn);
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-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/BundleMojo.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -116,7 +116,7 @@
);
SortedProperties propertiesOut =
- new SortedProperties(outEncoding, false);
+ new SortedProperties(encoding, false);
StringBuilder buffer = new StringBuilder();
URL[] urls = getCollectI18nResources(locale);
@@ -131,15 +131,12 @@
}
List<String> bundlesUrls = new ArrayList<String>();
- Charset loadEncoding = Charset.forName(srcEncoding);
+
+ Charset loadEncoding = Charset.forName(encoding);
for (URL url : urls) {
long t000 = System.nanoTime();
I18nBundleEntry bundleEntry =
new I18nBundleEntry(url, locale, null);
- // Use srcEncoding, i18n files are generated using this encoding
- // If bundle are from other libs, maybe encoding could be uncompatible :/
- // Generally those files are ISO Latin1 or UTF-8, reading in
- // UTF8 ISO Latin1 files will be Ok.
bundleEntry.load(propertiesOut, loadEncoding);
String strPath = bundleEntry.getPath().toString();
int index = strPath.indexOf("i18n/");
@@ -215,9 +212,10 @@
getLog().info("prepare i18n definition file in " +
defOut.getAbsolutePath());
}
- SortedProperties p = new SortedProperties(outEncoding, false);
+ SortedProperties p = new SortedProperties(encoding, false);
p.setProperty(DefaultI18nInitializer.BUNDLE_DEF_LOCALES, bundles);
p.setProperty(DefaultI18nInitializer.BUNDLE_DEF_VERSION, version);
+ p.setProperty(DefaultI18nInitializer.BUNDLE_DEF_ENCODING, encoding);
for (Entry<Locale, String> e : bundleDico.entrySet()) {
p.setProperty(DefaultI18nInitializer.BUNDLES_FOR_LOCALE +
e.getKey().toString(), e.getValue());
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/CollectI18nArtifactsMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/CollectI18nArtifactsMojo.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/CollectI18nArtifactsMojo.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -183,7 +183,7 @@
getLog().info("add " + path);
}
}
- writeFile(bundleOut, buffer.toString(), outEncoding);
+ writeFile(bundleOut, buffer.toString(), encoding);
}
/**
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/TapestryBundleMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/TapestryBundleMojo.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/bundle/TapestryBundleMojo.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -86,7 +86,7 @@
}
SortedProperties propertiesOut =
- new SortedProperties(outEncoding, false);
+ new SortedProperties(encoding, false);
StringBuilder buffer = new StringBuilder();
URL[] urls = getCollectI18nResources(locale);
@@ -95,7 +95,7 @@
continue;
}
- Charset loadEncoding = Charset.forName(outEncoding);
+ Charset loadEncoding = Charset.forName(encoding);
for (URL url : urls) {
long t000 = System.nanoTime();
I18nBundleEntry bundleEntry =
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractI18nParserMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractI18nParserMojo.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/AbstractI18nParserMojo.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -139,9 +139,9 @@
public void init() throws Exception {
super.init();
t0 = System.nanoTime();
- result = new SortedProperties(outEncoding);
- oldParser = new SortedProperties(outEncoding);
- oldLanguage = new SortedProperties(outEncoding);
+ result = new SortedProperties(encoding);
+ oldParser = new SortedProperties(encoding);
+ oldLanguage = new SortedProperties(encoding);
createDirectoryIfNecessary(out);
// // evenements
// if (keysModifier) {
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/AbstractParserXmlMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/AbstractParserXmlMojo.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/AbstractParserXmlMojo.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -258,7 +258,7 @@
private String readInputStream(InputStream in) throws IOException {
StringBuilder sb = new StringBuilder();
BufferedReader reader = new BufferedReader(
- new InputStreamReader(in, outEncoding));
+ new InputStreamReader(in, encoding));
try {
String line;
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserGWTJavaMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserGWTJavaMojo.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserGWTJavaMojo.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -143,7 +143,7 @@
public FileParser newFileParser() {
return new GWTJavaFileParser(getLog(),
- outEncoding,
+ encoding,
oldParser,
isShowTouchedFiles()
);
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaMojo.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJavaMojo.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -109,7 +109,7 @@
public FileParser newFileParser() {
return new JavaFileParser(getLog(),
- outEncoding,
+ encoding,
oldParser,
isShowTouchedFiles()
);
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJspMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJspMojo.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserJspMojo.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -152,7 +152,7 @@
final DocumentBuilder builder) {
return new XmlFileParser(getLog(),
- outEncoding,
+ encoding,
oldParser,
showTouchedFiles,
rules,
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserTapestryMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserTapestryMojo.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserTapestryMojo.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -141,7 +141,7 @@
public FileParser newFileParser() {
return new TapestryFileParser(getLog(),
- outEncoding,
+ encoding,
oldParser,
isShowTouchedFiles()
);
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserValidationMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserValidationMojo.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserValidationMojo.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -144,7 +144,7 @@
builder.setEntityResolver(getEntityResolver());
return new XmlFileParser(getLog(),
- outEncoding,
+ encoding,
oldParser,
showTouchedFiles,
rules,
Modified: trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserXmlUserMojo.java
===================================================================
--- trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserXmlUserMojo.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/maven-i18n-plugin/src/main/java/org/nuiton/i18n/plugin/parser/impl/ParserXmlUserMojo.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -106,7 +106,7 @@
@Override
protected XmlFileParser newXmlFileParser(XPath xpath, DocumentBuilder builder) {
XmlFileParser fileParser = new XmlFileParser(getLog(),
- outEncoding,
+ encoding,
oldParser,
showTouchedFiles,
rules,
Modified: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nLanguage.java
===================================================================
--- trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nLanguage.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nLanguage.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -139,6 +139,9 @@
// load resources
try {
+ if (log.isInfoEnabled()) {
+ log.info("Encoding " + encoding + " will be used to load files");
+ }
for (I18nBundleEntry e : bundleEntries) {
e.load(resource, encoding);
}
Modified: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nUtil.java
===================================================================
--- trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nUtil.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nUtil.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -36,7 +36,11 @@
import java.net.URISyntaxException;
import java.net.URL;
import java.net.URLClassLoader;
-import java.util.*;
+import java.util.ArrayList;
+import java.util.Arrays;
+import java.util.List;
+import java.util.Locale;
+import java.util.Stack;
import java.util.jar.Attributes;
import java.util.jar.JarFile;
import java.util.jar.Manifest;
@@ -52,7 +56,7 @@
public static final String UTF_8_ENCONDING = "UTF-8";
- public static final String DEFAULT_ENCODING = ISO_8859_1_ENCONDING;
+ public static final String DEFAULT_ENCODING = UTF_8_ENCONDING;
public static final Locale DEFAULT_LOCALE = Locale.UK;
Modified: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/DefaultI18nInitializer.java
===================================================================
--- trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/DefaultI18nInitializer.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/DefaultI18nInitializer.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -60,6 +60,8 @@
public static String BUNDLE_DEF_VERSION = "version";
+ public static String BUNDLE_DEF_ENCODING = "encoding";
+
public static String BUNDLES_FOR_LOCALE = "bundles.";
/** the name of the bundle */
@@ -89,14 +91,6 @@
public DefaultI18nInitializer(String bundleName,
ClassLoader loader,
String i18nPath) throws NullPointerException {
- this(bundleName, loader, i18nPath, null);
- }
-
- public DefaultI18nInitializer(String bundleName,
- ClassLoader loader,
- String i18nPath,
- Charset encoding) throws NullPointerException {
- super(encoding);
if (bundleName == null) {
throw new NullPointerException(
"parameter 'bundleName' can not be null");
@@ -134,7 +128,7 @@
return url;
}
- public String resolvDefinition(Properties p) throws Exception {
+ public String resolvDefinition(Properties properties) throws Exception {
String filename = String.format(UNIQUE_BUNDLE_DEF, getBundleName());
@@ -147,12 +141,19 @@
// load definition file
InputStream stream = url.openStream();
try {
- p.load(stream);
+ properties.load(stream);
stream.close();
} finally {
stream.close();
}
+ // Load encoding from definition file and use it as Charset encoding
+ if (encoding == null) {
+ String encoding = properties.getProperty(BUNDLE_DEF_ENCODING);
+ Charset charset = Charset.forName(encoding);
+ setEncoding(charset);
+ }
+
String prefix = url.toString();
prefix = prefix.substring(0, prefix.length() - filename.length());
Modified: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/I18nInitializer.java
===================================================================
--- trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/I18nInitializer.java 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/init/I18nInitializer.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -47,10 +47,12 @@
/** Logger */
private static final Log log = LogFactory.getLog(I18nInitializer.class);
+ protected static Charset defaultEncoding =
+ Charset.forName(I18nUtil.DEFAULT_ENCODING);
+
protected Charset encoding;
protected I18nInitializer() {
- this(null);
}
/**
@@ -59,8 +61,7 @@
* @param encoding Charset to use for Properties loading
*/
protected I18nInitializer(Charset encoding) {
- Charset defaultEncoding = Charset.forName(I18nUtil.DEFAULT_ENCODING);
- this.encoding = encoding == null ? defaultEncoding : encoding;
+ this.encoding = encoding;
}
/**
@@ -90,7 +91,8 @@
}
public Charset getEncoding() {
- return encoding;
+ Charset result = encoding == null ? defaultEncoding : encoding;
+ return result;
}
public void setEncoding(Charset encoding) {
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 15:40:06 UTC (rev 1902)
+++ trunk/nuiton-i18n/src/test/java/org/nuiton/i18n/I18nTest.java 2011-05-04 19:30:55 UTC (rev 1903)
@@ -29,9 +29,7 @@
import org.junit.BeforeClass;
import org.junit.Test;
import org.nuiton.i18n.init.DefaultI18nInitializer;
-import org.nuiton.i18n.init.I18nInitializer;
-import java.nio.charset.Charset;
import java.util.Locale;
/**
@@ -106,15 +104,10 @@
}
@Test
- public void testEncodingUTF8() {
+ public void testJapanese() {
- Charset utf8 = Charset.forName("utf-8");
+ I18n.init(initializer, Locale.JAPAN);
- I18nInitializer initializerUtf8 = new DefaultI18nInitializer(
- I18nStoreTest.class.getSimpleName(), null, null, utf8);
-
- I18n.init(initializerUtf8, Locale.JAPAN);
-
Assert.assertNotNull(I18n.store.resolver.getEncoding());
Assert.assertEquals("最初の", I18n._("key.one"));
}
@@ -130,11 +123,11 @@
I18n.init(initializer, Locale.FRANCE);
// I18n.getStore().setLanguage(Locale.FRANCE);
- expected = "Clef avec %s";
+ expected = "Clé avec %s";
actual = I18n._("key.with.param");
Assert.assertEquals(expected, actual);
- expected = "Clef avec param";
+ expected = "Clé avec param";
actual = I18n._("key.with.param", "param");
Assert.assertEquals(expected, actual);
@@ -175,11 +168,11 @@
I18n.init(initializer, null);
- expected = "Clef avec %s";
+ expected = "Clé avec %s";
actual = I18n.l_(Locale.FRANCE, "key.with.param");
Assert.assertEquals(expected, actual);
- expected = "Clef avec param";
+ expected = "Clé avec param";
actual = I18n.l_(Locale.FRANCE, "key.with.param", "param");
Assert.assertEquals(expected, actual);
Modified: trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest-definition.properties
===================================================================
--- trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest-definition.properties 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest-definition.properties 2011-05-04 19:30:55 UTC (rev 1903)
@@ -26,4 +26,5 @@
bundles.en_GB=bundleTest/I18nStoreTest_en_GB.properties
bundles.fr_FR=bundleTest/I18nStoreTest_fr_FR.properties
bundles.ja_JP=bundleTest/I18nStoreTest_ja_JP.properties
+encoding=utf-8
locales=fr_FR,en_GB,ja_JP
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 15:40:06 UTC (rev 1902)
+++ trunk/nuiton-i18n/src/test/resources/META-INF/I18nStoreTest_fr_FR.properties 2011-05-04 19:30:55 UTC (rev 1903)
@@ -24,4 +24,4 @@
###
key.one=Premier
key.two=Seconde
-key.with.param=Clef avec %s
+key.with.param=Clé avec %s
Modified: trunk/src/site/apt/index.apt
===================================================================
--- trunk/src/site/apt/index.apt 2011-05-04 15:40:06 UTC (rev 1902)
+++ trunk/src/site/apt/index.apt 2011-05-04 19:30:55 UTC (rev 1903)
@@ -53,33 +53,11 @@
Quoi de neuf dans la version 2.4
- La version 2.4 interprète désormais d'autres encoding que celui par défaut des
- Properties (iso-8859-1).
+ 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}}
+ pour l'api runtime.
-* Nouveautés dans le plugin maven
-
- Nouveaux paramètres srcEncoding et outEncoding.
-
- Le srcEncoding correspond aux fichiers de Properties utilisateurs manipulés
- et modifiés dans les ressources (src/main/resources), sa valeur par défaut
- devient celle du projet qui est généralement de l'utf-8. Dans ce cas, les
- projets qui migreront verront leurs fichiers sources i18n passés
- automatiquement en utf-8 (sans caractères unicode échappés).
-
- Le outEncoding correspond aux fichiers de Properties générés par le plugin,
- ces fichiers seront aussi utilisés potentiellement au runtime par l'api. Sa
- valeur par défaut reste celle des Properties (iso-8859-1) pour garder le
- comportement par défaut de l'api. Si vous changez ce paramètre, il sera
- indispensable de changer l'initialisation d'I18n (voir après).
-
-* Nouveautés dans l'api
-
- Il est désormais possible de fournir un Charset encoding à l'initialisation
- via le {{{/i18n/nuiton-i18n/apidocs/org/nuiton/i18n/init/I18nInitializer.html}I18nInitializer}}.
- De cette manière, les fichiers de Properties I18n seront chargés en utilisant
- cette encoding. Par défaut le chargement reste cohérent avec le plugin et
- les précédentes versions en gardant l'iso-8859-1 comme encoding.
-
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-04 15:40:06 UTC (rev 1902)
+++ trunk/src/site/en/apt/index.apt 2011-05-04 19:30:55 UTC (rev 1903)
@@ -51,6 +51,13 @@
- {{{./maven-i18n-plugin/index.html}I18n Maven Plugin}}
+What's new in 2.4 version
+
+ 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}}
+ for runtime api.
+
What's new in 2.3 version
Version 2.3 improves a lot performance on detection of java file i18n keys
1
0
r1902 - in trunk/nuiton-i18n/src/main/java/org/nuiton/i18n: . bundle
by fdesbois@users.nuiton.org 04 May '11
by fdesbois@users.nuiton.org 04 May '11
04 May '11
Author: fdesbois
Date: 2011-05-04 17:40:06 +0200 (Wed, 04 May 2011)
New Revision: 1902
Url: http://nuiton.org/repositories/revision/i18n/1902
Log:
Use DEFAULT_ENCODING constant
Modified:
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nLanguage.java
trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/bundle/I18nBundleEntry.java
Modified: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nLanguage.java
===================================================================
--- trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nLanguage.java 2011-05-04 12:30:27 UTC (rev 1901)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/I18nLanguage.java 2011-05-04 15:40:06 UTC (rev 1902)
@@ -81,7 +81,7 @@
*/
@Deprecated
public void load(I18nBundleEntry[] bundleEntries) {
- Charset encoding = Charset.forName(I18nUtil.ISO_8859_1_ENCONDING);
+ Charset encoding = Charset.forName(I18nUtil.DEFAULT_ENCODING);
load(bundleEntries, encoding);
}
Modified: trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/bundle/I18nBundleEntry.java
===================================================================
--- trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/bundle/I18nBundleEntry.java 2011-05-04 12:30:27 UTC (rev 1901)
+++ trunk/nuiton-i18n/src/main/java/org/nuiton/i18n/bundle/I18nBundleEntry.java 2011-05-04 15:40:06 UTC (rev 1902)
@@ -130,7 +130,7 @@
*/
@Deprecated
public void load(Properties resource) throws IOException {
- Charset encoding = Charset.forName(I18nUtil.ISO_8859_1_ENCONDING);
+ Charset encoding = Charset.forName(I18nUtil.DEFAULT_ENCODING);
load(resource, encoding);
}
1
0