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 1308)
+++ tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/devtools/NormalizeKeys.java	(revision 1309)
@@ -28,9 +28,15 @@
 	/**
 	 * Keys matching this REGEX will be preserved.
 	 */
-	public static String preserve = "^(common_|error_|info_).*$"; 
+	public static String preserve = "^(common_|error_|info_|RESULT_TYPE).*$"; 
 
 	/**
+	 * Java keywords that can not be used as variable name.
+	 * Also can not start by a number
+	 */
+	public static String illegalJavaStartingStr = "^([0-9]|abstract|assert|boolean|break|byte|case|catch|char|class|const|continue|default|do|double|else|enum|extends|false|final|finally|float|for|goto|if|implements|import|instanceof|int|interface|long|native|new|null|package|private|protected|public|return|short|static|strictfp|super|switch|synchronized|this|throw|throws|transient|true|try|void|volatile|while).*$";
+	
+	/**
 	 * 
 	 * @param debug show lot of debug messages
 	 */
@@ -127,35 +133,6 @@
 		return n;
 	}
 
-	//	/**
-	//	 * Normalizes the keys of the specified messages map.
-	//	 * @param messages
-	//	 * @return
-	//	 */
-	//	public BiHashMap<String, String> normalize(BiHashMap<String, String> messages)	{
-	//		
-	//		for (String key : messages.getKeys()) {
-	//			String value = messages.get(key);
-	//			
-	//			// already formatted message
-	//			if(key.matches(preserve))	{
-	//				System.err.println("NormalizeKeys.normalize(): warning: skipped: " + key + "=" + value);
-	//				continue;
-	//			}
-	//			// empty message
-	//			else if(value.length() == 0)	{
-	//				System.err.println("NormalizeKeys.normalize(): warning: empty string for key: " + key); 
-	//				continue;
-	//			}
-	//			
-	//			messages.put(normalize(messages.get(key)), messages.get(key));
-	//			//messages.removeByKey(key);
-	//		}
-	//		
-	//		return messages;
-	//	}
-	//	
-
 	/**
 	 * Normalizes the specified string.
 	 * @param str
@@ -169,6 +146,9 @@
 
 		str = str.trim();
 
+		// replace the parameters binding
+		str = str.replaceAll("(\\{[0-9]})", "P$1");
+		
 		// special replacements
 		str = str.replaceAll("%", "percent");
 		
@@ -178,6 +158,7 @@
 		// empty string
 		if(str.length() == 0)	{
 			System.err.println("NormalizeKeys.normalize(): warning: empty string.");
+			str = "_";
 		}
 		else	{
 
@@ -213,6 +194,11 @@
 			str = tmpString;
 		}
 
+		// java variable can not start by a number
+		if(str.matches(illegalJavaStartingStr))	{
+			str = "_" + str;
+		}
+		
 		// log
 		if(debug)	{
 			System.out.println("   => " + str);
@@ -282,11 +268,24 @@
 //			System.out.println("Done: no change.");
 //		}		
 
-		WorkspaceMessagesManager wmm = new WorkspaceMessagesManager(false);
+//		WorkspaceMessagesManager wmm = new WorkspaceMessagesManager(false);
+//		
+//		for (PluginMessagesManager pmManager : wmm.getPluginMessages().values()) {
+//			File projectFile = pmManager.getProjectDirectory();
+//			if (!projectFile.getName().equals("org.txm.ahc.core")) continue;
+//			
+//			keysNormalizer.normalize(pmManager);
+//				
+//			pmManager.saveChanges(true); // mode homme
+//			//pmManager.saveChanges(false);
+//		}
+//		
+//		wmm.saveKeyModificationsInSources();
 		
-		for (PluginMessagesManager pmManager : wmm.getPluginMessages().values()) {
-			File projectFile = pmManager.getProjectDirectory();
-			if (!projectFile.getName().equals("org.txm.ahc.core")) continue;
+		//File projectFile = new File(new File(System.getProperty("user.dir")).getParentFile().getAbsolutePath() + "/org.txm.core");
+		File projectFile = new File(new File(System.getProperty("user.dir")).getParentFile().getAbsolutePath() + "/org.txm.cooccurrence.core");
+		PluginMessagesManager pmManager = new PluginMessagesManager(projectFile, true);
+		keysNormalizer.normalize(pmManager);
 			
 			keysNormalizer.normalize(pmManager);
 				
@@ -294,7 +293,4 @@
 			//pmManager.saveChanges(false);
 		}
 		
-		wmm.saveKeyModificationsInSources();
-		
-	}
 }
