diff --git a/plugins/org.eclipse.jst.j2ee.ejb.annotations.ui/plugin.properties b/plugins/org.eclipse.jst.j2ee.ejb.annotations.ui/plugin.properties
index 207f6b2..137a092 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb.annotations.ui/plugin.properties
+++ b/plugins/org.eclipse.jst.j2ee.ejb.annotations.ui/plugin.properties
@@ -1,3 +1,4 @@
 ejb.category_ui_=EJB
 ejb.createbean_ui_= Enterprise JavaBean
 new.ejb.description_ui_=Create Enterprise JavaBean
+j2ee_annotations=J2EE Annotations
diff --git a/plugins/org.eclipse.jst.j2ee.ejb.annotations.ui/plugin.xml b/plugins/org.eclipse.jst.j2ee.ejb.annotations.ui/plugin.xml
index 896e080..0772a9c 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb.annotations.ui/plugin.xml
+++ b/plugins/org.eclipse.jst.j2ee.ejb.annotations.ui/plugin.xml
@@ -53,7 +53,7 @@
    <extension
          point="org.eclipse.ui.preferencePages">
      <page
-            name="J2EE Annotations"
+            name="%j2ee_annotations"
              class="org.eclipse.jst.j2ee.ejb.annotation.ui.internal.preferences.AnnotationPreferencePage"
             id="org.eclipse.jst.j2ee.ejb.annotation.ui.preferences">
       </page>
diff --git a/plugins/org.eclipse.jst.j2ee.ejb.annotations.ui/src/org/eclipse/jst/j2ee/ejb/annotation/ui/internal/preferences/AnnotationPreferencePage.java b/plugins/org.eclipse.jst.j2ee.ejb.annotations.ui/src/org/eclipse/jst/j2ee/ejb/annotation/ui/internal/preferences/AnnotationPreferencePage.java
index 0a29b44..0bd1a75 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb.annotations.ui/src/org/eclipse/jst/j2ee/ejb/annotation/ui/internal/preferences/AnnotationPreferencePage.java
+++ b/plugins/org.eclipse.jst.j2ee.ejb.annotations.ui/src/org/eclipse/jst/j2ee/ejb/annotation/ui/internal/preferences/AnnotationPreferencePage.java
@@ -14,6 +14,8 @@
  ***************************************************************************/
 package org.eclipse.jst.j2ee.ejb.annotation.ui.internal.preferences;
 
+import java.util.ResourceBundle;
+
 import org.eclipse.jface.preference.PreferencePage;
 import org.eclipse.jst.j2ee.ejb.annotation.internal.preferences.AnnotationPreferenceStore;
 import org.eclipse.jst.j2ee.ejb.annotation.internal.utility.AnnotationUtilities;
@@ -95,11 +97,13 @@
 				| GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
 		defPanel.setLayoutData(gridData);
 
+		ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.jst.j2ee.ejb.annotation.ui.internal.preferences.preferences");
+
 		Label label = new Label(defPanel, SWT.WRAP);
 		gridData = new GridData();
 		gridData.horizontalSpan = 4;
 		label.setLayoutData(gridData);
-		label.setText("Set J2EE Annotation Preferences");
+		label.setText(bundle.getString("label_set_j2ee_annotation_preference"));
 
 		panel.preferences = new Control[1];
 		panel.preferences[0] = panel
@@ -107,8 +111,8 @@
 						1,
 						false,
 						true,
-						"Active Annotation Provider:",
-						"Choose the annotation provider that you will use for J2EE development and artifacts",
+						bundle.getString("label_active_annotation_provider"),
+						bundle.getString("desc_active_annotation_provider"),
 						AnnotationPreferenceStore
 								.getProperty(AnnotationPreferenceStore.ANNOTATIONPROVIDER),
 						AnnotationUtilities.getProviderNames(), defPanel);
diff --git a/plugins/org.eclipse.jst.j2ee.ejb.annotations.ui/src/org/eclipse/jst/j2ee/ejb/annotation/ui/internal/preferences/preferences.properties b/plugins/org.eclipse.jst.j2ee.ejb.annotations.ui/src/org/eclipse/jst/j2ee/ejb/annotation/ui/internal/preferences/preferences.properties
new file mode 100644
index 0000000..217e0ae
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee.ejb.annotations.ui/src/org/eclipse/jst/j2ee/ejb/annotation/ui/internal/preferences/preferences.properties
@@ -0,0 +1,3 @@
+label_set_j2ee_annotation_preference=Set J2EE Annotation Preferences
+label_active_annotation_provider=Active Annotation Provider:
+desc_active_annotation_provider=Choose the annotation provider that you will use for J2EE development and artifacts
diff --git a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/build.properties b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/build.properties
index 888997b..ad32868 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/build.properties
+++ b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/build.properties
@@ -3,6 +3,7 @@
                ejb-merge.xml,\
                templates/,\
                META-INF/,\
