diff --git a/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginXdocGenerator.java b/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginXdocGenerator.java
index f58d1f1..9d00d11 100644
--- a/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginXdocGenerator.java
+++ b/maven-plugin-tools-api/src/main/java/org/apache/maven/tools/plugin/generator/PluginXdocGenerator.java
@@ -25,6 +25,7 @@ import java.io.IOException;
import java.io.OutputStreamWriter;
import java.io.PrintWriter;
import java.io.Writer;
+import java.text.MessageFormat;
import java.util.ArrayList;
import java.util.Iterator;
import java.util.List;
@@ -160,7 +161,7 @@ public class PluginXdocGenerator
writeReportNotice( mojoDescriptor, w );
w.startElement( "p" );
- w.writeMarkup( ""+ getBundle( locale ).getString( "pluginxdoc.mojodescriptor.fullname" ) + ":" );
+ w.writeMarkup( getString( "pluginxdoc.mojodescriptor.fullname" ) );
w.endElement(); //p
w.startElement( "p" );
w.writeMarkup( mojoDescriptor.getPluginDescriptor().getGroupId() + ":"
@@ -171,8 +172,7 @@ public class PluginXdocGenerator
if ( StringUtils.isNotEmpty( mojoDescriptor.getDeprecated() ) )
{
w.startElement( "p" );
- w.writeMarkup( "" + getBundle( locale ).getString( "pluginxdoc.mojodescriptor.deprecated" )
- + ":" );
+ w.writeMarkup( getString( "pluginxdoc.mojodescriptor.deprecated" ) );
w.endElement(); // p
w.startElement( "div" );
w.writeMarkup( PluginUtils.makeHtmlValid( mojoDescriptor.getDeprecated() ) );
@@ -180,7 +180,7 @@ public class PluginXdocGenerator
}
w.startElement( "p" );
- w.writeMarkup( ""+ getBundle( locale ).getString( "pluginxdoc.description" ) + ":" );
+ w.writeMarkup( getString( "pluginxdoc.description" ) );
w.endElement(); //p
w.startElement( "div" );
if ( StringUtils.isNotEmpty( mojoDescriptor.getDescription() ) )
@@ -189,7 +189,7 @@ public class PluginXdocGenerator
}
else
{
- w.writeText( getBundle( locale ).getString( "pluginxdoc.nodescription" ) );
+ w.writeText( getString( "pluginxdoc.nodescription" ) );
}
w.endElement(); // div
@@ -209,9 +209,8 @@ public class PluginXdocGenerator
if ( PluginUtils.isMavenReport( mojoDescriptor.getImplementation(), project ) )
{
w.startElement( "p" );
- w.writeMarkup( "" + getBundle( locale ).getString( "pluginxdoc.mojodescriptor.notice.note" )
- + ": " );
- w.writeText( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.notice.isMavenReport" ) );
+ w.writeMarkup( getString( "pluginxdoc.mojodescriptor.notice.note" ) );
+ w.writeText( getString( "pluginxdoc.mojodescriptor.notice.isMavenReport" ) );
w.endElement(); //p
}
}
@@ -219,7 +218,7 @@ public class PluginXdocGenerator
private void writeGoalAttributes( MojoDescriptor mojoDescriptor, XMLWriter w )
{
w.startElement( "p" );
- w.writeMarkup( ""+ getBundle( locale ).getString( "pluginxdoc.mojodescriptor.attributes" ) + ":" );
+ w.writeMarkup( getString( "pluginxdoc.mojodescriptor.attributes" ) );
w.endElement(); //p
w.startElement( "ul" );
@@ -229,21 +228,21 @@ public class PluginXdocGenerator
if ( mojoDescriptor.isProjectRequired() )
{
w.startElement( "li" );
- w.writeMarkup( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.projectRequired" ) + "." );
+ w.writeMarkup( getString( "pluginxdoc.mojodescriptor.projectRequired" ) );
w.endElement(); //li
}
if ( mojoDescriptor.isAggregator() )
{
w.startElement( "li" );
- w.writeMarkup( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.aggregator" ) + "." );
+ w.writeMarkup( getString( "pluginxdoc.mojodescriptor.aggregator" ) );
w.endElement(); //li
}
if ( mojoDescriptor.isDirectInvocationOnly() )
{
w.startElement( "li" );
- w.writeMarkup( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.directInvocationOnly" ) + "." );
+ w.writeMarkup( getString( "pluginxdoc.mojodescriptor.directInvocationOnly" ) );
w.endElement(); //li
}
@@ -251,7 +250,7 @@ public class PluginXdocGenerator
if ( StringUtils.isNotEmpty( value ) )
{
w.startElement( "li" );
- w.writeMarkup( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.dependencyResolutionRequired" ) + ": " + value + "." );
+ w.writeMarkup( format( "pluginxdoc.mojodescriptor.dependencyResolutionRequired", value ) );
w.endElement(); //li
}
@@ -259,7 +258,7 @@ public class PluginXdocGenerator
if ( StringUtils.isNotEmpty( value ) )
{
w.startElement( "li" );
- w.writeMarkup( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.since" ) + ": " + value + "." );
+ w.writeMarkup( format( "pluginxdoc.mojodescriptor.since", value ) );
w.endElement(); //li
}
@@ -267,7 +266,7 @@ public class PluginXdocGenerator
if ( StringUtils.isNotEmpty( value ) )
{
w.startElement( "li" );
- w.writeMarkup( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.phase" ) + ": " + value + "." );
+ w.writeMarkup( format( "pluginxdoc.mojodescriptor.phase", value ) );
w.endElement(); //li
}
@@ -275,8 +274,7 @@ public class PluginXdocGenerator
if ( StringUtils.isNotEmpty( value ) )
{
w.startElement( "li" );
- w.writeMarkup( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.executePhase1" ) + " " + value
- + " " + getBundle( locale ).getString( "pluginxdoc.mojodescriptor.executePhase2" ) + "." );
+ w.writeMarkup( format( "pluginxdoc.mojodescriptor.executePhase", value ) );
w.endElement(); //li
}
@@ -284,8 +282,7 @@ public class PluginXdocGenerator
if ( StringUtils.isNotEmpty( value ) )
{
w.startElement( "li" );
- w.writeMarkup( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.executeGoal1" ) + " " + value
- + " " + getBundle( locale ).getString( "pluginxdoc.mojodescriptor.executeGoal2" ) + "." );
+ w.writeMarkup( format( "pluginxdoc.mojodescriptor.executeGoal", value ) );
w.endElement(); //li
}
@@ -293,21 +290,21 @@ public class PluginXdocGenerator
if ( StringUtils.isNotEmpty( value ) )
{
w.startElement( "li" );
- w.writeMarkup( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.executeLifecycle" ) + ": " + value + "." );
+ w.writeMarkup( format( "pluginxdoc.mojodescriptor.executeLifecycle", value ) );
w.endElement(); //li
}
if ( mojoDescriptor.isOnlineRequired() )
{
w.startElement( "li" );
- w.writeMarkup( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.onlineRequired" ) + "." );
+ w.writeMarkup( getString( "pluginxdoc.mojodescriptor.onlineRequired" ) );
w.endElement(); //li
}
if ( !mojoDescriptor.isInheritedByDefault() )
{
w.startElement( "li" );
- w.writeMarkup( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.inheritedByDefault" ) + "." );
+ w.writeMarkup( getString( "pluginxdoc.mojodescriptor.inheritedByDefault" ) );
w.endElement(); //li
}
@@ -330,10 +327,10 @@ public class PluginXdocGenerator
else
{
w.startElement( "subsection" );
- w.addAttribute( "name", getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameters" ) );
+ w.addAttribute( "name", getString( "pluginxdoc.mojodescriptor.parameters" ) );
w.startElement( "p" );
- w.writeMarkup( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.noParameter" ) );
+ w.writeMarkup( getString( "pluginxdoc.mojodescriptor.noParameter" ) );
w.endElement(); //p
w.endElement();
@@ -368,22 +365,21 @@ public class PluginXdocGenerator
private void writeParameterDetails( MojoDescriptor mojoDescriptor, List parameterList, XMLWriter w )
{
w.startElement( "subsection" );
- w.addAttribute( "name", getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameter.details" ) );
+ w.addAttribute( "name", getString( "pluginxdoc.mojodescriptor.parameter.details" ) );
for ( Iterator parameters = parameterList.iterator(); parameters.hasNext(); )
{
Parameter parameter = (Parameter) parameters.next();
w.startElement( "p" );
- w.writeMarkup( "" + parameter.getName() + ":" );
+ w.writeMarkup( format( "pluginxdoc.mojodescriptor.parameter.name_internal", parameter.getName() ) );
w.endElement(); //p
if ( StringUtils.isNotEmpty( parameter.getDeprecated() ) )
{
w.startElement( "div" );
- w.writeMarkup( ""
- + getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameter.deprecated" ) + ". "
- + PluginUtils.makeHtmlValid( parameter.getDeprecated() ) );
+ w.writeMarkup( format( "pluginxdoc.mojodescriptor.parameter.deprecated",
+ PluginUtils.makeHtmlValid( parameter.getDeprecated() ) ) );
w.endElement(); // div
}
@@ -394,38 +390,38 @@ public class PluginXdocGenerator
}
else
{
- w.writeMarkup( getBundle( locale ).getString( "pluginxdoc.nodescription" ) );
+ w.writeMarkup( getString( "pluginxdoc.nodescription" ) );
}
w.endElement(); // div
w.startElement( "ul" );
- writeDetail( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameter.type" ), parameter.getType(), w );
+ writeDetail( getString( "pluginxdoc.mojodescriptor.parameter.type" ), parameter.getType(), w );
if ( StringUtils.isNotEmpty( parameter.getSince() ) )
{
- writeDetail( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameter.since" ), parameter.getSince(), w );
+ writeDetail( getString( "pluginxdoc.mojodescriptor.parameter.since" ), parameter.getSince(), w );
}
else
{
if ( StringUtils.isNotEmpty( mojoDescriptor.getSince() ) )
{
- writeDetail( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameter.since" ), mojoDescriptor.getSince(), w );
+ writeDetail( getString( "pluginxdoc.mojodescriptor.parameter.since" ), mojoDescriptor.getSince(), w );
}
}
if ( parameter.isRequired() )
{
- writeDetail( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameter.required" ), getBundle( locale ).getString( "pluginxdoc.yes" ), w );
+ writeDetail( getString( "pluginxdoc.mojodescriptor.parameter.required" ), getString( "pluginxdoc.yes" ), w );
}
else
{
- writeDetail( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameter.required" ), getBundle( locale ).getString( "pluginxdoc.no" ), w );
+ writeDetail( getString( "pluginxdoc.mojodescriptor.parameter.required" ), getString( "pluginxdoc.no" ), w );
}
- writeDetail( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameter.expression" ), parameter.getExpression(), w );
+ writeDetail( getString( "pluginxdoc.mojodescriptor.parameter.expression" ), parameter.getExpression(), w );
- writeDetail( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameter.default" ), parameter.getDefaultValue(), w );
+ writeDetail( getString( "pluginxdoc.mojodescriptor.parameter.default" ), parameter.getDefaultValue(), w );
w.endElement();//ul
@@ -443,9 +439,7 @@ public class PluginXdocGenerator
if ( StringUtils.isNotEmpty( value ) )
{
w.startElement( "li" );
- w.writeMarkup( "" + param + ": " );
- w.writeText( value );
- w.writeMarkup( "" );
+ w.writeMarkup( format( "pluginxdoc.detail", new String[]{ param, value } ) );
w.endElement(); //li
}
}
@@ -455,13 +449,13 @@ public class PluginXdocGenerator
List requiredParams = getParametersByRequired( true, parameterList );
if ( requiredParams.size() > 0 )
{
- writeParameterList( mojoDescriptor, getBundle( locale ).getString( "pluginxdoc.mojodescriptor.requiredParameters" ), requiredParams, w );
+ writeParameterList( mojoDescriptor, getString( "pluginxdoc.mojodescriptor.requiredParameters" ), requiredParams, w );
}
List optionalParams = getParametersByRequired( false, parameterList );
if ( optionalParams.size() > 0 )
{
- writeParameterList( mojoDescriptor, getBundle( locale ).getString( "pluginxdoc.mojodescriptor.optionalParameters" ), optionalParams, w );
+ writeParameterList( mojoDescriptor, getString( "pluginxdoc.mojodescriptor.optionalParameters" ), optionalParams, w );
}
}
@@ -476,16 +470,16 @@ public class PluginXdocGenerator
w.startElement( "tr" );
w.startElement( "th" );
- w.writeText( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameter.name" ) );
+ w.writeText( getString( "pluginxdoc.mojodescriptor.parameter.name" ) );
w.endElement();//th
w.startElement( "th" );
- w.writeText( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameter.type" ) );
+ w.writeText( getString( "pluginxdoc.mojodescriptor.parameter.type" ) );
w.endElement();//th
w.startElement( "th" );
- w.writeText( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameter.since" ) );
+ w.writeText( getString( "pluginxdoc.mojodescriptor.parameter.since" ) );
w.endElement();//th
w.startElement( "th" );
- w.writeText( getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameter.description" ) );
+ w.writeText( getString( "pluginxdoc.mojodescriptor.parameter.description" ) );
w.endElement();//th
w.endElement();//tr
@@ -495,7 +489,7 @@ public class PluginXdocGenerator
w.startElement( "tr" );
w.startElement( "td" );
- w.writeMarkup( "" + parameter.getName() + "" );
+ w.writeMarkup( format( "pluginxdoc.mojodescriptor.parameter.name_link", parameter.getName() ) );
w.endElement();//td
w.startElement( "td" );
int index = parameter.getType().lastIndexOf( "." );
@@ -523,7 +517,7 @@ public class PluginXdocGenerator
if ( StringUtils.isNotEmpty( parameter.getDeprecated() ) )
{
description =
- "" + getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameter.deprecated" )
+ "" + getString( "pluginxdoc.mojodescriptor.parameter.deprecated" )
+ ". " + PluginUtils.makeHtmlValid( parameter.getDeprecated() );
}
else if ( StringUtils.isNotEmpty( parameter.getDescription() ) )
@@ -532,15 +526,13 @@ public class PluginXdocGenerator
}
else
{
- description = getBundle( locale ).getString( "pluginxdoc.nodescription" );
+ description = getString( "pluginxdoc.nodescription" );
}
w.writeMarkup( description + "
" );
if ( StringUtils.isNotEmpty( parameter.getDefaultValue() ) )
{
- w.writeMarkup( "" + getBundle( locale ).getString( "pluginxdoc.mojodescriptor.parameter.defaultValue" ) + ": " );
- w.writeText( parameter.getDefaultValue() );
- w.writeMarkup( "." );
+ w.writeMarkup( format( "pluginxdoc.mojodescriptor.parameter.defaultValue", parameter.getDefaultValue() ) );
}
w.endElement();//td
w.endElement(); //tr
@@ -568,13 +560,52 @@ public class PluginXdocGenerator
}
/**
- * Gets the resource bundle for the specified locale.
+ * Gets the resource bundle for the locale instance variable.
*
- * @param locale The locale of the currently generated report.
- * @return The resource bundle for the requested locale.
+ * @return The resource bundle for the locale instance variable.
*/
- private ResourceBundle getBundle( Locale locale )
+ private ResourceBundle getBundle()
{
return ResourceBundle.getBundle( "pluginxdoc", locale, getClass().getClassLoader() );
}
+
+ /**
+ * @param key not null
+ * @return Localized, text identified by key.
+ * @see #getBundle()
+ */
+ private String getString( String key )
+ {
+ return getBundle().getString( key );
+ }
+
+ /**
+ * Convenience method.
+ *
+ * @param key not null
+ * @param arg1 not null
+ * @return Localized, formatted text identified by key.
+ * @see #format(String, Object[])
+ */
+ private String format( String key, Object arg1 )
+ {
+ return format( key, new Object[] { arg1 } );
+ }
+
+ /**
+ * Looks up the value for key in the ResourceBundle,
+ * then formats that value for the specified Locale using args.
+ *
+ * @param key not null
+ * @param args not null
+ * @return Localized, formatted text identified by key.
+ */
+ private String format( String key, Object[] args )
+ {
+ MessageFormat messageFormat = new MessageFormat( "" );
+ messageFormat.setLocale( locale );
+ messageFormat.applyPattern( getBundle().getString( key ) );
+
+ return messageFormat.format( args );
+ }
}
diff --git a/maven-plugin-tools-api/src/main/resources/pluginxdoc.properties b/maven-plugin-tools-api/src/main/resources/pluginxdoc.properties
index 72110ad..834d1da 100644
--- a/maven-plugin-tools-api/src/main/resources/pluginxdoc.properties
+++ b/maven-plugin-tools-api/src/main/resources/pluginxdoc.properties
@@ -17,37 +17,38 @@
pluginxdoc.yes=Yes
pluginxdoc.no=No
+pluginxdoc.detail={0}: {1}
-pluginxdoc.description=Description
+pluginxdoc.description=Description:
pluginxdoc.nodescription=(no description)
-pluginxdoc.mojodescriptor.notice.note=Note
+pluginxdoc.mojodescriptor.notice.note=Note:
pluginxdoc.mojodescriptor.notice.isMavenReport=This goal should be used as a Maven report.
-pluginxdoc.mojodescriptor.fullname=Full name
-pluginxdoc.mojodescriptor.attributes=Attributes
-pluginxdoc.mojodescriptor.deprecated=This plugin goal has been deprecated
-pluginxdoc.mojodescriptor.projectRequired=Requires a Maven 2.0 project to be executed
-pluginxdoc.mojodescriptor.aggregator=Executes as an aggregator plugin
-pluginxdoc.mojodescriptor.directInvocationOnly=Executes by direct invocation only
-pluginxdoc.mojodescriptor.dependencyResolutionRequired=Requires dependency resolution of artifacts in scope
-pluginxdoc.mojodescriptor.since=Since version
-pluginxdoc.mojodescriptor.phase=Binds by default to the lifecycle phase
-pluginxdoc.mojodescriptor.executePhase1=Invokes the execution of the lifecycle phase
-pluginxdoc.mojodescriptor.executePhase2=prior to executing itself
-pluginxdoc.mojodescriptor.executeGoal1=Invokes the execution of this plugin's goal
-pluginxdoc.mojodescriptor.executeGoal2=prior to executing itself
-pluginxdoc.mojodescriptor.executeLifecycle=Executes in its own lifecycle
-pluginxdoc.mojodescriptor.onlineRequired=Requires that Maven runs in online mode
-pluginxdoc.mojodescriptor.inheritedByDefault=Is NOT inherited by default in multi-project builds
+pluginxdoc.mojodescriptor.fullname=Full name:
+pluginxdoc.mojodescriptor.attributes=Attributes:
+pluginxdoc.mojodescriptor.deprecated=This plugin goal has been deprecated:
+pluginxdoc.mojodescriptor.projectRequired=Requires a Maven 2.0 project to be executed.
+pluginxdoc.mojodescriptor.aggregator=Executes as an aggregator plugin.
+pluginxdoc.mojodescriptor.directInvocationOnly=Executes by direct invocation only.
+pluginxdoc.mojodescriptor.dependencyResolutionRequired=Requires dependency resolution of artifacts in scope: {0}.
+pluginxdoc.mojodescriptor.since=Since version: {0}.
+pluginxdoc.mojodescriptor.phase=Binds by default to the lifecycle phase: {0}.
+pluginxdoc.mojodescriptor.executePhase=Invokes the execution of the lifecycle phase {0} prior to executing itself.
+pluginxdoc.mojodescriptor.executeGoal=Invokes the execution of this plugin's goal {0} prior to executing itself.
+pluginxdoc.mojodescriptor.executeLifecycle=Executes in its own lifecycle: {0}.
+pluginxdoc.mojodescriptor.onlineRequired=Requires that Maven runs in online mode.
+pluginxdoc.mojodescriptor.inheritedByDefault=Is NOT inherited by default in multi-project builds.
pluginxdoc.mojodescriptor.parameter.details=Parameter Details
-pluginxdoc.mojodescriptor.parameter.deprecated=Deprecated
+pluginxdoc.mojodescriptor.parameter.deprecated=Deprecated. {0}
pluginxdoc.mojodescriptor.parameter.name=Name
+pluginxdoc.mojodescriptor.parameter.name_link={0}
+pluginxdoc.mojodescriptor.parameter.name_internal={0}:
pluginxdoc.mojodescriptor.parameter.description=Description
pluginxdoc.mojodescriptor.parameter.type=Type
pluginxdoc.mojodescriptor.parameter.since=Since
pluginxdoc.mojodescriptor.parameter.required=Required
pluginxdoc.mojodescriptor.parameter.expression=Expression
pluginxdoc.mojodescriptor.parameter.default=Default
-pluginxdoc.mojodescriptor.parameter.defaultValue=Default value is
+pluginxdoc.mojodescriptor.parameter.defaultValue=Default value is: {0}.
pluginxdoc.mojodescriptor.requiredParameters=Required Parameters
pluginxdoc.mojodescriptor.optionalParameters=Optional Parameters
pluginxdoc.mojodescriptor.parameters=Parameters
diff --git a/maven-plugin-tools-api/src/main/resources/pluginxdoc_de.properties b/maven-plugin-tools-api/src/main/resources/pluginxdoc_de.properties
index 123b068..d005949 100644
--- a/maven-plugin-tools-api/src/main/resources/pluginxdoc_de.properties
+++ b/maven-plugin-tools-api/src/main/resources/pluginxdoc_de.properties
@@ -18,26 +18,24 @@
pluginxdoc.yes=Ja
pluginxdoc.no=Nein
-pluginxdoc.description=Beschreibung
+pluginxdoc.description=Beschreibung:
pluginxdoc.nodescription=(keine Beschreibung)
-pluginxdoc.mojodescriptor.notice.note=Anmerkung
+pluginxdoc.mojodescriptor.notice.note=Anmerkung:
pluginxdoc.mojodescriptor.notice.isMavenReport=Dieses Goal erzeugt einen Maven-Bericht.
-pluginxdoc.mojodescriptor.fullname=Vollst\u00e4ndiger Name
-pluginxdoc.mojodescriptor.attributes=Attribute
-pluginxdoc.mojodescriptor.deprecated=Dieses Plugin-Goal ist missbilligt
-pluginxdoc.mojodescriptor.projectRequired=Erfordert ein Maven 2.0 Projet zur Ausf\u00fchrung
-pluginxdoc.mojodescriptor.aggregator=Wird als Aggregator ausgef\u00fchrt
-pluginxdoc.mojodescriptor.directInvocationOnly=Wird nur per direktem Aufruf ausgef\u00fchrt
-pluginxdoc.mojodescriptor.dependencyResolutionRequired=Erfordert Abh\u00e4ngigkeitsaufl\u00f6sung von Artefakten mit Geltungsbereich
-pluginxdoc.mojodescriptor.since=Seit Version
-pluginxdoc.mojodescriptor.phase=Bindet automatisch an die Lebenszyklusphase
-pluginxdoc.mojodescriptor.executePhase1=Bedingt die Ausf\u00fchrung der Lebenszyklusphase
-pluginxdoc.mojodescriptor.executePhase2=vor seiner eigenen Ausf\u00fchrung
-pluginxdoc.mojodescriptor.executeGoal1=Bedingt die Ausf\u00fchrung des Plugin-Goals
-pluginxdoc.mojodescriptor.executeGoal2=vor seiner eigenen Ausf\u00fchrung
-pluginxdoc.mojodescriptor.executeLifecycle=Wird in seinem eigenen Lebenszyklus ausgef\u00fchrt
-pluginxdoc.mojodescriptor.onlineRequired=Erfordert die Ausf\u00fchrung von Maven im Online-Modus
-pluginxdoc.mojodescriptor.inheritedByDefault=Wird bei einem Multi-Projekt-Build standardm\u00e4\u00dfig nicht vererbt
+pluginxdoc.mojodescriptor.fullname=Vollst\u00e4ndiger Name:
+pluginxdoc.mojodescriptor.attributes=Attribute:
+pluginxdoc.mojodescriptor.deprecated=Dieses Plugin-Goal ist missbilligt:
+pluginxdoc.mojodescriptor.projectRequired=Erfordert ein Maven 2.0 Projet zur Ausf\u00fchrung.
+pluginxdoc.mojodescriptor.aggregator=Wird als Aggregator ausgef\u00fchrt.
+pluginxdoc.mojodescriptor.directInvocationOnly=Wird nur per direktem Aufruf ausgef\u00fchrt.
+pluginxdoc.mojodescriptor.dependencyResolutionRequired=Erfordert Abh\u00e4ngigkeitsaufl\u00f6sung von Artefakten mit Geltungsbereich: {0}.
+pluginxdoc.mojodescriptor.since=Seit Version: {0}.
+pluginxdoc.mojodescriptor.phase=Bindet automatisch an die Lebenszyklusphase: {0}.
+pluginxdoc.mojodescriptor.executePhase=Bedingt die Ausf\u00fchrung der Lebenszyklusphase {0} vor seiner eigenen Ausf\u00fchrung.
+pluginxdoc.mojodescriptor.executeGoal=Bedingt die Ausf\u00fchrung des Plugin-Goals {0} vor seiner eigenen Ausf\u00fchrung.
+pluginxdoc.mojodescriptor.executeLifecycle=Wird in seinem eigenen Lebenszyklus ausgef\u00fchrt: {0}.
+pluginxdoc.mojodescriptor.onlineRequired=Erfordert die Ausf\u00fchrung von Maven im Online-Modus.
+pluginxdoc.mojodescriptor.inheritedByDefault=Wird bei einem Multi-Projekt-Build standardm\u00e4\u00dfig nicht vererbt.
pluginxdoc.mojodescriptor.parameter.details=Parameter-Details
pluginxdoc.mojodescriptor.parameter.deprecated=Missbilligt.
pluginxdoc.mojodescriptor.parameter.name=Name
diff --git a/maven-plugin-tools-api/src/main/resources/pluginxdoc_fr.properties b/maven-plugin-tools-api/src/main/resources/pluginxdoc_fr.properties
index 5c18f13..009a6f0 100644
--- a/maven-plugin-tools-api/src/main/resources/pluginxdoc_fr.properties
+++ b/maven-plugin-tools-api/src/main/resources/pluginxdoc_fr.properties
@@ -17,37 +17,37 @@
pluginxdoc.yes=Oui
pluginxdoc.no=Non
+pluginxdoc.detail={0} : {1}
-pluginxdoc.description=Description
+pluginxdoc.description=Description :
pluginxdoc.nodescription=(aucune description)
-pluginxdoc.mojodescriptor.notice.note=Note
+pluginxdoc.mojodescriptor.notice.note=Note :
pluginxdoc.mojodescriptor.notice.isMavenReport=Ce goal doit \u00eatre utilis\u00e9 comme un rapport de Maven.
-pluginxdoc.mojodescriptor.fullname=Nom complet
-pluginxdoc.mojodescriptor.attributes=Attributs
-pluginxdoc.mojodescriptor.deprecated=Le goal de ce plugin goal est obsol\u00e8te
-pluginxdoc.mojodescriptor.projectRequired=Exige un projet Maven 2.0 pour \u00eatre ex\u00e9cut\u00e9
-pluginxdoc.mojodescriptor.aggregator=S'ex\u00e9cute comme un plugin agr\u00e9g\u00e9
-pluginxdoc.mojodescriptor.directInvocationOnly=S'ex\u00e9cute par l'invocation directe seulement
-pluginxdoc.mojodescriptor.dependencyResolutionRequired=Exige une r\u00e9solution de d\u00e9pendances des artefacts dans le scope
-pluginxdoc.mojodescriptor.since=Depuis la version
-pluginxdoc.mojodescriptor.phase=S'associe par d\u00e9faut dans la phase du cycle de vie
-pluginxdoc.mojodescriptor.executePhase1=Appelle l'ex\u00e9cution de la phase du cycle de vie
-pluginxdoc.mojodescriptor.executePhase2=avant de s'ex\u00e9cuter
-pluginxdoc.mojodescriptor.executeGoal1=Appelle l'ex\u00e9cution du goal de ce plugin
-pluginxdoc.mojodescriptor.executeGoal2=avant de s'ex\u00e9cuter
-pluginxdoc.mojodescriptor.executeLifecycle=S'ex\u00e9cute dans son propre cycle de vie
-pluginxdoc.mojodescriptor.onlineRequired=Exige que Maven s'ex\u00e9cute en ligne
-pluginxdoc.mojodescriptor.inheritedByDefault=N'est PAS h\u00e9rit\u00e9 par d\u00e9faut dans une construction multi-projet
+pluginxdoc.mojodescriptor.fullname=Nom complet :
+pluginxdoc.mojodescriptor.attributes=Attributs :
+pluginxdoc.mojodescriptor.deprecated=Le goal de ce plugin goal est obsol\u00e8te :
+pluginxdoc.mojodescriptor.projectRequired=Exige un projet Maven 2.0 pour \u00eatre ex\u00e9cut\u00e9.
+pluginxdoc.mojodescriptor.aggregator=S'ex\u00e9cute comme un plugin agr\u00e9g\u00e9.
+pluginxdoc.mojodescriptor.directInvocationOnly=S'ex\u00e9cute par l'invocation directe seulement.
+pluginxdoc.mojodescriptor.dependencyResolutionRequired=Exige une r\u00e9solution de d\u00e9pendances des artefacts dans le scope : {0}.
+pluginxdoc.mojodescriptor.since=Depuis la version : {0}.
+pluginxdoc.mojodescriptor.phase=S'associe par d\u00e9faut dans la phase du cycle de vie : {0}.
+pluginxdoc.mojodescriptor.executePhase=Appelle l'ex\u00e9cution de la phase du cycle de vie {0} avant de s'ex\u00e9cuter.
+pluginxdoc.mojodescriptor.executeGoal=Appelle l'ex\u00e9cution du goal de ce plugin {0} avant de s'ex\u00e9cuter.
+pluginxdoc.mojodescriptor.executeLifecycle=S'ex\u00e9cute dans son propre cycle de vie : {0}.
+pluginxdoc.mojodescriptor.onlineRequired=Exige que Maven s'ex\u00e9cute en ligne.
+pluginxdoc.mojodescriptor.inheritedByDefault=N'est PAS h\u00e9rit\u00e9 par d\u00e9faut dans une construction multi-projet.
pluginxdoc.mojodescriptor.parameter.details=D\u00e9tails des param\u00e8tres
pluginxdoc.mojodescriptor.parameter.deprecated=Obsol\u00e8te
pluginxdoc.mojodescriptor.parameter.name=Nom
+pluginxdoc.mojodescriptor.parameter.name_internal={0} :
pluginxdoc.mojodescriptor.parameter.description=Description
pluginxdoc.mojodescriptor.parameter.type=Type
pluginxdoc.mojodescriptor.parameter.since=Depuis
pluginxdoc.mojodescriptor.parameter.required=Exig\u00e9
pluginxdoc.mojodescriptor.parameter.expression=Expression
pluginxdoc.mojodescriptor.parameter.default=D\u00e9faut
-pluginxdoc.mojodescriptor.parameter.defaultValue=Valeur par d\u00e9faut est
+pluginxdoc.mojodescriptor.parameter.defaultValue=Valeur par d\u00e9faut est : {0}.
pluginxdoc.mojodescriptor.requiredParameters=Param\u00e8tres requis
pluginxdoc.mojodescriptor.optionalParameters=Param\u00e8tres optionnels
pluginxdoc.mojodescriptor.parameters=Param\u00e8tres