diff --git a/bundles/org.eclipse.e4.ui.importer/src/org/eclipse/ui/internal/wizards/datatransfer/Messages.java b/bundles/org.eclipse.e4.ui.importer/src/org/eclipse/ui/internal/wizards/datatransfer/Messages.java
index 8379488..f1a72df 100644
--- a/bundles/org.eclipse.e4.ui.importer/src/org/eclipse/ui/internal/wizards/datatransfer/Messages.java
+++ b/bundles/org.eclipse.e4.ui.importer/src/org/eclipse/ui/internal/wizards/datatransfer/Messages.java
@@ -36,7 +36,9 @@
 	public static String EasymportWizardPage_nestedProjects;
 	public static String EasymportWizardPage_detectNestedProjects;
 	public static String EasymportWizardPage_importRawProject;
-	public static String EasymportWizardPage_availableDetectors;
+	public static String EasymportWizardPage_showAvailableDetectors;
+	public static String EasymportWizardPage_availableDetectors_title;
+	public static String EasymportWizardPage_availableDetectors_description;
 	public static String EasymportWizardPage_importedProjects;
 	public static String EasymportWizardPage_progressBarTooltip;
 	public static String EasymportWizardPage_relativePath;
diff --git a/bundles/org.eclipse.e4.ui.importer/src/org/eclipse/ui/internal/wizards/datatransfer/Messages.properties b/bundles/org.eclipse.e4.ui.importer/src/org/eclipse/ui/internal/wizards/datatransfer/Messages.properties
index adc366e..30909d7 100644
--- a/bundles/org.eclipse.e4.ui.importer/src/org/eclipse/ui/internal/wizards/datatransfer/Messages.properties
+++ b/bundles/org.eclipse.e4.ui.importer/src/org/eclipse/ui/internal/wizards/datatransfer/Messages.properties
@@ -30,6 +30,9 @@
 EasymportWizardPage_importRawProject=Import raw project (I'll configure it later)
 EasymportWizardPage_detectNestedProjects=Detect and configure nested projects under the given location.
 EasymportWizardPage_availableDetectors=Available project detectors and configurators
+EasymportWizardPage_showAvailableDetectors=Show available detectors
+EasymportWizardPage_availableDetectors_title=Available detectors
+EasymportWizardPage_availableDetectors_description=The following detectors are available to detect and configure projects under the specified location:
 EasymportWizardPage_importedProjects=Imported {0} projects
 EasymportWizardPage_progressBarTooltip=Crawling directory to detect and configure projects
 EasymportWizardPage_relativePath=Relative Path
@@ -39,4 +42,4 @@
 EasymportWizardPage_error=Error
 discardRootProject_title=Discard root project?
 discardRootProject_description=It seems like the root directory you specified doesn't contain much development data. Do you want to discard it?\n\
-While keeping the root project may be helpful for navigation purpose (especially if you use nested view of projects), discarding it may improve the overall performances of your IDE.
\ No newline at end of file
+While keeping the root project may be helpful for navigation purpose (especially if you use nested view of projects), discarding it may improve the overall performances of your IDE.
diff --git a/bundles/org.eclipse.e4.ui.importer/src/org/eclipse/ui/internal/wizards/datatransfer/SelectImportRootWizardPage.java b/bundles/org.eclipse.e4.ui.importer/src/org/eclipse/ui/internal/wizards/datatransfer/SelectImportRootWizardPage.java
index 7555366..292c9ab 100644
--- a/bundles/org.eclipse.e4.ui.importer/src/org/eclipse/ui/internal/wizards/datatransfer/SelectImportRootWizardPage.java
+++ b/bundles/org.eclipse.e4.ui.importer/src/org/eclipse/ui/internal/wizards/datatransfer/SelectImportRootWizardPage.java
@@ -12,7 +12,10 @@
 package org.eclipse.ui.internal.wizards.datatransfer;
 
 import java.io.File;
+import java.util.ArrayList;
+import java.util.Collections;
 import java.util.HashSet;
+import java.util.List;
 import java.util.Set;
 
 import org.eclipse.core.resources.ResourcesPlugin;
@@ -133,17 +136,23 @@
 			}
 		});
 		Link showDetectorsLink = new Link(res, SWT.NONE);
-		showDetectorsLink.setText("<A>Show available detectors that will be used to detect and configure nested projects.</A>");
+		showDetectorsLink.setText("<A>" + Messages.EasymportWizardPage_showAvailableDetectors + "</A>");
 		showDetectorsLink.setLayoutData(new GridData(SWT.LEFT, SWT.CENTER, false, false, 3, 1));
 		showDetectorsLink.addSelectionListener(new SelectionAdapter() {
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				StringBuilder message = new StringBuilder();
-				for (String extensionLabel : ProjectConfiguratorExtensionManager.getAllExtensionLabels()) {
+				message.append(Messages.EasymportWizardPage_availableDetectors_description);
+				message.append('\n');
+				message.append('\n');
+				List<String> extensionsLabels = new ArrayList<String>(ProjectConfiguratorExtensionManager.getAllExtensionLabels());
+				Collections.sort(extensionsLabels);
+				for (String extensionLabel : extensionsLabels) {
+					message.append("* ");
 					message.append(extensionLabel);
 					message.append('\n');
 				}
-				MessageDialog.openInformation(getShell(), "Available detectors and configurators", message.toString());
+				MessageDialog.openInformation(getShell(), Messages.EasymportWizardPage_availableDetectors_title, message.toString());
 			}
 		});
 