-               about.html
+               about.html,\
+               plugin.properties
 src.includes = build.properties
 source.. = src/
diff --git a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/plugin.properties b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/plugin.properties
new file mode 100644
index 0000000..e61f1a7
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/plugin.properties
@@ -0,0 +1,3 @@
+name_xdoclet=XDoclet
+name_ejbdoclet=ejbdoclet
+name_webdoclet=webdoclet
diff --git a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/plugin.xml b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/plugin.xml
index d029188..8276b01 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/plugin.xml
+++ b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/plugin.xml
@@ -15,19 +15,19 @@
    <extension
          point="org.eclipse.ui.preferencePages">
      <page
-            name="XDoclet"
+            name="%name_xdoclet"
             category="org.eclipse.jst.j2ee.ejb.annotation.ui.preferences"
              class="org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.ui.XDocletPreferencePage"
             id="org.eclipse.jst.j2ee.ejb.annotations.xdoclet.preference">
       </page>
      <page
-            name="ejbdoclet"
+            name="%name_ejbdoclet"
             category="org.eclipse.jst.j2ee.ejb.annotations.xdoclet.preference"
             class="org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.ui.XDocletEJBPreferencePage"
             id="org.eclipse.jst.j2ee.ejb.annotations.xdoclet.ejb.preference">
      </page>
      <page
-            name="webdoclet"
+            name="%name_webdoclet"
             category="org.eclipse.jst.j2ee.ejb.annotations.xdoclet.preference"
             class="org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.ui.XDocletWebPreferencePage"
             id="org.eclipse.jst.j2ee.ejb.annotations.xdoclet.web.preference">
diff --git a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/DialogPanel.java b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/DialogPanel.java
index e003155..b67fbbe 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/DialogPanel.java
+++ b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/DialogPanel.java
@@ -14,6 +14,8 @@
  ***************************************************************************/
 package org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.ui;
 
+import java.util.ResourceBundle;
+
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
@@ -158,8 +160,9 @@
 		gridData.horizontalSpan = 2;
 		fText.setLayoutData(gridData);
 		fText.setText(value);
+		ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.ui.preferences");
 		Button fButton = new Button(defPanel, SWT.PUSH);
