diff --git a/src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java b/src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java
index 5b40937..3713c2f 100644
--- a/src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java
+++ b/src/main/java/org/apache/maven/plugin/changelog/ChangeLogReport.java
@@ -1403,7 +1403,7 @@
      */
     public String getDescription( Locale locale )
     {
-        return "Generated change log report from SCM.";
+        return getBundle( locale ).getString( "report.changelog.description" );
     }
 
     /**
@@ -1411,7 +1411,7 @@
      */
     public String getName( Locale locale )
     {
-        return "Change Log";
+        return getBundle( locale ).getString( "report.changelog.name" );
     }
 
     /**
diff --git a/src/main/java/org/apache/maven/plugin/changelog/DeveloperActivityReport.java b/src/main/java/org/apache/maven/plugin/changelog/DeveloperActivityReport.java
index 9fee777..6f90182 100644
--- a/src/main/java/org/apache/maven/plugin/changelog/DeveloperActivityReport.java
+++ b/src/main/java/org/apache/maven/plugin/changelog/DeveloperActivityReport.java
@@ -60,7 +60,7 @@
      */
     public String getDescription( Locale locale )
     {
-        return "Generated developer activity report from SCM.";
+        return getBundle( locale ).getString( "report.dev-activity.description" );
     }
 
     /**
@@ -68,7 +68,7 @@
      */
     public String getName( Locale locale )
     {
-        return "Developer Activity";
+        return getBundle( locale ).getString( "report.dev-activity.name" );
     }
 
     /**
diff --git a/src/main/java/org/apache/maven/plugin/changelog/FileActivityReport.java b/src/main/java/org/apache/maven/plugin/changelog/FileActivityReport.java
index 2ac2d15..ab03fe2 100644
--- a/src/main/java/org/apache/maven/plugin/changelog/FileActivityReport.java
+++ b/src/main/java/org/apache/maven/plugin/changelog/FileActivityReport.java
@@ -47,7 +47,7 @@
      */
     public String getDescription( Locale locale )
     {
-        return "Generate file activity report from SCM.";
+        return getBundle( locale ).getString( "report.file-activity.description" );
     }
 
     /**
@@ -55,7 +55,7 @@
      */
     public String getName( Locale locale )
     {
-        return "File Activity";
+        return getBundle( locale ).getString( "report.file-activity.name" );
     }
 
     /**
@@ -143,7 +143,7 @@
         sink.section2();
 
         doChangeSetTitle( set, bundle, sink );
-        
+
         doSummary( set, bundle, sink );
 
         sink.table();
diff --git a/src/main/resources/scm-activity.properties b/src/main/resources/scm-activity.properties
index 5f7fd3a..c92ff2d 100644
--- a/src/main/resources/scm-activity.properties
+++ b/src/main/resources/scm-activity.properties
@@ -27,6 +27,8 @@
 report.TotalCommits=Total commits
 
 #Changelog
+report.changelog.name=Change Log
+report.changelog.description=Generated change log report from SCM.
 report.changelog.header=Change Log Report
 report.changelog.mainTitle=Change Log Report
 report.changelog.ChangedSetsTotal=Total number of changed sets
@@ -37,6 +39,8 @@
 report.changelog.revision=Revision
 
 #Developer Activity
+report.dev-activity.name=Developer Activity
+report.dev-activity.description=Generated developer activity report from SCM.
 report.dev-activity.header=Developer Activity Report
 report.dev-activity.mainTitle=Developer Activity Report
 report.dev-activity.noDevelopers=No developers found in pom.
@@ -45,6 +49,8 @@
 report.dev-activity.developer=Developer
 
 #File Activity
+report.file-activity.name=File Activity
+report.file-activity.description=Generated file activity report from SCM.
 report.file-activity.header=File Activity Report
 report.file-activity.mainTitle=File Activity Report
 report.file-activity.range=Range
diff --git a/src/main/resources/scm-activity_de.properties b/src/main/resources/scm-activity_de.properties
index d04381c..a609141 100644
--- a/src/main/resources/scm-activity_de.properties
+++ b/src/main/resources/scm-activity_de.properties
@@ -27,6 +27,8 @@
 report.TotalCommits=Summe Festschreibungen
 
 #Changelog
+report.changelog.name=\u00C4nderungsprotokollbericht
+report.changelog.description=Aus SCM erstellter \u00C4nderungsprotokollbericht.
 report.changelog.header=\u00C4nderungsprotokollbericht
 report.changelog.mainTitle=\u00C4nderungsprotokollbericht
 report.changelog.ChangedSetsTotal=Summe der ge\u00E4nderten S\u00E4tze
@@ -37,6 +39,8 @@
 report.changelog.revision=Revision
 
 #Developer Activity
+report.dev-activity.name=Entwickler-Aktivit\u00E4t
+report.dev-activity.description=Aus SCM erstellter Entwickler-Aktivit\u00E4ten-Bericht.
 report.dev-activity.header=Entwickler-Aktivit\u00E4ten-Bericht
 report.dev-activity.mainTitle=Entwickler-Aktivit\u00E4ten-Bericht
 report.dev-activity.noDevelopers=Keine Entwickler in POM gefunden.
@@ -45,6 +49,8 @@
 report.dev-activity.developer=Entwickler
 
 #File Activity
+report.file-activity.name=Datei-Aktivit\u00E4t
+report.file-activity.description=Aus SCM erstellter Datei-Aktivit\u00E4ten-Bericht.
 report.file-activity.header=Datei-Aktivit\u00E4ten-Bericht
 report.file-activity.mainTitle=Datei-Aktivit\u00E4ten-Bericht
 report.file-activity.range=Bereich
