Index: tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/devtools/NormalizeKeys.java
===================================================================
--- tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/devtools/NormalizeKeys.java	(revision 1238)
+++ tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/devtools/NormalizeKeys.java	(revision 1239)
@@ -1,6 +1,11 @@
 package org.txm.rcp.translate.devtools;
 
-import org.eclipse.osgi.util.NLS;
+import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
+
+import org.txm.rcp.translate.i18n.PluginMessages;
 import org.txm.utils.BiHashMap;
 
 /**
@@ -105,22 +110,29 @@
 	 */
 	public static void main(String[] args) {
 
-		System.out.println("NormalizeKeys.main(): starting process...");
-		
-		// tests
-		System.out.println(NLS.bind("lol {0}", 1));
-		
-		BiHashMap<String, String> messages = new BiHashMap<String, String>();
-		messages.put("Convert5To6_46", "Error while computing."); 
-		messages.put("Convert5To6_46", "** Error: the connexion to the server failed: wrong port format");
-		messages.put("Convert5To6_6", "** Error: ''{0}'' corpus directory is not conformant to TXM corpus binary format: corpus skipped.");
-		messages.put("common_lowestFrequency", "Lowest frequency");
-		messages.put("Convert5To6_27", "T");
-		messages.put("Convert5To6_28", "");
-		messages = normalize(messages);
+		try {
+			System.out.println("NormalizeKeys.main(): starting process...");
+			
+			File projectFile = new File(new File(System.getProperty("user.dir")).getParentFile().getAbsolutePath() + "/org.txm.core");
+			File messageFile = new File(projectFile, "src/java/org/txm/core/messages/TXMCoreMessages.java");
+			
+			PluginMessages pmManager = new PluginMessages(projectFile, messageFile);
 
-		System.out.println("NormalizeKeys.main(): terminated.");
-		
+			
+			// tests
+			BiHashMap<String, String> messages = new BiHashMap<String, String>();
+			messages.put("Convert5To6_46", "Error while computing."); 
+			messages.put("Convert5To6_46", "** Error: the connexion to the server failed: wrong port format");
+			messages.put("Convert5To6_6", "** Error: ''{0}'' corpus directory is not conformant to TXM corpus binary format: corpus skipped.");
+			messages.put("common_lowestFrequency", "Lowest frequency");
+			messages.put("Convert5To6_27", "T");
+			messages.put("Convert5To6_28", "");
+			messages = normalize(messages);
+
+			pmManager.dump(messages);
+			
+			System.out.println("NormalizeKeys.main(): terminated.");
+			
 //		HashSet<String> strings = new HashSet<String>();
 //		strings.add("Error while computing.");
 //		strings.add("** Error: the connexion to the server failed: wrong port format");
@@ -128,6 +140,19 @@
 //		strings.add("T");
 //		strings.add("");
 //		normalize(strings);
+		}
+		catch (UnsupportedEncodingException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		catch (FileNotFoundException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
+		catch (IOException e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
 		
 	}
 	
Index: tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/i18n/PluginMessages.java
===================================================================
--- tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/i18n/PluginMessages.java	(revision 1238)
+++ tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/i18n/PluginMessages.java	(revision 1239)
@@ -344,7 +344,7 @@
 
 	
 	/**
-	 * Returns the keys of all messages that are not used in the project.
+	 * Returns the keys of all messages that are not used in the project itself.
 	 * @return
 	 */
 	public ArrayList<String> findUnusedKeys()	{
@@ -372,20 +372,22 @@
 	 * @throws IOException
 	 */
 	public static void main(String[] args) throws UnsupportedEncodingException, FileNotFoundException, IOException {
+		
 		File projectFile = new File(new File(System.getProperty("user.dir")).getParentFile().getAbsolutePath() + "/org.txm.core");
 		File messageFile = new File(projectFile, "src/java/org/txm/core/messages/TXMCoreMessages.java");
-		PluginMessages dict = new PluginMessages(projectFile, messageFile);
 		
+		PluginMessages pmManager = new PluginMessages(projectFile, messageFile);
+		
 		// test to find files using the specified key
-		HashMap<File, String> files = dict.getFilesUsingKey("Base_5");
+		HashMap<File, String> files = pmManager.getFilesUsingKey("Base_5");
 		for (Map.Entry<File, String> entry : files.entrySet()) {
 		    System.out.println("find files using key: file " + entry.getKey() + " contains key " + entry.getValue());
 		}
 		
 		// test to find unused keys
-		ArrayList<String> unusedKeys = dict.findUnusedKeys();
+		ArrayList<String> unusedKeys = pmManager.findUnusedKeys();
 		for (int i = 0; i < unusedKeys.size(); i++) {
-			System.out.println("findUnusedKeys: key " + unusedKeys.get(i) + " is unused in project " + dict.getProjectDirectory() + " (main language value = " + dict.getMessagesForLang("").get(unusedKeys.get(i)) + ")");	
+			System.out.println("findUnusedKeys: key " + unusedKeys.get(i) + " is unused in project " + pmManager.getProjectDirectory() + " (main language value = " + pmManager.getMessagesForLang("").get(unusedKeys.get(i)) + ")");	
 		}
 		
 		//dict.summary();
@@ -409,4 +411,14 @@
 	public File getProjectDirectory() {
 		return projectDirectory;
 	}
+	
+	
+	/**
+     * Dumps the specified BiHashMap<String, String> to standard output.
+     */
+    public void dump(BiHashMap<String, String> messages)	{
+    	for (String key : messages.getKeys()) {
+			System.out.println("PluginMessages.dump(): " + key + "=" + messages.get(key));
+		}
+    }
 }