-		fButton.setText("Browse...");
+		fButton.setText(bundle.getString("label_browse"));
 		fButton.setLayoutData(new GridData());
 		fButton.addSelectionListener(new SelectionListener() {
 			public void widgetSelected(SelectionEvent e) {
diff --git a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/XDocletEJBPreferencePage.java b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/XDocletEJBPreferencePage.java
index 27e6931..1986d23 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/XDocletEJBPreferencePage.java
+++ b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/XDocletEJBPreferencePage.java
@@ -21,6 +21,7 @@
 
 
 
+import java.util.ResourceBundle;
 import java.util.StringTokenizer;
 
 import org.eclipse.jface.preference.PreferencePage;
@@ -42,11 +43,13 @@
 public class XDocletEJBPreferencePage extends PreferencePage implements
 		IWorkbenchPreferencePage, SelectionListener {
 
+	private static ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.ui.preferences");
+
 	private static final String[][]  ejboptions={
-		{ XDocletPreferenceStore.EJB_JBOSS, "JBoss", " Creates jboss.xml, jaws.xml and/or jbosscmp-jdbc.xml deployment descriptors for JBoss.", "CHECK","2.4,3.0,3.0.1,3.0.2,3.0.3,3.2,4.0","2.4"},
-		{ XDocletPreferenceStore.EJB_JONAS, "JOnAS", " Generates the deployment descriptor for JOnAS.", "CHECK","2.3,2.4,2.5,2.6,3.0","2.6"},
-		{ XDocletPreferenceStore.EJB_WEBLOGIC, "WebLogic", "This task can generate deployment descriptors for WLS 6.0, 6.1, 7.0 and 8.1.", "CHECK","6.0,6.1,7.0,8.1","6.1"  },
-		{ XDocletPreferenceStore.EJB_WEBSPHERE, "WebSphere", "This task can generate deployment descriptors for WAS", "CHECK", "all","all"}
+		{ XDocletPreferenceStore.EJB_JBOSS, "JBoss", bundle.getString("desc_ejbdoclet_jboss"), "CHECK","2.4,3.0,3.0.1,3.0.2,3.0.3,3.2,4.0","2.4"},
+		{ XDocletPreferenceStore.EJB_JONAS, "JOnAS", bundle.getString("desc_ejbdoclet_jonas"), "CHECK","2.3,2.4,2.5,2.6,3.0","2.6"},
+		{ XDocletPreferenceStore.EJB_WEBLOGIC, "WebLogic", bundle.getString("desc_ejbdoclet_weblogic"), "CHECK","6.0,6.1,7.0,8.1","6.1"  },
+		{ XDocletPreferenceStore.EJB_WEBSPHERE, "WebSphere", bundle.getString("desc_ejbdoclet_websphere"), "CHECK", "all","all"}
 		
 	};
 	
@@ -112,7 +115,7 @@
 		gridData = new GridData();
 		gridData.horizontalSpan = 4;
 		label.setLayoutData(gridData);
-		label.setText("Set EJB Doclet Preferences (choose the servers to generate specific deployment descriptors)");
+		label.setText(bundle.getString("label_set_ejbdoclet_preference"));
 	
 		panel.preferences = new Control[ejboptions.length];
 		panel.fActive = new Button[ejboptions.length];
diff --git a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/XDocletPreferencePage.java b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/XDocletPreferencePage.java
index 12eb13c..3db5a94 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/XDocletPreferencePage.java
+++ b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/XDocletPreferencePage.java
@@ -16,6 +16,8 @@
 
 
 
+import java.util.ResourceBundle;
+
 import org.eclipse.core.runtime.IStatus;
 import org.eclipse.jface.dialogs.IMessageProvider;
 import org.eclipse.jface.preference.PreferencePage;
@@ -99,19 +101,19 @@
 				| GridData.GRAB_HORIZONTAL | GridData.GRAB_VERTICAL);
 		defPanel.setLayoutData(gridData);
 	
-		
+		ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.ui.preferences");
 		
 		Label label = new Label(defPanel, SWT.WRAP);
 		gridData = new GridData();
 		gridData.horizontalSpan = 4;
 		label.setLayoutData(gridData);
-		label.setText("Set XDoclet Runtime Preferences");
+		label.setText(bundle.getString("label_set_xdoclet_runtime_preference"));
 	
 		panel.preferences = new Control[3];
 		panel.fActive = new Button[3];
-		panel.preferences[0] = panel.createLabeledCheck(0,false,XDocletPreferenceStore.isPropertyActive(XDocletPreferenceStore.XDOCLETBUILDERACTIVE),"Enable XDoclet Builder:","Enables xdoclet builder for automatic generation of java classes",XDocletPreferenceStore.isPropertyActive(XDocletPreferenceStore.XDOCLETBUILDERACTIVE),defPanel);
-		panel.preferences[2] = panel.createLabeledPath(2,true,"XDoclet Home:","The path of the xdoclet runtime installation",XDocletPreferenceStore.getProperty(XDocletPreferenceStore.XDOCLETHOME),defPanel);
-		panel.preferences[1] = panel.createLabeledCombo(1,false,true,"Version:","XDoclet version",XDocletPreferenceStore.getProperty(XDocletPreferenceStore.XDOCLETVERSION),new String[]{"1.2.1","1.2.2","1.2.3"},defPanel);
+		panel.preferences[0] = panel.createLabeledCheck(0,false,XDocletPreferenceStore.isPropertyActive(XDocletPreferenceStore.XDOCLETBUILDERACTIVE),bundle.getString("label_enable_xdoclet_builder"),bundle.getString("desc_enable_xdoclet_builder"),XDocletPreferenceStore.isPropertyActive(XDocletPreferenceStore.XDOCLETBUILDERACTIVE),defPanel);
+		panel.preferences[2] = panel.createLabeledPath(2,true,bundle.getString("label_xdoclet_home"),bundle.getString("desc_xdoclet_home"),XDocletPreferenceStore.getProperty(XDocletPreferenceStore.XDOCLETHOME),defPanel);
+		panel.preferences[1] = panel.createLabeledCombo(1,false,true,bundle.getString("label_xdoclet_version"),bundle.getString("desc_xdoclet_version"),XDocletPreferenceStore.getProperty(XDocletPreferenceStore.XDOCLETVERSION),new String[]{"1.2.1","1.2.2","1.2.3"},defPanel);
 		final Text xDocletPath = (Text)panel.preferences[2];
 		final Combo xDocletVersion = (Combo)panel.preferences[1];
 		ModifyListener listener = new ModifyListener(){
diff --git a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/XDocletWebPreferencePage.java b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/XDocletWebPreferencePage.java
index 9e4d8ca..5c41884 100644
--- a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/XDocletWebPreferencePage.java
+++ b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/XDocletWebPreferencePage.java
@@ -21,6 +21,7 @@
 
 
 
+import java.util.ResourceBundle;
 import java.util.StringTokenizer;
 
 import org.eclipse.jface.preference.PreferencePage;
@@ -42,11 +43,13 @@
 public class XDocletWebPreferencePage extends PreferencePage implements
 		IWorkbenchPreferencePage, SelectionListener {
 
+	private static ResourceBundle bundle = ResourceBundle.getBundle("org.eclipse.jst.j2ee.ejb.annotations.internal.xdoclet.ui.preferences");
+
 	private static final String[][]  weboptions={
-		{ XDocletPreferenceStore.WEB_JBOSS, "JBoss", " Creates deployment descriptors for JBoss.", "CHECK","2.4,3.0,3.0.1,3.0.2,3.0.3,3.2,4.0","2.4"},
-		{ XDocletPreferenceStore.WEB_JONAS, "JOnAS", " Generates the deployment descriptor for JOnAS.", "CHECK","2.3,2.4,2.5,2.6,3.0","2.6"},
-		{ XDocletPreferenceStore.WEB_WEBLOGIC, "WebLogic", "This task can generate deployment descriptors for WLS 6.0, 6.1, 7.0 and 8.1.", "CHECK","6.0,6.1,7.0,8.1","6.1"  },
-		{ XDocletPreferenceStore.WEB_WEBSPHERE, "WebSphere", "This task can generate deployment descriptors for WAS", "CHECK", "all","all"}
+		{ XDocletPreferenceStore.WEB_JBOSS, "JBoss", bundle.getString("desc_webdoclet_jboss"), "CHECK","2.4,3.0,3.0.1,3.0.2,3.0.3,3.2,4.0","2.4"},
+		{ XDocletPreferenceStore.WEB_JONAS, "JOnAS", bundle.getString("desc_webdoclet_jonas"), "CHECK","2.3,2.4,2.5,2.6,3.0","2.6"},
+		{ XDocletPreferenceStore.WEB_WEBLOGIC, "WebLogic", bundle.getString("desc_webdoclet_weblogic"), "CHECK","6.0,6.1,7.0,8.1","6.1"  },
+		{ XDocletPreferenceStore.WEB_WEBSPHERE, "WebSphere", bundle.getString("desc_webdoclet_websphere"), "CHECK", "all","all"}
 		
 	};
 	
@@ -112,7 +115,7 @@
 		gridData = new GridData();
 		gridData.horizontalSpan = 4;
 		label.setLayoutData(gridData);
-		label.setText("Set Web Doclet Preferences (choose the servers to generate specific deployment descriptors)");
+		label.setText(bundle.getString("label_set_webdoclet_preference"));
 	
 		panel.preferences = new Control[weboptions.length];
 		panel.fActive = new Button[weboptions.length];
diff --git a/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/preferences.properties b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/preferences.properties
new file mode 100644
index 0000000..a2b54b2
--- /dev/null
+++ b/plugins/org.eclipse.jst.j2ee.ejb.annotations.xdoclet/src/org/eclipse/jst/j2ee/ejb/annotations/internal/xdoclet/ui/preferences.properties
@@ -0,0 +1,20 @@
+label_set_xdoclet_runtime_preference=Set XDoclet Runtime Preferences
+label_enable_xdoclet_builder=Enable XDoclet Builder:
+desc_enable_xdoclet_builder=Enables xdoclet builder for automatic generation of java classes
+label_xdoclet_home=XDoclet Home:
+desc_xdoclet_home=The path of the xdoclet runtime installation
+label_browse=Browse...
+label_xdoclet_version=Version:
+desc_xdoclet_version=XDoclet version
+
+label_set_ejbdoclet_preference=Set EJB Doclet Preferences (choose the servers to generate specific deployment descriptors)
+desc_ejbdoclet_jboss= Creates jboss.xml, jaws.xml and/or jbosscmp-jdbc.xml deployment descriptors for JBoss.
+desc_ejbdoclet_jonas= Generates the deployment descriptor for JOnAS.
+desc_ejbdoclet_weblogic=This task can generate deployment descriptors for WLS 6.0, 6.1, 7.0 and 8.1.
+desc_ejbdoclet_websphere=This task can generate deployment descriptors for WAS
+
+label_set_webdoclet_preference=Set Web Doclet Preferences (choose the servers to generate specific deployment descriptors)
+desc_webdoclet_jboss= Creates deployment descriptors for JBoss.
+desc_webdoclet_jonas= Generates the deployment descriptor for JOnAS.
+desc_webdoclet_weblogic=This task can generate deployment descriptors for WLS 6.0, 6.1, 7.0 and 8.1.
+desc_webdoclet_websphere=This task can generate deployment descriptors for WAS
