Index: tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/devtools/ExportToOneFile.java
===================================================================
--- tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/devtools/ExportToOneFile.java	(revision 1230)
+++ tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/devtools/ExportToOneFile.java	(revision 1231)
@@ -1,7 +1,9 @@
 package org.txm.rcp.translate.devtools;
 
 import java.io.File;
+import java.io.FileNotFoundException;
 import java.io.IOException;
+import java.io.UnsupportedEncodingException;
 import java.util.HashMap;
 import java.util.LinkedHashMap;
 import java.util.Properties;
@@ -21,7 +23,7 @@
  */
 public class ExportToOneFile {
 
-	public static void main(String[] args) {
+	public static void main(String[] args) throws UnsupportedEncodingException, FileNotFoundException, IOException {
 		WorkspaceMessagesManager wmm = new WorkspaceMessagesManager();
 		LinkedHashMap<File, PluginMessages> h = wmm.getPluginMessages();
 
@@ -37,13 +39,16 @@
 		for (File project : h.keySet()) {
 			
 			PluginMessages messages = h.get(project);
-			System.out.println(" "+messages.getMessageFullName()+" -> "+messages.getMessageKeys().size());
+			//System.out.println(" "+messages.getMessageFullName()+" -> "+messages.getMessageKeys().size());
 			
 			for (String lang : langs) {
 				File propFile = messages.getFile2lang().getKey(lang);
 				if (propFile != null) {
 					BiHashMap<String, String> lmessages = messages.getLangs().get(propFile);
-					for (String key : lmessages.getKeys()) {
+					for (String key : messages.getMessageKeys()) {
+						
+						if (lmessages.get(key) == null) continue;
+						
 						String merged_key = messages.getMessageFullName()+"."+key;
 						if (mergedProps.get(lang).containsKey(merged_key)) {
 							System.out.println(" WARNING: duplicated key ? "+merged_key);
Index: tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/devtools/ImportFromOneFile.java
===================================================================
--- tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/devtools/ImportFromOneFile.java	(revision 1230)
+++ tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/devtools/ImportFromOneFile.java	(revision 1231)
@@ -30,15 +30,14 @@
 		String langs[] = {"", "_fr", "_ru"};
 
 		System.out.println("Importing messages...");
+		int total_update = 0;
 		for (String lang : langs) {
-			System.out.println(" Lang="+lang);
+			System.out.println(" For lang='"+lang+"'...");
 
 			File mergedPropertiesFile = new File(wmm.getWorkspaceLocation(), "org.txm.translate.rcp/messages"+lang+".properties");
 			Properties mergedProperties = new Properties();
 			mergedProperties.load(IOUtils.getReader(mergedPropertiesFile));
-			String mergedLang = mergedPropertiesFile.getName().substring(8, mergedPropertiesFile.getName().length() - 11);
-			System.out.println(" MERGED LANG="+mergedLang);
-
+			
 			if (mergedProperties.size() == 0) {
 				System.out.println(" No messages to update");
 				return;
@@ -54,9 +53,9 @@
 				for (String key : messages.getMessageKeys()) {
 
 					String merged_key = messages.getMessageFullName()+"."+key;
-
+					//System.out.println(merged_key);
 					if (mergedProperties.containsKey(merged_key)) {
-						messages.put(mergedLang, key, messages.get(mergedLang, key));
+						messages.put(lang, key, messages.get(lang, key));
 						update++;
 					}
 				}
@@ -67,7 +66,12 @@
 			} else {
 				System.out.println(" Done, "+update + " update(s) done.");
 			}
+			total_update += update;
 		}
-		System.out.println("Done.");
+		if (total_update == 0) {
+			System.out.println("Done, no update done.");
+		} else {
+			System.out.println("Done, "+total_update + " update(s) done.");
+		}
 	}
 }
Index: tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/i18n/PluginMessages.groovy
===================================================================
--- tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/i18n/PluginMessages.groovy	(revision 1230)
+++ tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/i18n/PluginMessages.groovy	(revision 1231)
@@ -1,201 +0,0 @@
-package org.txm.rcp.translate.i18n;
-
-import org.txm.utils.BiHashMap
-
-/**
- *  
- * Check any missing key in both of messages.properties and Message.java files
- *
- * @author mdecorde
- *
- */
-class PluginMessages {
-	
-	File projectDirectory;
-	File messageFile;
-	String encoding = "UTF-8"
-	
-	LinkedHashSet messageKeys = new LinkedHashSet<String>()
-	HashMap<File, BiHashMap<String, String>> langs = new HashMap<File, BiHashMap<String, String>>();
-	BiHashMap<File, String> file2lang = new BiHashMap<File, String>()
-		
-	public PluginMessages(File projectDirectory, File messageFile) {
-		this.messageFile = messageFile
-		this.projectDirectory = projectDirectory;
-		def propFiles = messageFile.getParentFile().listFiles()
-		for (File propFile : propFiles) {
-			String name = propFile.getName();
-			if (!name.endsWith(".properties")) continue;
-			//messages.properties
-			//messages_xx.properties
-			String lang = name.substring(8, name.indexOf(".properties"))
-			langs.put(propFile, new BiHashMap<String, String>());
-			file2lang.put(propFile, lang)
-			
-			def hash = langs[propFile]
-			
-			Properties props1 = new Properties()
-			props1.load(propFile.newReader(encoding))
-			for (String k : props1.keySet()) {
-				hash.put(k, props1.get(k))
-			}
-		}
-	
-		if (messageFile != null) {
-			BufferedReader reader2 = new BufferedReader(new InputStreamReader(new FileInputStream(messageFile), encoding));
-			String line2 = reader2.readLine();
-			while (line2 != null) {
-				line2 = line2.trim();
-				if (line2.startsWith("public static String") && line2.endsWith(";") && !line2.contains("=")) {
-					line2 = line2.substring(21, line2.length() -1);
-					messageKeys << line2
-				}
-				line2 = reader2.readLine();
-			}
-		}
-	}
-	
-	public void put(String lang, String key, String message) {
-		messageKeys.add(key);
-		
-		File p = new File(messageFile.getParentFile(), "messages"+lang+".properties")
-		
-		if (!langs.containsKey(p)) {
-			langs.put(p, new BiHashMap<String, String>());
-			file2lang.put(p, lang)
-		}
-		
-		if (message == null) {
-			langs.get(p).removeByKey(key);
-		} else {
-			langs.get(p).put(key, message);
-		}
-	}
-	
-	public String get(String lang, String key) {
-		File p = new File(messageFile.getParentFile(), "messages"+lang+".properties")
-		
-		if (!file2lang.containsKey(p)) return null;
-		
-		return langs.get(p).get(key);
-	}
-	
-	public LinkedHashSet<String> getMessageKeys() {
-		return messageKeys;
-	}
-	
-	public File getMessageFile() {
-		return messageFile;
-	}
-	
-	public String getMessageClassName() {
-		return messageFile.getName().substring(0, messageFile.getName().length()-5);
-	}
-	
-	public String getMessageFullClassName() {
-		return messageFile.getAbsolutePath().substring(messageFile.getAbsolutePath().lastIndexOf("org/txm/"), messageFile.getAbsolutePath().length()-5).replace("/", ".");
-	}
-	
-	public String getMessageName() {
-		return messageFile.getName().substring(0, messageFile.getName().length()-5-8);
-	}
-	
-	public String getMessageFullName() {
-		return messageFile.getAbsolutePath().substring(messageFile.getAbsolutePath().lastIndexOf("org/txm/")+8, messageFile.getAbsolutePath().length()-5-8).replace("/", ".");
-	}
-	
-//	public def getMissingsMessageKeys(String lang) {
-//		def missing = []
-//		for (String pKey : this.getKeys())
-//			if (!messageKeys.contains(pKey))
-//				missing << pKey
-//				
-//		return missing
-//	}
-//	
-//	public getMissingPropKeys(String lang) {
-//		def missing = []
-//		def pKeys = this.getKeys()
-//		for (String mKey : messageKeys)
-//			if (!pKeys.contains(mKey))
-//				missing << mKey
-//				
-//		return missing
-//	}
-	
-	public void saveChanges() {
-
-		//Write prop File
-		for (File propFile : langs.keySet()) {
-			String name = propFile.getName();
-			if (!name.endsWith(".properties")) continue;
-			String lang = name.substring(8, name.indexOf(".properties"))
-			
-			File oldFile = new File(propFile.getParentFile(), propFile.getName()+".cpy");
-			propFile.renameTo(oldFile);
-			
-			Properties props = new Properties()
-		}
-		
-		
-		// write message File
-		if (messageFile == null) return;
-		
-		File oldFile2 = new File(messageFile.getParentFile(), messageFile.getName()+".cpy");
-		messageFile.renameTo(oldFile2); // back up
-		messageFile.withWriter(encoding) { out ->
-			// write start
-			out.println('''package org.txm;
-
-import org.eclipse.osgi.util.NLS;
-
-public class Messages extends NLS {
-	
-	// The Constant BUNDLE_NAME. 
-	private static final String BUNDLE_NAME = "org.txm.messages"; //$NON-NLS-1$
-				''')
-			
-			//write keys
-			for(String key : this.getKeys().sort())
-				out.println("\tpublic static String $key;");
-			
-			// write end
-			out.println('''
-	static {
-		// initialize resource bundle
-		NLS.initializeMessages(BUNDLE_NAME, Messages.class);
-	}
-
-	private Messages() {
-	}
-}
-				''')
-		}
-	}
-	
-	public void summary() {
-		println getMessageFileName()
-		println "Messages keys"
-		for (def key : messageKeys) {
-			println " $key"
-		}
-		
-		println "Langs"
-		for (def lang : langs.keySet()) {
-			println " '$lang'"
-			def hash = langs[lang]
-			println " keys="+ hash.getKeys()
-			for (def key : hash.getKeys()) {
-				println "  $key="+hash.get(key)
-			}
-		}
-	}
-	
-	public static void main(String[] args) {
-		File messageFile = new File("/home/mdecorde/workspace047/org.txm.core/src/java/org/txm/core/messages/TXMCoreMessages.java")
-		PluginMessages dict = new PluginMessages(messageFile);
-		
-		println dict.summary()
-		//dict.saveChanges();
-	}
-}
Index: tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/i18n/WorkspaceMessagesManager.java
===================================================================
--- tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/i18n/WorkspaceMessagesManager.java	(revision 1230)
+++ tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/i18n/WorkspaceMessagesManager.java	(revision 1231)
@@ -1,6 +1,9 @@
 package org.txm.rcp.translate.i18n;
 
 import java.io.File;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.UnsupportedEncodingException;
 import java.util.LinkedHashMap;
 
 /**
@@ -17,12 +20,15 @@
 	
 	/**
 	 * Creates the manager using the "user.dir" parent directory -> works when run from Eclipse
+	 * @throws IOException 
+	 * @throws FileNotFoundException 
+	 * @throws UnsupportedEncodingException 
 	 */
-	public WorkspaceMessagesManager() {
+	public WorkspaceMessagesManager() throws UnsupportedEncodingException, FileNotFoundException, IOException {
 		this(new File(System.getProperty("user.dir")).getParentFile());
 	}
 	
-	public WorkspaceMessagesManager(File workspaceLocation) {
+	public WorkspaceMessagesManager(File workspaceLocation) throws UnsupportedEncodingException, FileNotFoundException, IOException {
 		this.workspaceLocation = workspaceLocation;
 		
 		if (!workspaceLocation.exists()) return;
@@ -54,7 +60,7 @@
 		return pluginsMessagesPerProject;
 	}
 	
-	public static void main(String[] args) {
+	public static void main(String[] args) throws UnsupportedEncodingException, FileNotFoundException, IOException {
 		WorkspaceMessagesManager wmm = new WorkspaceMessagesManager();
 		LinkedHashMap<File, PluginMessages> h = wmm.getPluginMessages();
 		for (File p : h.keySet()) {
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 0)
+++ tmp/org.txm.translate.rcp/src/org/txm/rcp/translate/i18n/PluginMessages.java	(revision 1231)
@@ -0,0 +1,228 @@
+package org.txm.rcp.translate.i18n;
+
+import java.io.BufferedReader;
+import java.io.File;
+import java.io.FileInputStream;
+import java.io.FileNotFoundException;
+import java.io.IOException;
+import java.io.InputStreamReader;
+import java.io.PrintWriter;
+import java.io.UnsupportedEncodingException;
+import java.util.HashMap;
+import java.util.Hashtable;
+import java.util.LinkedHashSet;
+import java.util.Properties;
+
+import org.txm.utils.BiHashMap;
+import org.txm.utils.io.IOUtils;
+
+/**
+ *  
+ * Check any missing key in both of messages.properties and Message.java files
+ *
+ * @author mdecorde
+ *
+ */
+public class PluginMessages {
+	
+	File projectDirectory;
+	File messageFile;
+	String encoding = "UTF-8";
+	
+	LinkedHashSet<String> messageKeys = new LinkedHashSet<String>();
+	HashMap<File, BiHashMap<String, String>> langs = new HashMap<File, BiHashMap<String, String>>();
+	BiHashMap<File, String> file2lang = new BiHashMap<File, String>();
+		
+	public PluginMessages(File projectDirectory, File messageFile) throws UnsupportedEncodingException, FileNotFoundException, IOException {
+		this.messageFile = messageFile;
+		this.projectDirectory = projectDirectory;
+		File[] propFiles = messageFile.getParentFile().listFiles();
+		for (File propFile : propFiles) {
+			String name = propFile.getName();
+			if (!name.endsWith(".properties")) continue;
+			//messages.properties
+			//messages_xx.properties
+			String lang = name.substring(8, name.indexOf(".properties"));
+			langs.put(propFile, new BiHashMap<String, String>());
+			file2lang.put(propFile, lang);
+			
+			BiHashMap<String, String> hash = langs.get(propFile);
+			
+			Properties props1 = new Properties();
+			props1.load(IOUtils.getReader(propFile, encoding));
+			for (Object k : props1.keySet()) {
+				hash.put(k.toString(), props1.get(k).toString());
+			}
+		}
+	
+		if (messageFile != null) {
+			BufferedReader reader2 = new BufferedReader(new InputStreamReader(new FileInputStream(messageFile), encoding));
+			String line2 = reader2.readLine();
+			while (line2 != null) {
+				line2 = line2.trim();
+				if (line2.startsWith("public static String") && line2.endsWith(";") && !line2.contains("=")) {
+					line2 = line2.substring(21, line2.length() -1);
+					messageKeys.add(line2);
+				}
+				line2 = reader2.readLine();
+			}
+			reader2.close();
+		}
+	}
+	
+	public void put(String lang, String key, String message) {
+		messageKeys.add(key);
+		
+		File p = new File(messageFile.getParentFile(), "messages"+lang+".properties");
+		
+		if (!langs.containsKey(p)) {
+			langs.put(p, new BiHashMap<String, String>());
+			file2lang.put(p, lang);
+		}
+		
+		if (message == null) {
+			langs.get(p).removeByKey(key);
+		} else {
+			langs.get(p).put(key, message);
+		}
+	}
+	
+	public String get(String lang, String key) {
+		File p = new File(messageFile.getParentFile(), "messages"+lang+".properties");
+		
+		if (!file2lang.containsKey(p)) return null;
+		
+		return langs.get(p).get(key);
+	}
+	
+	public LinkedHashSet<String> getMessageKeys() {
+		return messageKeys;
+	}
+	
+	public File getMessageFile() {
+		return messageFile;
+	}
+	
+	public String getMessageClassName() {
+		return messageFile.getName().substring(0, messageFile.getName().length()-5);
+	}
+	
+	public String getMessageFullClassName() {
+		return messageFile.getAbsolutePath().substring(messageFile.getAbsolutePath().lastIndexOf("org/txm/"), messageFile.getAbsolutePath().length()-5).replace("/", ".");
+	}
+	
+	public String getMessageName() {
+		return messageFile.getName().substring(0, messageFile.getName().length()-5-8);
+	}
+	
+	public String getMessageFullName() {
+		return messageFile.getAbsolutePath().substring(messageFile.getAbsolutePath().lastIndexOf("org/txm/")+8, messageFile.getAbsolutePath().length()-5-8).replace("/", ".");
+	}
+	
+//	public def getMissingsMessageKeys(String lang) {
+//		def missing = []
+//		for (String pKey : this.getKeys())
+//			if (!messageKeys.contains(pKey))
+//				missing << pKey
+//				
+//		return missing
+//	}
+//	
+//	public getMissingPropKeys(String lang) {
+//		def missing = []
+//		def pKeys = this.getKeys()
+//		for (String mKey : messageKeys)
+//			if (!pKeys.contains(mKey))
+//				missing << mKey
+//				
+//		return missing
+//	}
+	
+	public void saveChanges() throws UnsupportedEncodingException, FileNotFoundException {
+
+		//Write prop File
+		for (File propFile : langs.keySet()) {
+			String name = propFile.getName();
+			if (!name.endsWith(".properties")) continue;
+			
+			File oldFile = new File(propFile.getParentFile(), propFile.getName()+".cpy");
+			propFile.renameTo(oldFile);
+			
+			Properties props = new Properties();
+		}
+		
+		// write message File
+		if (messageFile == null) return;
+		
+		File oldFile2 = new File(messageFile.getParentFile(), messageFile.getName()+".cpy");
+		messageFile.renameTo(oldFile2); // back up
+		
+		String className = getMessageClassName();
+		String name = getMessageName();
+		String classPackage = getMessageFullClassName().substring(0, getMessageFullClassName().length()- getMessageClassName().length());
+		
+		PrintWriter out = IOUtils.getWriter(messageFile, encoding);
+		
+			// write start
+			out.println("package "+classPackage+";\n");
+
+			out.println("import org.eclipse.osgi.util.NLS;");
+			out.println("import org.txm.utils.messages.Utf8NLS;\n");
+
+			out.println("/** "+name+" messages. @author sjacquot, mdecorde **/");
+
+			out.println("public class "+className+" extends NLS {");
+
+			out.println("	private static final String BUNDLE_NAME = \""+classPackage+".messages\"; //$NON-NLS-1$");
+			
+			//write keys
+			for (String key : this.getMessageKeys())
+				out.println("	public static String "+key+";");
+			
+			// write end
+			out.println("	static {");
+			out.println("		// initialize resource bundle");
+			out.println("		Utf8NLS.initializeMessages(BUNDLE_NAME, "+className+".class);");
+			out.println("	}");
+
+			out.println("	private "+className+"() { }");
+			out.println("}");
+			
+			out.close();
+	}
+	
+	public void summary() {
+		System.out.println(getMessageClassName());
+		System.out.println("Messages keys");
+		for (String key : messageKeys) {
+			System.out.println(" $key");
+		}
+		
+		System.out.println("Langs");
+		for (File lang : langs.keySet()) {
+			System.out.println(" '$lang'");
+			BiHashMap<String, String> hash = langs.get(lang);
+			System.out.println(" keys="+ hash.getKeys());
+			for (String key : hash.getKeys()) {
+				System.out.println("  $key="+hash.get(key));
+			}
+		}
+	}
+	
+	public static void main(String[] args) throws UnsupportedEncodingException, FileNotFoundException, IOException {
+		File projectFile = new File("/home/mdecorde/workspace047/org.txm.core");
+		File messageFile = new File(projectFile, "src/java/org/txm/core/messages/TXMCoreMessages.java");
+		PluginMessages dict = new PluginMessages(projectFile, messageFile);
+		
+		dict.summary();
+		//dict.saveChanges();
+	}
+
+	public BiHashMap<File, String> getFile2lang() {
+		return file2lang;
+	}
+
+	public HashMap<File, BiHashMap<String, String>> getLangs() {
+		return langs;
+	}
+}
Index: tmp/org.txm.translate.rcp/messages_ru.properties
===================================================================
--- tmp/org.txm.translate.rcp/messages_ru.properties	(revision 1230)
+++ tmp/org.txm.translate.rcp/messages_ru.properties	(revision 1231)
@@ -1,14 +1,11 @@
 #compiled messages for lang=_ru
-#Mon Nov 05 17:16:38 CET 2018
+#Tue Nov 06 09:09:24 CET 2018
 concordance.core.messages.ConcordanceCore.PropertiesReferenceComparator_0=MISSING
 concordance.rcp.messages.ConcordanceUI.GetConcordances_4=** Ошибка при расчете конкордансов\: {0}
 ahc.rcp.messages.AHCUI.tooltips_computeColumns=Колонки
 cooccurrence.rcp.messages.CooccurrenceUI.CooccurrencesEditor_18=Порог индекса должен быть действительным числом, отличным от {0}
 internalview.core.messages.InternalViewCore.RESULT_TYPE=
 cooccurrence.rcp.messages.CooccurrenceUI.CooccurrencesEditor_17=Индекс
-ca.rcp.messages.CAUI.CorrespondanceAnalysisEditorInput_29=Конт
-ca.rcp.messages.CAUI.CorrespondanceAnalysisEditorInput_27=Дист
-ca.rcp.messages.CAUI.CorrespondanceAnalysisEditorInput_26=Масса
 cooccurrence.rcp.messages.CooccurrenceUI.CooccurrencesEditor_10=Совместная частотность
 lexicaltable.rcp.messages.LexicalTableUI.ComputeLexicalTable_7=** Списки значений должны иметь одинаковое распределение\: {0}
 lexicaltable.rcp.messages.LexicalTableUI.ComputeLexicalTable_6=** Списки значений должны строиться на одинаковых сочетаниях свойств\: {0}
@@ -270,4 +267,3 @@
 internalview.rcp.messages.InternalViewUI.InternalViewEditor_16=Ошибка
 progression.core.messages.ProgressionCore.RESULT_TYPE=Прогрессия
 cooccurrence.core.messages.CooccurrenceCore.info_buildingQueries=Расчет запроса
-ca.rcp.messages.CAUI.CorrespondanceAnalysisEditorInput_30=Cos²
Index: tmp/org.txm.translate.rcp/messages_fr.properties
===================================================================
--- tmp/org.txm.translate.rcp/messages_fr.properties	(revision 1230)
+++ tmp/org.txm.translate.rcp/messages_fr.properties	(revision 1231)
@@ -1,5 +1,5 @@
 #compiled messages for lang=_fr
-#Mon Nov 05 17:16:38 CET 2018
+#Tue Nov 06 09:09:24 CET 2018
 ca.rcp.messages.CAUI.PreferencePage_CHART_SHOW_POINT_SHAPES=Afficher le tracé des points
 cooccurrence.core.messages.CooccurrenceCore.info_retreivingMatches=Calcul des retours.
 statsengine.r.core.messages.RCore.error_evaluationError=** Erreur d'évaluation \: {0}\n{1}.
@@ -51,7 +51,6 @@
 statsengine.core.messages.StatsEngineCore.VectorizeArray_1=** Les tableaux internes doivent avoir une dimension supérieure à 0
 statsengine.r.core.messages.RCore.error_rserveIsAlreadyRunningOnPort=Rserve est déja démarré sur le port {0}.
 statsengine.core.messages.StatsEngineCore.VectorizeArray_0=** Rien à faire avec une matrice vide
-referencer.rcp.messages.ReferencerUI.﻿=
 searchengine.cqp.core.messages.CQPSearchEngineCore.READ_INTEGER_FROM_CQI_SERVER=Entier reçu du serveur CQi \: {0}.
 internalview.core.messages.InternalViewCore.InternalView_7=\  n° d'informations sur les structures
 internalview.core.messages.InternalViewCore.InternalView_6=Erreur lors de la récupération des valeurs des propriétés de structure \:
@@ -321,9 +320,9 @@
 statsengine.r.core.messages.RCore.ExecuteRScript_2=Terminé \: 
 statsengine.r.core.messages.RCore.ExecuteRScript_1=Exécution de {0}
 lexicaltable.rcp.messages.LexicalTableUI.LexicalTableEditor_1=** Erreur \: le nombre de colonne diffère \: avant {0} après {1}.
-properties.core.messages.PropertiesCore.Properties_26=Pas de propriété
 searchengine.cqp.core.messages.CQPSearchEngineCore.CqiClient_33=** La connexion au moteur de recherche a échoué.
 searchengine.cqp.core.messages.CQPSearchEngineCore.PatchCwbRegistry_16=Le fichier 'registry' est introuvable
+properties.core.messages.PropertiesCore.Properties_26=Pas de propriété
 searchengine.cqp.core.messages.CQPSearchEngineCore.CqiClient_32=Moteur de recherche lancé...
 specificities.core.messages.SpecificitiesCore.SpecificitesResult_8=Unité
 concordance.rcp.messages.ConcordanceUI.ConcordancesEditorContributor_0=Concordance
@@ -341,15 +340,14 @@
 searchengine.cqp.core.messages.CQPSearchEngineCore.MemCqiClient_1=Erreur CQ \:
 searchengine.cqp.core.messages.CQPSearchEngineCore.MemCqiClient_0=Erreur interne CQI \: 
 concordance.rcp.messages.ConcordanceUI.ConcordancesEditor_116=Effectuer l'annotation
-properties.core.messages.PropertiesCore.Properties_16=Nombre d'unités de structure 
 concordance.rcp.messages.ConcordanceUI.ConcordancesEditor_115=Ajouter une nouvelle categorie
+properties.core.messages.PropertiesCore.Properties_16=Nombre d'unités de structure 
 ahc.core.messages.AHCCore.RESULT_TYPE=CAH
 properties.core.messages.PropertiesCore.Properties_14=Propriétés des unités lexicales (max {0} valeurs)
 concordance.rcp.messages.ConcordanceUI.ConcordancesEditor_112=La valeur {0} n''est pas encore associée à la catégorie \: {1}. Créer l''association ?
-properties.core.messages.PropertiesCore.Properties_11=\ structures
 concordance.rcp.messages.ConcordanceUI.ConcordancesEditor_110=Nouvelle valeur {0} pour la catégorie {1}
+properties.core.messages.PropertiesCore.Properties_11=\ structures
 cooccurrence.core.messages.CooccurrenceCore.info_buildingQueries=Calcul des requêtes.
-searchengine.cqp.rcp.messages.CQPUI.﻿=
 concordance.rcp.messages.ConcordanceUI.ConcordancesEditor_108=\ éléments. Continuez ?
 para.rcp.messages.ParaBrowserUI.ParaBrowserEditor_22=Ouvrir le Navigateur interne
 para.rcp.messages.ParaBrowserUI.ParaBrowserEditor_21=_
Index: tmp/org.txm.translate.rcp/messages.properties
===================================================================
--- tmp/org.txm.translate.rcp/messages.properties	(revision 1230)
+++ tmp/org.txm.translate.rcp/messages.properties	(revision 1231)
@@ -1,5 +1,5 @@
 #compiled messages for lang=
-#Mon Nov 05 17:16:38 CET 2018
+#Tue Nov 06 09:09:24 CET 2018
 ca.rcp.messages.CAUI.PreferencePage_CHART_SHOW_POINT_SHAPES=Show point shapes
 cooccurrence.core.messages.CooccurrenceCore.info_retreivingMatches=Retreiving matches.
 statsengine.r.core.messages.RCore.error_evaluationError=** Evaluation error\: {0}\n{1}.
@@ -187,7 +187,6 @@
 cooccurrence.rcp.messages.CooccurrenceUI.CooccurrencesEditor_18=The score threshold must be a real number (current value\={0})
 cooccurrence.rcp.messages.CooccurrenceUI.CooccurrencesEditor_17=Score
 statsengine.r.core.messages.RCore.info_savingChartToFile=Saving chart to file\: {0}.
-partition.rcp.messages.PartitionUI.preferences_charts_tabfolder_title=Dimensions chart rendering
 cooccurrence.rcp.messages.CooccurrenceUI.CooccurrencesEditor_10=Cofrequency
 statsengine.core.messages.StatsEngineCore.VectorizeArray_11=** All the inner array do not have the same length.
 statsengine.core.messages.StatsEngineCore.VectorizeArray_10=** An inner array cannot be null.
@@ -249,8 +248,8 @@
 concordance.rcp.messages.ConcordanceUI.ConcordancesEditor_9=Error\: could not retrieve line word id for edition 
 statsengine.r.core.messages.RCore.info_tryingToStartRFrom=Try to start R from\: {0}...
 concordance.rcp.messages.ConcordanceUI.ConcordancesEditor_8=The corpus has no text_id property
-concordance.rcp.messages.ConcordanceUI.ConcordancesEditor_7=CQP error\:
 concordance.rcp.messages.ConcordanceUI.editor_sorting_with=Sorting with 
+concordance.rcp.messages.ConcordanceUI.ConcordancesEditor_7=CQP error\:
 concordance.rcp.messages.ConcordanceUI.ConcordancesEditor_6=Sorting
 concordance.rcp.messages.ConcordanceUI.ConcordancesEditor_5=Concordance of <{0}> in corpus {1}
 edition.rcp.messages.EditionUI.warning_no_edition_with_name=No edition with name\={0} available for text\={1}
@@ -439,8 +438,8 @@
 searchengine.cqp.core.messages.CQPSearchEngineCore.PatchCwbRegistry_16=Can't find registry file
 searchengine.cqp.core.messages.CQPSearchEngineCore.CqiClient_32=Search Engine launched...
 specificities.core.messages.SpecificitiesCore.SpecificitesResult_8=Unit
-concordance.rcp.messages.ConcordanceUI.ConcordancesEditorContributor_0=Concordance
 concordance.rcp.messages.ConcordanceUI.editor_right=Right
+concordance.rcp.messages.ConcordanceUI.ConcordancesEditorContributor_0=Concordance
 ca.rcp.messages.CAUI.error_cannot_compute_with=Error\: cannot compute CA with {0}
 searchengine.cqp.core.messages.CQPSearchEngineCore.MemCqiClient_9=b2 
 searchengine.cqp.core.messages.CQPSearchEngineCore.PatchCwbRegistry_13=Source registry does not exists\: 
@@ -536,8 +535,8 @@
 internalview.core.messages.InternalViewCore.RESULT_TYPE=Internal View
 searchengine.cqp.core.messages.CQPSearchEngineCore.Subcorpus_3={0} is not a valid CQP ID for a subcorpus. It must be an uppercase character followed by lowercase characters.
 specificities.rcp.messages.SpecificitiesUI.SpecificitiesTableEditor_11=\ T
-concordance.rcp.messages.ConcordanceUI.ConcordancesEditor_xpndtmNewExpanditem_text_2=New ExpandItem
 concordance.rcp.messages.ConcordanceUI.ConcordancesEditor_99=List of categories
+concordance.rcp.messages.ConcordanceUI.ConcordancesEditor_xpndtmNewExpanditem_text_2=New ExpandItem
 concordance.rcp.messages.ConcordanceUI.ConcordancesEditor_xpndtmNewExpanditem_text_1=New ExpandItem
 annotation.kr.rcp.messages.KRAnnotationUI.KRAnnotation_6=Concordance Annotation area
 index.rcp.messages.IndexUI.ComputeIndex_0=Opening Index results
