Index: tmp/org.txm.partition.core/src/org/txm/partition/core/messages/messages.properties
===================================================================
--- tmp/org.txm.partition.core/src/org/txm/partition/core/messages/messages.properties	(revision 2701)
+++ tmp/org.txm.partition.core/src/org/txm/partition/core/messages/messages.properties	(revision 2702)
@@ -10,7 +10,7 @@
 
 dimensionsColonP0 = Dimensions: {0}
 
-info_dimensionsOfTheP0PartitionInTheP1Corpus = Dimensions of the {0} partition in the {1} corpus...
+info_dimensionsOfTheP0Partition = Dimensions of {0} partition...
 
 numberOfWords = Number of words
 
Index: tmp/org.txm.partition.core/src/org/txm/partition/core/messages/messages_fr.properties
===================================================================
--- tmp/org.txm.partition.core/src/org/txm/partition/core/messages/messages_fr.properties	(revision 2701)
+++ tmp/org.txm.partition.core/src/org/txm/partition/core/messages/messages_fr.properties	(revision 2702)
@@ -10,7 +10,7 @@
 
 dimensionsColonP0 = Dimensions : {0}
 
-info_dimensionsOfTheP0PartitionInTheP1Corpus = Dimensions de la partition {0} dans le corpus {1}...
+info_dimensionsOfTheP0Partition = Dimensions de la partition {0}...
 
 numberOfWords = Nombre de mots
 
Index: tmp/org.txm.partition.core/src/org/txm/partition/core/messages/PartitionCoreMessages.java
===================================================================
--- tmp/org.txm.partition.core/src/org/txm/partition/core/messages/PartitionCoreMessages.java	(revision 2701)
+++ tmp/org.txm.partition.core/src/org/txm/partition/core/messages/PartitionCoreMessages.java	(revision 2702)
@@ -21,7 +21,7 @@
 	
 	public static String sortedBySize;
 	
-	public static String info_dimensionsOfTheP0PartitionInTheP1Corpus;
+	public static String info_dimensionsOfTheP0Partition;
 	
 	public static String chart_title_dimensionsOfTheP0PartitionInTheP1Corpus;
 	
Index: tmp/org.txm.partition.core/src/org/txm/partition/core/functions/PartitionDimensions.java
===================================================================
--- tmp/org.txm.partition.core/src/org/txm/partition/core/functions/PartitionDimensions.java	(revision 2701)
+++ tmp/org.txm.partition.core/src/org/txm/partition/core/functions/PartitionDimensions.java	(revision 2702)
@@ -89,20 +89,20 @@
 	
 	@Override
 	public String getComputingStartMessage() {
-		return TXMCoreMessages.bind(PartitionCoreMessages.info_dimensionsOfTheP0PartitionInTheP1Corpus, this.getParent().getSimpleName(), this.getCorpus());
+		return TXMCoreMessages.bind(PartitionCoreMessages.info_dimensionsOfTheP0Partition, this.getParent().getName());
 	}
 	
 	
 	
 	@Override
 	public boolean loadParameters() {
-		// nothing to do
+		// nothing to do, all parameters are auto-loaded
 		return true;
 	}
 	
 	@Override
 	public boolean saveParameters() {
-		// nothing to do
+		// nothing to do, all parameters are auto-saved
 		return true;
 	}
 	
Index: tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RWorkspace.java
===================================================================
--- tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RWorkspace.java	(revision 2701)
+++ tmp/org.txm.statsengine.r.core/src/org/txm/statsengine/r/core/RWorkspace.java	(revision 2702)
@@ -414,7 +414,7 @@
 			file.createNewFile();
 			
 			if (!file.canWrite()) {
-				System.out.println(NLS.bind("{0} cannot be written.", file)); //$NON-NLS-1$
+				Log.severe(NLS.bind("{0} can not be written.", file)); //$NON-NLS-1$
 				return null;
 			}
 			
Index: tmp/org.txm.internalview.core/src/org/txm/internalview/core/messages/messages_fr.properties
===================================================================
--- tmp/org.txm.internalview.core/src/org/txm/internalview/core/messages/messages_fr.properties	(revision 2701)
+++ tmp/org.txm.internalview.core/src/org/txm/internalview/core/messages/messages_fr.properties	(revision 2702)
@@ -1,10 +1,10 @@
-#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
+#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
 #TXM messages generated by the PluginMessagesManager class
 #Tue Dec 18 10:24:08 CET 2018
 
 RESULT_TYPE = Vue interne
 
-info_browsingP0 = Navigation dans {0}...
+info_browsingP0 = Ouverture du navigateur de {0}...
 
 internalViewColonFailedToRetrieveStructPropertiesValuesColonP0 = ** Vue interne : impossible de récupérer les valeurs de propriétés de structures : {0}.
 
Index: tmp/org.txm.internalview.core/src/org/txm/internalview/core/messages/messages.properties
===================================================================
--- tmp/org.txm.internalview.core/src/org/txm/internalview/core/messages/messages.properties	(revision 2701)
+++ tmp/org.txm.internalview.core/src/org/txm/internalview/core/messages/messages.properties	(revision 2702)
@@ -1,10 +1,10 @@
-#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
+#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
 #TXM messages generated by the PluginMessagesManager class
 #Tue Dec 18 10:24:08 CET 2018
 
 RESULT_TYPE = Internal View
 
-info_browsingP0 = Browsing {0}...
+info_browsingP0 = Opening {0} browser...
 
 internalViewColonFailedToRetrieveStructPropertiesValuesColonP0 = ** Internal view: failed to retrieve structural property values: {0}.
 
Index: tmp/org.txm.internalview.core/src/org/txm/internalview/core/functions/InternalView.java
===================================================================
--- tmp/org.txm.internalview.core/src/org/txm/internalview/core/functions/InternalView.java	(revision 2701)
+++ tmp/org.txm.internalview.core/src/org/txm/internalview/core/functions/InternalView.java	(revision 2702)
@@ -242,22 +242,24 @@
 	
 	@Override
 	public String getDetails() {
-		return getCorpus().getName() + " " + pStructuralUnit.getName() + " " + (pCurrentPage + 1); //$NON-NLS-1$ //$NON-NLS-2$
+		return getCorpus().getName() + " " + this.pStructuralUnit.getName() + " " + (this.pCurrentPage + 1); //$NON-NLS-1$ //$NON-NLS-2$
 	}
 	
 	
 	@Override
 	public String getSimpleName() {
-		return getName();
+		try {
+			return this.pStructuralUnit.getName() + " (" + (this.pCurrentPage + 1) + " / " + this.nmatches + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		}
+		catch (Exception e) {
+			return this.getEmptyName();
+		}
 	}
 	
 	
 	@Override
 	public String getName() {
-		if (pStructuralUnit != null) {
-			return pStructuralUnit.getName() + " (" + (this.pCurrentPage + 1) + " / " + this.nmatches + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-		}
-		return getCorpus().getName();
+		return this.getCorpus().getName() + TXMPreferences.PARENT_NAME_SEPARATOR + this.getSimpleName();
 	}
 	
 	
Index: tmp/org.txm.core/src/java/org/txm/core/preferences/TXMPreferences.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/core/preferences/TXMPreferences.java	(revision 2701)
+++ tmp/org.txm.core/src/java/org/txm/core/preferences/TXMPreferences.java	(revision 2702)
@@ -170,7 +170,14 @@
 	 */
 	public static final String LIST_SEPARATOR = "\t"; //$NON-NLS-1$
 	
+	
 	/**
+	 * Separator used when building some name based on a parent name and the result name (e.g. VOEUX/text@loc).
+	 */
+	public static final String PARENT_NAME_SEPARATOR = "/"; //$NON-NLS-1$
+	
+	
+	/**
 	 * Number of lines to display per page.
 	 */
 	public static final String N_LINES_PER_PAGE = "n_lines_per_page"; //$NON-NLS-1$
Index: tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 2701)
+++ tmp/org.txm.core/src/java/org/txm/core/results/TXMResult.java	(revision 2702)
@@ -2412,14 +2412,24 @@
 					return false;
 				}
 				
-				// console log, only for visible result or if the log level is superior to info level
-				if (!this.getComputingStartMessage().isEmpty() && (this.isVisible() || Log.isLoggingFineLevel())) {
-					Log.info(this.getComputingStartMessage());
+				
+				try {
+					// console log, only for visible result or if the log level is superior to info level
+					if (!this.getComputingStartMessage().isEmpty() && (this.isVisible() || Log.isLoggingFineLevel())) {
+						Log.info(this.getComputingStartMessage());
+					}
+					
+					
+					// monitor log
+					// this.setTaskName(this.getComputingStartMessage());
+					mainSubMonitor.subTask(this.getComputingStartMessage());
+					
 				}
+				catch (Exception e) {
+					e.printStackTrace();
+					Log.severe("Error while retrieving the result computing start message."); //$NON-NLS-1$
+				}
 				
-				// monitor log
-				// this.setTaskName(this.getComputingStartMessage());
-				mainSubMonitor.subTask(this.getComputingStartMessage());
 				// FIXME: SJ: debug tests
 				if (debugSlowingProcess) {
 					Thread.sleep(sleepDuration);
@@ -2549,15 +2559,23 @@
 		}
 		
 		
-		// console log, only for visible result or if the log level is superior to info level
-		if (!skipComputing && !this.getComputingDoneMessage().isEmpty() && (this.isVisible() || Log.isLoggingFineLevel())) {
-			Log.info(this.getComputingDoneMessage());
+		try {
+			// console log, only for visible result or if the log level is superior to info level
+			if (!skipComputing && !this.getComputingDoneMessage().isEmpty() && (this.isVisible() || Log.isLoggingFineLevel())) {
+				Log.info(this.getComputingDoneMessage());
+			}
+			
+			// monitor log
+			mainSubMonitor.subTask(this.getComputingDoneMessage());
 		}
+		catch (Exception e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+			Log.severe("Error while retrieving the result computing done message."); //$NON-NLS-1$
+		}
 		
 		this.computing = false;
 		
-		// monitor log
-		mainSubMonitor.subTask(this.getComputingDoneMessage());
 		mainSubMonitor.done();
 		
 		return true;
Index: tmp/org.txm.core/src/java/org/txm/core/messages/messages.properties
===================================================================
--- tmp/org.txm.core/src/java/org/txm/core/messages/messages.properties	(revision 2701)
+++ tmp/org.txm.core/src/java/org/txm/core/messages/messages.properties	(revision 2702)
@@ -16,9 +16,9 @@
 
 checkingBinaryFormat = Checking binary corpus format...
 
-common_P0ItemsForP1Occurrences   = {0} item(s) for {1} occurrence(s).
-common_P0Occurrences             = {0} occurrence(s).
-common_P0Positions               = {0} position(s).
+common_P0ItemsForP1Occurrences   = {0} item for {1} occurrences.
+common_P0Occurrences             = {0} occurrences.
+common_P0Positions               = Number of occurrences: [{0}].
 common_absoluteFrequency         = Absolute Frequency
 common_cancel                    = Cancel
 common_cols                      = Columns
Index: tmp/org.txm.core/src/java/org/txm/core/messages/TXMCoreMessages.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/core/messages/TXMCoreMessages.java	(revision 2701)
+++ tmp/org.txm.core/src/java/org/txm/core/messages/TXMCoreMessages.java	(revision 2702)
@@ -1,7 +1,9 @@
 package org.txm.core.messages;
 
+import java.text.NumberFormat;
+import java.util.Locale;
+
 import org.eclipse.osgi.util.NLS;
-import org.txm.core.messages.TXMCoreMessages;
 import org.txm.utils.messages.Utf8NLS;
 
 /**
@@ -328,6 +330,113 @@
 		return NLS.bind(message, bindings);
 	}
 	
+	
+	/**
+	 * Returns a string dedicated to display a Min filter string.
+	 * 
+	 * @param value
+	 * @return
+	 */
+	// FIXME: SJ: this method may be moved to another class
+	public static String formatMinFilter(int value, int minimumValue) {
+		if (value >= minimumValue) {
+			return " ≥" + TXMCoreMessages.formatNumber(value); //$NON-NLS-1$
+		}
+		else return "";
+	}
+	
+	/**
+	 * Returns a string dedicated to display a Min filter string.
+	 * 
+	 * @param value
+	 * @return
+	 */
+	// FIXME: SJ: this method may be moved to another class
+	public static String formatMinFilter(int value) {
+		return formatMinFilter(value, 2);
+	}
+	
+	
+	
+	/**
+	 * Returns a string dedicated to display a Min filter string.
+	 * 
+	 * @param value
+	 * @return
+	 */
+	// FIXME: SJ: this method may be moved to another class
+	public static String formatMinFilter(double value, double minimumValue) {
+		if (value >= minimumValue) {
+			return " ≥" + TXMCoreMessages.formatNumber(value); //$NON-NLS-1$
+		}
+		else return "";
+	}
+	
+	/**
+	 * Returns a string dedicated to display a Min filter string.
+	 * 
+	 * @param value
+	 * @return
+	 */
+	// FIXME: SJ: this method may be moved to another class
+	public static String formatMinFilter(double value) {
+		return formatMinFilter(value, 2);
+	}
+	
+	
+	/**
+	 * Returns a string dedicated to display a Max filter string.
+	 * 
+	 * @param value
+	 * @return
+	 */
+	// FIXME: SJ: this method may be moved to another class
+	public static String formatMaxFilter(int value) {
+		if (value != Integer.MAX_VALUE) {
+			return " ≤" + TXMCoreMessages.formatNumber(value); //$NON-NLS-1$
+		}
+		else return "";
+	}
+	
+	
+	/**
+	 * Returns a string dedicated to display a VMax filter string.
+	 * 
+	 * @param value
+	 * @return
+	 */
+	// FIXME: SJ: this method may be moved to another class
+	public static String formatVMaxFilter(int value) {
+		if (value != Integer.MAX_VALUE) {
+			return " /" + TXMCoreMessages.formatNumber(value); //$NON-NLS-1$
+		}
+		else return "";
+	}
+	
+	/**
+	 * Formats the specified number using default locale syntax (e.g. 2 150 or 2,150 ).
+	 * 
+	 * @param value
+	 * @return
+	 */
+	// FIXME: SJ: this method may be moved to another class
+	public static String formatNumber(int value) {
+		return NumberFormat.getInstance(Locale.getDefault()).format(value);
+	}
+	
+	
+	/**
+	 * Formats the specified number using default locale syntax (e.g. 2 150,35 or 2,150.35 ).
+	 * 
+	 * @param value
+	 * @return
+	 */
+	// FIXME: SJ: this method may be moved to another class
+	public static String formatNumber(double value) {
+		return NumberFormat.getInstance(Locale.getDefault()).format(value);
+	}
+	
+	
 	static {
 		// initialize resource bundle
 		Utf8NLS.initializeMessages(BUNDLE_NAME, TXMCoreMessages.class);
Index: tmp/org.txm.core/src/java/org/txm/core/messages/messages_fr.properties
===================================================================
--- tmp/org.txm.core/src/java/org/txm/core/messages/messages_fr.properties	(revision 2701)
+++ tmp/org.txm.core/src/java/org/txm/core/messages/messages_fr.properties	(revision 2702)
@@ -14,9 +14,9 @@
 
 checkingBinaryFormat = Vérification du format du corpus binaire…
 
-common_P0ItemsForP1Occurrences   = {0} item(s) pour {1} occurrence(s).
-common_P0Occurrences             = {0} occurrence(s).
-common_P0Positions               = {0} position(s).
+common_P0ItemsForP1Occurrences   = {0} items pour {1} occurrences.
+common_P0Occurrences             = {0} occurrences.
+common_P0Positions               = Nombre d'occurrences : [{0}].
 common_absoluteFrequency         = Fréquence absolue
 common_cancel                    = Annuler
 common_cols                      = Colonnes
Index: tmp/org.txm.concordance.core/src/org/txm/concordance/core/messages/messages.properties
===================================================================
--- tmp/org.txm.concordance.core/src/org/txm/concordance/core/messages/messages.properties	(revision 2701)
+++ tmp/org.txm.concordance.core/src/org/txm/concordance/core/messages/messages.properties	(revision 2702)
@@ -1,4 +1,4 @@
-#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
+#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
 #TXM messages generated by the PluginMessagesManager class
 #Tue Dec 18 10:24:08 CET 2018
 
@@ -6,7 +6,7 @@
 
 compositeColon = Composite: 
 
-concordanceOfP0InTheP1Corpus = Concordance of <{0}> in the {1} corpus...
+concordanceOfP0InTheP1Corpus = Concordance of <{0}> in {1} corpus...
 
 context = Context
 
Index: tmp/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java
===================================================================
--- tmp/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java	(revision 2701)
+++ tmp/org.txm.concordance.core/src/org/txm/concordance/core/functions/Concordance.java	(revision 2702)
@@ -47,6 +47,7 @@
 import org.txm.concordance.core.messages.ConcordanceCoreMessages;
 import org.txm.concordance.core.preferences.ConcordancePreferences;
 import org.txm.core.messages.TXMCoreMessages;
+import org.txm.core.preferences.TXMPreferences;
 import org.txm.core.results.Parameter;
 import org.txm.core.results.TXMParameters;
 import org.txm.core.results.TXMResult;
@@ -924,7 +925,7 @@
 	@Override
 	public String getSimpleName() {
 		if (this.pQuery != null && !this.pQuery.isEmpty()) {
-			return this.pQuery.toString().replace("\n", " ");
+			return this.pQuery.asString();
 		}
 		else {
 			return this.getEmptyName();
@@ -933,34 +934,12 @@
 	
 	@Override
 	public String getName() {
-		try {
-			
-			String name = this.getCorpus().getName();
-			
-			if (this.pQuery != null && !this.pQuery.isEmpty()) {
-				name += " " + this.pQuery.toString().replace("\n", " "); //$NON-NLS-1$
-			}
-			//
-			// if (this.queryResult != null) {
-			// return this.getCorpus().getName()
-			// + " " //$NON-NLS-1$
-			// + this.queryResult.getQuery().getQueryString();
-			// }
-			// else {
-			// return this.getCorpus().getName();
-			// }
-			//
-			return name;
-		}
-		catch (Exception e) {
-			return this.getEmptyName();
-		}
+		return this.getCorpus().getName() + TXMPreferences.PARENT_NAME_SEPARATOR + this.getSimpleName();
 	}
 	
-	
 	@Override
 	public String getComputingStartMessage() {
-		return TXMCoreMessages.bind(ConcordanceCoreMessages.concordanceOfP0InTheP1Corpus, this.pQuery, this.getCorpus().getName());
+		return TXMCoreMessages.bind(ConcordanceCoreMessages.concordanceOfP0InTheP1Corpus, this.pQuery.asString(), this.getCorpus().getName());
 	}
 	
 	@Override
@@ -969,7 +948,7 @@
 			return TXMCoreMessages.common_noResults;
 		}
 		else {
-			return TXMCoreMessages.bind(TXMCoreMessages.common_P0Occurrences, this.getNLines());
+			return TXMCoreMessages.bind(TXMCoreMessages.common_P0Occurrences, TXMCoreMessages.formatNumber(this.getNLines()));
 		}
 	}
 	
Index: tmp/org.txm.ahc.core/src/org/txm/ahc/core/messages/messages.properties
===================================================================
--- tmp/org.txm.ahc.core/src/org/txm/ahc/core/messages/messages.properties	(revision 2701)
+++ tmp/org.txm.ahc.core/src/org/txm/ahc/core/messages/messages.properties	(revision 2702)
@@ -14,8 +14,8 @@
 error_canNotComputeAHCWithLessThan4RowsInTheTable        = ** Can not compute AHC with less than 4 rows in the table
 error_errorWhileExportingCAHToTXT                        = ** Error while exporting HCA result.
 
-info_ahcOfTheP0LexcialTable             = Clustering the {0} lexical table...
-info_ahcOfTheP0PartitionCommaP1Property = Clustering the {0} partition, [{1}] property...
+info_ahcOfTheP0LexcialTable             = AHC of the {0} lexical table...
+info_ahcOfTheP0PartitionCommaP1Property = AHC of {0} partition, {1} property...
 info_ahcOfTheP0ca                       = Clustering the {0} CA...
 
 rows = rows
Index: tmp/org.txm.ahc.core/src/org/txm/ahc/core/messages/messages_fr.properties
===================================================================
--- tmp/org.txm.ahc.core/src/org/txm/ahc/core/messages/messages_fr.properties	(revision 2701)
+++ tmp/org.txm.ahc.core/src/org/txm/ahc/core/messages/messages_fr.properties	(revision 2702)
@@ -1,4 +1,4 @@
-#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
+#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
 #TXM messages generated by the PluginMessagesManager class
 #Tue Dec 18 10:24:08 CET 2018
 
@@ -6,19 +6,16 @@
 
 RESULT_TYPE = CAH
 
-error_canNotComputeAHCOnLexicalTableWithLessThan4Columns = ** Impossible de calculer la classification avec moins de 4 colonnes dans la table
-
-error_canNotComputeAHCWithLessThan4RowsInTheTable = ** Impossible de calculer la classification avec moins de 4 lignes dans la table
-
-
 columns = colonnes
 
 computingAHC = Calcul de la CAH...
 
-error_errorWhileExportingCAHToTXT = ** Erreur durant l'exportation du résultat de la CAH.
+error_canNotComputeAHCOnLexicalTableWithLessThan4Columns = ** Impossible de calculer la classification avec moins de 4 colonnes dans la table
+error_canNotComputeAHCWithLessThan4RowsInTheTable        = ** Impossible de calculer la classification avec moins de 4 lignes dans la table
+error_errorWhileExportingCAHToTXT                        = ** Erreur durant l'exportation du résultat de la CAH.
 
 info_ahcOfTheP0LexcialTable             = CAH de la table lexicale {0}...
-info_ahcOfTheP0PartitionCommaP1Property = CAH de la partition {0}, propriété [{1}]...
+info_ahcOfTheP0PartitionCommaP1Property = CAH de la partition {0}, propriété {1}...
 info_ahcOfTheP0ca                       = CAH de l'AFC {0}...
 
 rows = lignes
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages_fr.properties
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages_fr.properties	(revision 2701)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages_fr.properties	(revision 2702)
@@ -7,17 +7,26 @@
 Explorer_4 = 🡅
 Explorer_5 = ⭮
 Explorer_7 = ⌂
-
-resetAll=Remise à zéro
-password=Mot de passe
-login=Identifiant
-loginToP0=Connexion à {0}
-connect=Se connecter
 
 FileTreeContentProvider_4 = '
 
 P0CorpusLoaded = {0} corpus chargé(s).
 
+SourceDirectoryPage_0  = Selection du répertoire des fichiers sources
+SourceDirectoryPage_1  = Sources
+SourceDirectoryPage_10 = Nom du corpus
+SourceDirectoryPage_11 = Le corpus ''{0}'' sera remplacé.
+SourceDirectoryPage_12 = L''import du corpus ''{0}'' sera repris ou redémarré.
+SourceDirectoryPage_13 = Le corpus ''{0}'' sera créé.
+SourceDirectoryPage_14 = Vérification du nom de corpus avec le pattern '[A-Z][-A-Z0-9]+': 
+SourceDirectoryPage_2  = Le répertoire des fichiers sources qui seront lu par le module d'import
+SourceDirectoryPage_3  = Répertoire des fichiers sources
+SourceDirectoryPage_5  = Cliquer pour sélectionner le répertoire des fichiers sources
+SourceDirectoryPage_6  = Répertoire source à utiliser
+SourceDirectoryPage_8  = ** normalisation du nom du corpus : aucun caractère valide disponible pour construire le nom du corpus (essayez d'utiliser des caractères anglais américain - ASCII - dans le nom du dossier)
+
+TXMisDistributedUnderLicence = TXM est diffusé sous licence 
+
 _1                                                                                                                                                                  = 1.\	
 _2                                                                                                                                                                  = 2.\	
 _3                                                                                                                                                                  = 3.\	
@@ -175,6 +184,8 @@
 
 confirm = Confirmer
 
+connect = Se connecter
+
 consoleReportsAnInternalError = \nErreur Interne.
 
 contains = contient
@@ -249,10 +260,10 @@
 
 deletedColonP0 = {0} supprimé.
 
+deletingOneResultP0Continue = Voulez-vous vraiment supprimer {0} ?
+
 deletingP0 = Suppression de {0}
 
-deletingOneResultP0Continue = Voulez-vous vraiment supprimer {0} ?
-
 deletingSeveralResultsP0Continue = Voulez-vous vraiment supprimer ces {0} éléments ?
 
 description = Description
@@ -455,6 +466,8 @@
 
 fileExplorerColonIncorrectPattern = ** Explorateur de fichiers : expression régulière incorrecte
 
+firstLaunchOfTXM = Premier lancement de TXM
+
 folderP0ShouldNotBeDeleted = Le dossier {0} ne devrait pas être supprimé
 
 followedBy = suivi de 
@@ -477,6 +490,10 @@
 
 generalPreferencesBackup = Sauvegarde générale des préférences
 
+gnuLicenceLink = https://www.gnu.org/licenses/gpl-2.0.fr.html
+
+gnuLicenceName = GNU General Public License version 2
+
 goToParentFolder = Aller au dossier parent
 
 goToTXMHome = Aller au dossier de l'espace de travail de TXM
@@ -491,6 +508,8 @@
 
 h = h, 
 
+iAcceptTheLicenceAndAgreeToQuoteTXMInMyWork = J'accepte les termes de la licence et je m'engage à citer TXM dans mes publications
+
 iAcceptTheLicenceAndIUndertakeToCiteTXMForAcknowledgingMyUseOfTXMInMyResearchWorkSeeTheCitationSectionOfTheInfhttpColontextometrieenslyonfrspipphprubrique61SupPage = J'accepte la licence et je m'engage à citer TXM dans mes publications \n(voir la section 'Citer TXM' de la page <http://textometrie.ens-lyon.fr/spip.php?rubrique61> de Téléchargement)
 
 identifiedLanguage = Langue identifiée : {0}.
@@ -499,6 +518,8 @@
 
 importClipboardText = Importation du contenu textuel du presse-papier…
 
+importDone = Import terminé.
+
 importParametersOfP0 = Paramètres d''import du module {0}
 
 importSetupP0 = Paramètres d''import - {0}
@@ -575,6 +596,10 @@
 
 logOptionDetected = option '-log' détectée
 
+login = Identifiant
+
+loginToP0 = Connexion à {0}
+
 logs = Messages
 
 macroName = Nom de la macro
@@ -651,13 +676,13 @@
 
 noPartWasDefined = Aucun paramètre Part
 
-noPartitionNameWasSpecifiedTheNameIsP0 = Le nom de la partition n''a pas été précisé. Le nom est ''{0}''.
+noPartitionNameWasSpecifiedTheNameIsP0 = Calcul du nom de la partition : {0}.
 
 noPreviousText = Pas de texte précédent
 
 noSelectionForColon = Aucune sélection pour : 
 
-noSubcorpusNameWasSpecifiedWeveGeneratedOne = Aucun nom de sous-corpus indiqué, nous avons généré un automatiquement.
+noSubcorpusNameWasSpecifiedWeveGeneratedOne = Calcul du nom du sous-corpus : {0}.
 
 noTextInCorpusColonP0 = ** Aucun texte {0} dans le corpus.
 
@@ -679,7 +704,7 @@
 
 openingCooccurrentsTable = Chargement du tableau des cooccurrents
 
-options = Options
+options = Options...
 
 outfileColonNone = Fichier de sortie : aucun
 
@@ -709,6 +734,8 @@
 
 part = Partie 
 
+password = Mot de passe
+
 pleaseWriteTheMacroName = Nom de la macro
 
 preferences = Préférences
@@ -767,6 +794,8 @@
 
 renamingByColon = renommage par : 
 
+resetAll = Remise à zéro
+
 resetTheViewColonF5 = \	RAZ : F5
 
 restartTXM = Redémarrer TXM
@@ -801,12 +830,16 @@
 
 sec = \ sec
 
+seeTheQuoteSectionIn = (voir la section 'Citer le logiciel TXM' de la page d'accueil du site 
+
 select = Sélectionner
 
 selectACompositeSorter = Sélectionner un tri multiple
 
 selectAProperty = Sélectionner une propriété
 
+selectAnotherTXMCorporaToRestore = Sélectionner un autre répertoire "corpora" de corpus à récupérer...
+
 selectColon = Sélectionner :
 
 selectTextId = Sélectionner un texte
@@ -817,6 +850,8 @@
 
 selectValuesToAssignColon = Sélectionner les valeurs à affecter : 
 
+selectWorkingDirectory = Répertoire de travail
+
 selectionIsNotACorpusColon = L'objet sélectionné n'est pas un corpus : 
 
 separatedByAtLeast0Word = éventuellement séparé par quelques mots
@@ -956,6 +991,8 @@
 
 unknowedWidgetNameColon = ** Erreur : nom de widget inconnu : '
 
+updateDone = Mise à jour terminée.
+
 updateLevel = Niveau de mise à jour
 
 useLeftWindow = Utiliser le contexte gauche
@@ -996,31 +1033,4 @@
 
 zoomInAmpoutColonMouseWheelORShiftPlusRightMousePlusDrag = \	Zoom +/- : Roulette OU Maj + Clic Droit + Glisser\n
 
-zoomToSelectionColonCtrlPlusLeftMousePlusdrag = \	Zoomer sur la sélection : Ctrl + Clic Gauche + Glisser\n
-
-importDone=Import terminé.
-
-updateDone=Mise à jour terminée.
-
-TXMisDistributedUnderLicence=TXM est diffusé sous licence 
-gnuLicenceLink=https://www.gnu.org/licenses/gpl-2.0.fr.html
-gnuLicenceName=GNU General Public License version 2
-iAcceptTheLicenceAndAgreeToQuoteTXMInMyWork=J'accepte les termes de la licence et je m'engage à citer TXM dans mes publications
-seeTheQuoteSectionIn=(voir la section 'Citer le logiciel TXM' de la page d'accueil du site 
-selectWorkingDirectory=Répertoire de travail
-options=Options...
-firstLaunchOfTXM=Premier lancement de TXM
-selectAnotherTXMCorporaToRestore=Sélectionner un autre répertoire "corpora" de corpus à récupérer...
-
-SourceDirectoryPage_0=Selection du répertoire des fichiers sources
-SourceDirectoryPage_1=Sources
-SourceDirectoryPage_10=Nom du corpus
-SourceDirectoryPage_11=Le corpus ''{0}'' sera remplacé.
-SourceDirectoryPage_12=L''import du corpus ''{0}'' sera repris ou redémarré.
-SourceDirectoryPage_13=Le corpus ''{0}'' sera créé.
-SourceDirectoryPage_14=Vérification du nom de corpus avec le pattern '[A-Z][-A-Z0-9]+': 
-SourceDirectoryPage_2=Le répertoire des fichiers sources qui seront lu par le module d'import
-SourceDirectoryPage_3=Répertoire des fichiers sources
-SourceDirectoryPage_5=Cliquer pour sélectionner le répertoire des fichiers sources
-SourceDirectoryPage_6=Répertoire source à utiliser
-SourceDirectoryPage_8=** normalisation du nom du corpus : aucun caractère valide disponible pour construire le nom du corpus (essayez d'utiliser des caractères anglais américain - ASCII - dans le nom du dossier)
+zoomToSelectionColonCtrlPlusLeftMousePlusdrag = \	Zoomer sur la sélection : Ctrl + Clic Gauche + Glisser\n
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages.properties
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages.properties	(revision 2701)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages.properties	(revision 2702)
@@ -7,18 +7,56 @@
 Explorer_4 = 🡅
 Explorer_5 = ⭮
 Explorer_7 = ⌂
-
-
-resetAll=Reset All
-password=Password
-login=Login
-loginToP0=Login to {0}
-connect=Connect
 
 FileTreeContentProvider_4 = '
 
+LoadBinaryCorporaDirectory_aCorpusNamedP0alreadyExistsLoadingOfP1Canceled = A corpus named {0} already exists, loading of {1} canceled.
+LoadBinaryCorporaDirectory_corporaDirectoryNotFoundAborting               = Corpora directory not found. Aborting.
+LoadBinaryCorporaDirectory_corpusLoad                                     = Corpus load
+LoadBinaryCorporaDirectory_loadingCorporaFromTheP0Directory               = Loading corpora from the {0} directory...
+LoadBinaryCorporaDirectory_selectTheTXMCorpusToLoad                       = Select the '.txm' corpus to load.
+
 P0CorpusLoaded = {0} corpus loaded.
 
+SourceDirectoryPage_0  = Select source directory
+SourceDirectoryPage_1  = Sources
+SourceDirectoryPage_10 = Corpus name
+SourceDirectoryPage_11 = The ''{0}'' corpus will be replaced.
+SourceDirectoryPage_12 = The ''{0}'' corpus import will be resumed or restarted.
+SourceDirectoryPage_13 = The ''{0}'' corpus will be created.
+SourceDirectoryPage_14 = Checking corpus name validity with '[A-Z][-A-Z0-9]+': 
+SourceDirectoryPage_2  = The source directory contains the sources files read by the import module.
+SourceDirectoryPage_3  = Source directory
+SourceDirectoryPage_5  = click to select the corpus source directory
+SourceDirectoryPage_6  = Source directory to use
+SourceDirectoryPage_8  = Warning: corpus name normalization: no valid character available to build the corpus name (try to use some American English - ASCII - characters in the folder name)
+
+TXMCanNotFetchUpdatesP0 = TXM can not fetch updates ({0}).
+
+TXMInitializationHasBeenCanceledByUserDotPleaseRestartTXM = TXM initialization has been canceled by user. Please restart TXM.
+
+TXMInstallDirectoryIsNotSetP0PreferenceIsNotSet = TXM install directory is not set ('{0}' preference is not set).
+
+TXMInstallDirectoryIsSetToP0ButDoesNotExist = TXM install directory is set to '{0}' but does not exist.
+
+TXMInstallDirectoryIsSetToP0ButIsNotReadable = TXM install directory is set to '{0}' but is not readable.
+
+TXMInstallDirectoryIsSetToP0ButTXMCantCdInThisDirectory = TXM install directory is set to '{0}' but is not cdable.
+
+TXMInstallDirectoryIsSetToQuoteQuote = TXM install directory is set to ''.
+
+TXMUserDirectoryIsNotSetP0PreferenceIsNotSet = TXM user directory is not set ('{0}' preference is not set).
+
+TXMUserDirectoryIsSetToP0 = TXM User directory is set to: {0}.
+
+TXMUserDirectoryIsSetToP0ButDoesNotExist = TXM user directory is set to '{0}' but does not exist.
+
+TXMUserDirectoryIsSetToP0ButTXMCantCdInThisDirectory = TXM user directory is set to '{0}' but TXM can't cd in this directory.
+
+TXMUserDirectoryIsSetToP0ButTXMCantWriteInThisDirectory = TXM user directory is set to '{0}' but TXM can't write in this directory.
+
+TXMisDistributedUnderLicence = TXM is released under the 
+
 _1                                                                                                                                                                  = 1.\	
 _2                                                                                                                                                                  = 2.\	
 _3                                                                                                                                                                  = 3.\	
@@ -101,8 +139,10 @@
 
 buildEdition = Build edition
 
-callingGroovyPrestartScript=Calling Groovy prestart script...
-callingGroovyStartScript=Calling Groovy start script...
+callingGroovyPrestartScript = Calling Groovy prestart script...
+
+callingGroovyStartScript = Calling Groovy start script...
+
 canNotCreateATableWithTheProvidedInformationColonP0 = ** Can not create a table with the information provided: {0}
 
 canceling = Canceling…
@@ -148,9 +188,11 @@
 clipboardIsEmpty = ** The clipboard is empty.
 
 clipboard_2      = clipboard
-closingColon=Closing: 
-closingEmptyEditors=Closing empty editors
 
+closingColon = Closing: 
+
+closingEmptyEditors = Closing empty editors
+
 columnIndexIsTooBig = Column number too big.
 
 columnsSeparatedBy = Columns separated by
@@ -182,6 +224,8 @@
 
 confirm = Confirm
 
+connect = Connect
+
 consoleReportsAnInternalError = \nInternal error.
 
 contains = contains
@@ -256,12 +300,12 @@
 
 deletedColonP0 = {0} deleted.
 
+deletingOneResultP0Continue = Do you really want to delete {0}?
+
 deletingP0 = Deleting {0}
 
-deletingSeveralResultsP0Continue=Do you really want to delete those {0} items?
+deletingSeveralResultsP0Continue = Do you really want to delete those {0} items?
 
-deletingOneResultP0Continue=Do you really want to delete {0}?
-
 description = Description
 
 descriptionOfTheP0CorpusP1 = Description of the {0} corpus ({1})
@@ -353,12 +397,17 @@
 errorDuringScriptExecutionColon = ** Error during script execution: 
 
 errorDuringSortColonP0 = ** Error during sorting: {0}.
-errorDuringUIInitializationP0=Error during UI initialization: {0}.
 
+errorDuringUIInitializationP0 = Error during UI initialization: {0}.
+
 errorElementColon = Error element: '
 
 errorInAtOptionNameDeclarationColon = ** Error in the declaration of the name of the @Option 
 
+errorTheProvidedInstallDirectoryDoesNotExistAborting = Error: The provided install directory does not exists. Aborting.
+
+errorTheProvidedTXMHOMEDirectoryDoesNotExistsP0Aborting = Error: The provided TXMHOME directory does not exists: {0}. Aborting.
+
 errorWhileCallingOrgeclipseuiwindowresetPerspectiveColon = ** Error while calling ''org.eclipse.ui.window.resetPerspective'': {0}.
 
 errorWhileCleaningPerspectiveColonNoHandlerServiceFound = ** Error while cleaning perspective: no handler found.
@@ -368,8 +417,9 @@
 errorWhileCreatingAPartitionColonP0 = ** Error while creating a partition: {0}
 
 errorWhileDeletingP0ColonP1 = ** Error while deleting {0}: {1}
-errorWhileFetchingUpdatesP0=Error while fetching updates: {0}
 
+errorWhileFetchingUpdatesP0 = Error while fetching updates: {0}
+
 errorWhileGettingCurrentPositionValueColon = ** Error while retrieving data at position: 
 
 errorWhileLoadingTXMColon = ** TXM startup error: {0}.
@@ -389,10 +439,9 @@
 errorWithElementP0 = ** Error with element {0}
 
 error_invalidRegularExpression                           = Invalid regular expression: {0}
-errorsOccuredDuringTXMPostInstallation=Errors occured during TXM post-installation.
-errorTheProvidedInstallDirectoryDoesNotExistAborting=Error: The provided install directory does not exists. Aborting.
-errorTheProvidedTXMHOMEDirectoryDoesNotExistsP0Aborting=Error: The provided TXMHOME directory does not exists: {0}. Aborting.
 
+errorsOccuredDuringTXMPostInstallation = Errors occured during TXM post-installation.
+
 execColon = Exec: {0}.
 
 executeScript = Execute script
@@ -437,7 +486,8 @@
 
 failedToDeleteSubcorpusP0 = ** Error removing sub-corpus {0}
 
-failedToExecuteTheP0ScriptColonP1=Failed to execute '{0}' script: {1}.
+failedToExecuteTheP0ScriptColonP1 = Failed to execute '{0}' script: {1}.
+
 failedToExportCorpusP0 = ** Failed to export the {0} corpus.
 
 failedToExportFileP0 = ** Failed to export file {0} with device {1}
@@ -466,6 +516,8 @@
 
 fileExplorerColonIncorrectPattern = ** File Explorer: Incorrect Regular Expression
 
+firstLaunchOfTXM = First launch of TXM
+
 folderP0ShouldNotBeDeleted = Folder {0} should not be deleted
 
 followedBy = followed by 
@@ -488,6 +540,10 @@
 
 generalPreferencesBackup = General backup of preferences
 
+gnuLicenceLink = https://www.gnu.org/licenses/gpl-2.0.en.html
+
+gnuLicenceName = GNU General Public License version 2
+
 goToParentFolder = Go to parent folder
 
 goToTXMHome = Go to TXM workspace folder
@@ -502,6 +558,8 @@
 
 h = h, 
 
+iAcceptTheLicenceAndAgreeToQuoteTXMInMyWork = I accept TXM license terms and I accept to quote TXM in my publications.
+
 iAcceptTheLicenceAndIUndertakeToCiteTXMForAcknowledgingMyUseOfTXMInMyResearchWorkSeeTheCitationSectionOfTheInfhttpColontextometrieenslyonfrspipphprubrique61SupPage = I accept the licence and I undertake to cite TXM for acknowledging my use of TXM in my research work \n(see the Citation section of the <http://textometrie.ens-lyon.fr/spip.php?rubrique61> page).
 
 identifiedLanguage = Identified Language: {0}.
@@ -510,6 +568,8 @@
 
 importClipboardText = Importing the textual content of the clipboard ...
 
+importDone = Import done.
+
 importParametersOfP0 = Import parameters of module {0}
 
 importSetupP0 = Import parameters - {0}
@@ -527,8 +587,9 @@
 initializationOfThePlatform = Initialization of the platform...
 
 initializingPlatform = Initialization of the platform...
-initializingToolboxEnginesAndCorpora=Initializing Toolbox (engines and corpora)...
 
+initializingToolboxEnginesAndCorpora = Initializing Toolbox (engines and corpora)...
+
 installPathColonP0 = Install path: {0}.
 
 installingPreviousCorpusFromP0 = Restoring previous TXM {0} corpora (from the {0} directory)...
@@ -587,6 +648,10 @@
 
 logOptionDetected = '-log' option detected
 
+login = Login
+
+loginToP0 = Login to {0}
+
 logs = Logs
 
 macroName = Macro name
@@ -655,8 +720,10 @@
 
 nextText = Next text
 
-noActivePage=no active page
-noActiveWorkbenchWindow=no active workbench window
+noActivePage = no active page
+
+noActiveWorkbenchWindow = no active workbench window
+
 noDefaultEditionPageFoundForElementColon = No default edition page found for element 
 
 noInterpreterFoundForScriptFileExtension = ** No interpreter found for script file extension
@@ -665,13 +732,13 @@
 
 noPartWasDefined = No Part parameter set
 
-noPartitionNameWasSpecifiedTheNameIsP0 = No partition name was specified. The name is ''{0}''.
+noPartitionNameWasSpecifiedTheNameIsP0 = Computing partition name: {0}.
 
 noPreviousText = No previous text
 
 noSelectionForColon = No selection for: 
 
-noSubcorpusNameWasSpecifiedWeveGeneratedOne = No sub-corpus name given, we generated one automatically.
+noSubcorpusNameWasSpecifiedWeveGeneratedOne = Processing sub-corpus name: {0}.
 
 noTextInCorpusColonP0 = ** No ''{0}'' text in the corpus.
 
@@ -693,7 +760,7 @@
 
 openingCooccurrentsTable = Opening cooccurrents table
 
-options = Options
+options = Options...
 
 outfileColonNone = Output file: none
 
@@ -722,8 +789,11 @@
 parameters = Parameters
 
 part = Part
-partInitializationErrorColon=Part initialisation error: 
 
+partInitializationErrorColon = Part initialisation error: 
+
+password = Password
+
 pleaseWriteTheMacroName = Macro name
 
 preferences = Preferences
@@ -782,14 +852,18 @@
 
 renamingByColon = renaming by: 
 
+resetAll = Reset All
+
 resetTheViewColonF5 = \	Reset view: F5
 
 restartTXM = Restart TXM
 
 restartingThePlatform = Restarting the platform
-restoringCorpora=Restoring corpora...
-restoringCorporaFromTheP0Directory=Restoring corpora from the {0} directory...
 
+restoringCorpora = Restoring corpora...
+
+restoringCorporaFromTheP0Directory = Restoring corpora from the {0} directory...
+
 rightContextSize = Right context size
 
 rmvAllTheParts = Delete all parts
@@ -818,12 +892,16 @@
 
 sec = \ sec
 
+seeTheQuoteSectionIn = (see the "How to Cite the Textometry project" section in the textometrie.org web site: 
+
 select = Select
 
 selectACompositeSorter = Select a multiple sorter
 
 selectAProperty = Select a property
 
+selectAnotherTXMCorporaToRestore = Select another TXM "corpora" directory to restore...
+
 selectColon = Select:
 
 selectTextId = Select a text
@@ -834,6 +912,8 @@
 
 selectValuesToAssignColon = Select the values to assign: 
 
+selectWorkingDirectory = Working directory
+
 selectionIsNotACorpusColon = The selected object is not a corpus: 
 
 separatedByAtLeast0Word = may be separated by some words
@@ -842,7 +922,8 @@
 
 separatorCharacters = Separator characters
 
-setDefaultTheme=Set default theme
+setDefaultTheme = Set default theme
+
 setImportParametersInTheSectionsBelow = Set the import parameters in the sections below.
 
 settingStatusLineAndConfiguringActionSets = Retreiving status line and configuring menus and toolbars
@@ -887,7 +968,8 @@
 
 startJobColonLoadInstallPreferences = Startup: loading installation preferences
 
-startingTxm=Starting TXM
+startingTxm = Starting TXM
+
 startingUpP0 = Starting TXM {0} ({1})…
 
 startingUpdateFetch = Starting updates retrieval
@@ -976,11 +1058,15 @@
 to_3                        = to
 
 tokenizerParameterFileColon = Tokenizer parameters: 
-toolboxReady=Toolbox ready.
 
+toolboxReady = Toolbox ready.
+
 unknowedWidgetNameColon = ** Error: unknown widget name: '
 
-updateCanceled=Update canceled.
+updateCanceled = Update canceled.
+
+updateDone = Update done.
+
 updateLevel = Update level
 
 useLeftWindow = Use the left context
@@ -1022,46 +1108,3 @@
 zoomInAmpoutColonMouseWheelORShiftPlusRightMousePlusDrag = \	Zoom +/-: Mouse wheel OR Shift + Right Mouse + Drag\n
 
 zoomToSelectionColonCtrlPlusLeftMousePlusdrag = \	Zoom to selection: Ctrl + Left Mouse + Drag\n
-
-importDone=Import done.
-
-updateDone=Update done.
-
-TXMCanNotFetchUpdatesP0=TXM can not fetch updates ({0}).
-TXMInitializationHasBeenCanceledByUserDotPleaseRestartTXM=TXM initialization has been canceled by user. Please restart TXM.
-TXMInstallDirectoryIsNotSetP0PreferenceIsNotSet=TXM install directory is not set ('{0}' preference is not set).
-TXMInstallDirectoryIsSetToP0ButDoesNotExist=TXM install directory is set to '{0}' but does not exist.
-TXMInstallDirectoryIsSetToP0ButIsNotReadable=TXM install directory is set to '{0}' but is not readable.
-TXMInstallDirectoryIsSetToP0ButTXMCantCdInThisDirectory=TXM install directory is set to '{0}' but is not cdable.
-TXMInstallDirectoryIsSetToQuoteQuote=TXM install directory is set to ''.
-TXMisDistributedUnderLicence=TXM is released under the 
-TXMUserDirectoryIsNotSetP0PreferenceIsNotSet=TXM user directory is not set ('{0}' preference is not set).
-TXMUserDirectoryIsSetToP0=TXM User directory is set to: {0}.
-TXMUserDirectoryIsSetToP0ButDoesNotExist=TXM user directory is set to '{0}' but does not exist.
-TXMUserDirectoryIsSetToP0ButTXMCantCdInThisDirectory=TXM user directory is set to '{0}' but TXM can't cd in this directory.
-TXMUserDirectoryIsSetToP0ButTXMCantWriteInThisDirectory=TXM user directory is set to '{0}' but TXM can't write in this directory.
-gnuLicenceLink=https://www.gnu.org/licenses/gpl-2.0.en.html
-gnuLicenceName=GNU General Public License version 2
-iAcceptTheLicenceAndAgreeToQuoteTXMInMyWork=I accept TXM license terms and I accept to quote TXM in my publications.
-seeTheQuoteSectionIn=(see the "How to Cite the Textometry project" section in the textometrie.org web site: 
-selectWorkingDirectory=Working directory
-options=Options...
-firstLaunchOfTXM=First launch of TXM
-LoadBinaryCorporaDirectory_aCorpusNamedP0alreadyExistsLoadingOfP1Canceled=A corpus named {0} already exists, loading of {1} canceled.
-LoadBinaryCorporaDirectory_corporaDirectoryNotFoundAborting=Corpora directory not found. Aborting.
-LoadBinaryCorporaDirectory_corpusLoad=Corpus load
-LoadBinaryCorporaDirectory_loadingCorporaFromTheP0Directory=Loading corpora from the {0} directory...
-LoadBinaryCorporaDirectory_selectTheTXMCorpusToLoad=Select the '.txm' corpus to load.
-selectAnotherTXMCorporaToRestore=Select another TXM "corpora" directory to restore...
-SourceDirectoryPage_0=Select source directory
-SourceDirectoryPage_1=Sources
-SourceDirectoryPage_10=Corpus name
-SourceDirectoryPage_11=The ''{0}'' corpus will be replaced.
-SourceDirectoryPage_12=The ''{0}'' corpus import will be resumed or restarted.
-SourceDirectoryPage_13=The ''{0}'' corpus will be created.
-SourceDirectoryPage_14=Checking corpus name validity with '[A-Z][-A-Z0-9]+': 
-SourceDirectoryPage_2=The source directory contains the sources files read by the import module.
-SourceDirectoryPage_3=Source directory
-SourceDirectoryPage_5=click to select the corpus source directory
-SourceDirectoryPage_6=Source directory to use
-SourceDirectoryPage_8=Warning: corpus name normalization: no valid character available to build the corpus name (try to use some American English - ASCII - characters in the folder name)
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/actions/CreatePartitionDialog.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/actions/CreatePartitionDialog.java	(revision 2701)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/actions/CreatePartitionDialog.java	(revision 2702)
@@ -637,18 +637,16 @@
 		
 		String name = nameText.getText();
 		
-		
 		// Simple mode
 		if (isSimpleSelected) {
 			
-			
 			StructuralUnit structuralUnit = this.structuralUnitsFinal.get(this.structuralUnitsCombo.getSelectionIndex());
 			StructuralUnitProperty property = structuralUnit.getProperty(this.propertyCombo.getText());
 			try {
 				
 				// auto-naming if needed
 				if (name.isEmpty()) {
-					name = corpus.getName() + "_" + property.getFullName(); //$NON-NLS-1$
+					name = property.asFullNameString();
 				}
 				
 				partition = new Partition(corpus);
@@ -664,11 +662,10 @@
 			
 			// auto-naming if needed
 			if (name.isEmpty()) {
-				name = this.corpus.getName() + "_" + compositeForAssisted.getProperty().getFullName(); //$NON-NLS-1$
+				name = compositeForAssisted.getProperty().asFullNameString();
 				Log.info(TXMCoreMessages.bind(TXMUIMessages.noPartitionNameWasSpecifiedTheNameIsP0, name));
 			}
 			
-			// FIXME: SJ: getPartition() calls a compute() so the compute is done 2 times when using Assisted Mode? need to check
 			partition = this.compositeForAssisted.createPartition(name);
 		}
 		// Advanced mode
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/actions/CreateSubcorpusDialog.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/actions/CreateSubcorpusDialog.java	(revision 2701)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/actions/CreateSubcorpusDialog.java	(revision 2702)
@@ -32,6 +32,7 @@
 import org.eclipse.jface.dialogs.Dialog;
 import org.eclipse.jface.dialogs.IDialogConstants;
 import org.eclipse.jface.dialogs.MessageDialog;
+import org.eclipse.osgi.util.NLS;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
@@ -50,6 +51,7 @@
 import org.txm.rcp.swt.widget.ComplexSubcorpusPanel;
 import org.txm.rcp.swt.widget.QueryWidget;
 import org.txm.rcp.swt.widget.structures.SimpleSubcorpusPanel;
+import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
 import org.txm.searchengine.cqp.corpus.CQPCorpus;
 import org.txm.searchengine.cqp.corpus.StructuralUnit;
 import org.txm.searchengine.cqp.corpus.StructuralUnitProperty;
@@ -239,22 +241,29 @@
 	 */
 	@Override
 	protected void okPressed() {
+		
+		// auto-naming if needed
 		if (name.getText().length() == 0) {
-			String generated = "subcorpus"; //$NON-NLS-1$
+			String autoName = "subcorpus"; //$NON-NLS-1$
 			
-			Log.info(TXMUIMessages.noSubcorpusNameWasSpecifiedWeveGeneratedOne);
+			// Advanced mode
 			if (isAdvancedSelected()) {
-				generated += "" + (this.corpus.getSubcorpora().size() + 1); //$NON-NLS-1$
+				autoName += "" + (this.corpus.getSubcorpora().size() + 1); //$NON-NLS-1$
 			}
+			// Assisted mode (structure@property=1st_value)
 			else if (assistedSelected) {
-				generated = this.complexPanel.getGeneratedName();
+				autoName = this.complexPanel.getGeneratedName();
 			}
-			else { // simple
-				generated = this.corpus.getName() + "_" + getStructuralUnitProperty().getFullName(); //$NON-NLS-1$
+			// Simple mode (structure@property=1st_value)
+			else {
+				autoName = getStructuralUnitProperty().asFullNameString() + "=" + getValues().get(0); //$NON-NLS-1$
 			}
-			// return;
-			name.setText(generated);
+			
+			Log.info(NLS.bind(TXMUIMessages.noSubcorpusNameWasSpecifiedWeveGeneratedOne, autoName));
+			
+			name.setText(autoName);
 		}
+		
 		// test if a query has been set
 		if ((isAdvancedSelected()) && queryText.getText().length() == 0) {
 			MessageDialog.openError(getShell(), TXMUIMessages.invalidQuery, TXMUIMessages.queryCannotBeLeftEmpty);
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 2701)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 2702)
@@ -1075,7 +1075,13 @@
 					// the main task stays the compute of the result itself, not the parent
 					
 					if (editorInput.getResult().isDirty()) {
-						StatusLine.setMessage(editorInput.getResult().getComputingStartMessage());
+						try {
+							StatusLine.setMessage(editorInput.getResult().getComputingStartMessage());
+						}
+						catch (Exception e) {
+							// TODO Auto-generated catch block
+							e.printStackTrace();
+						}
 					}
 					
 					ComputeProgressMonitorDialog dialog = new ComputeProgressMonitorDialog(window.getShell(), editorInput.getResult());
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/ComplexSubcorpusPanel.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/ComplexSubcorpusPanel.java	(revision 2701)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/ComplexSubcorpusPanel.java	(revision 2702)
@@ -52,18 +52,19 @@
 import org.txm.searchengine.cqp.corpus.CQPCorpus;
 import org.txm.searchengine.cqp.corpus.StructuralUnit;
 import org.txm.searchengine.cqp.corpus.StructuralUnitProperty;
+
 // TODO: Auto-generated Javadoc
 /**
  * The Class ComplexSubcorpusPanel.
  */
-public class ComplexSubcorpusPanel extends Composite{
-
+public class ComplexSubcorpusPanel extends Composite {
+	
 	/** The self. */
 	ComplexSubcorpusPanel self;
 	
 	/** The struct combo. */
 	Combo structCombo;
-
+	
 	/** The corpus. */
 	CQPCorpus corpus;
 	
@@ -72,15 +73,15 @@
 	
 	/** The btn area. */
 	Composite parent, partArea, firstArea, dispoArea, btnArea;
-
+	
 	/** The structuralunits. */
-	List<StructuralUnit> structuralunits; 
+	List<StructuralUnit> structuralunits;
 	
 	/** The structural units properties. */
-	HashMap<StructuralUnit, List<StructuralUnitProperty>> structuralUnitsProperties = new HashMap<StructuralUnit, List<StructuralUnitProperty>>();
+	HashMap<StructuralUnit, List<StructuralUnitProperty>> structuralUnitsProperties = new HashMap<>();
 	
 	/** The query items. */
-	ArrayList<QueryItem> queryItems = new ArrayList<QueryItem>();
+	ArrayList<QueryItem> queryItems = new ArrayList<>();
 	
 	/** The queries panel. */
 	Composite queriesPanel;
@@ -90,7 +91,7 @@
 	
 	/** The and btn. */
 	Button andBtn;
-
+	
 	/**
 	 * Instantiates a new complex subcorpus panel.
 	 *
@@ -103,25 +104,26 @@
 		self = this;
 		this.setLayout(new GridLayout(2, false));
 		this.corpus = corpus;
-
+		
 		try {
-			this.structuralunits = new ArrayList<StructuralUnit>(corpus.getOrderedStructuralUnits());
-			for (int i = 0 ; i < this.structuralunits.size() ; i++) {
+			this.structuralunits = new ArrayList<>(corpus.getOrderedStructuralUnits());
+			for (int i = 0; i < this.structuralunits.size(); i++) {
 				if (this.structuralunits.get(i).getName().equals("txmcorpus")) { //$NON-NLS-1$
 					this.structuralunits.remove(i);
 					i--;
 				}
 			}
-		} catch (CqiClientException e) {
+		}
+		catch (CqiClientException e) {
 			org.txm.utils.logger.Log.printStackTrace(e);
 		}
-
+		
 		for (StructuralUnit su : this.structuralunits) {
-			List<StructuralUnitProperty> properties = new ArrayList<StructuralUnitProperty>(su.getOrderedProperties());
+			List<StructuralUnitProperty> properties = new ArrayList<>(su.getOrderedProperties());
 			if (su.getName().equals("text")) { //$NON-NLS-1$
-				for (int i = 0 ; i < properties.size() ; i++) {
+				for (int i = 0; i < properties.size(); i++) {
 					if (properties.get(i).getName().equals("base") || //$NON-NLS-1$
-						properties.get(i).getName().equals("project")) { //$NON-NLS-1$
+							properties.get(i).getName().equals("project")) { //$NON-NLS-1$
 						properties.remove(i);
 						i--;
 					}
@@ -129,33 +131,35 @@
 			}
 			structuralUnitsProperties.put(su, properties);
 		}
-
+		
 		Group andorGroup = new Group(this, SWT.SHADOW_ETCHED_IN);
 		andorGroup.setText(TXMUIMessages.match);
 		andorGroup.setLayout(new GridLayout(2, false));
 		andorGroup.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 2, 1));
-
+		
 		andBtn = new Button(andorGroup, SWT.RADIO);
 		andBtn.setText(TXMUIMessages.allCriteria);
 		andBtn.setSelection(true);
-
+		
 		Button orBtn = new Button(andorGroup, SWT.RADIO);
 		orBtn.setText(TXMUIMessages.someCriteria);
 		
-		//structure choice
+		// structure choice
 		Label l = new Label(this, SWT.None);
 		l.setText(TXMCoreMessages.common_structure);
 		structCombo = new Combo(this, SWT.READ_ONLY);
 		structCombo.addSelectionListener(new SelectionListener() {
+			
 			@Override
 			public void widgetSelected(SelectionEvent e) {
-				for(QueryItem item : queryItems)
+				for (QueryItem item : queryItems)
 					item.refreshProps();
 			}
+			
 			@Override
 			public void widgetDefaultSelected(SelectionEvent e) {}
 		});
-
+		
 		int i_text = 0, i = 0;
 		for (StructuralUnit su : structuralunits) {
 			structCombo.add(su.getName());
@@ -165,7 +169,7 @@
 		
 		if (structuralunits.size() > 0)
 			structCombo.select(i_text);
-
+		
 		queriesPanel = new Composite(this, SWT.NONE);
 		queriesPanel.setLayout(new GridLayout(1, false));
 		queriesPanel.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false, 2, 1));
@@ -179,10 +183,11 @@
 		l = new Label(this, SWT.NONE);
 		l.setText(TXMUIMessages.query);
 		queryField = new Text(this, SWT.BORDER);
-		queryField.setLayoutData(new GridData(GridData.FILL,GridData.FILL,true, false));
+		queryField.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 		Button refreshBtn = new Button(this, SWT.PUSH);
 		refreshBtn.setText(TXMUIMessages.common_refresh);
 		refreshBtn.addSelectionListener(new SelectionListener() {
+			
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				updateQueryField();
@@ -190,10 +195,10 @@
 			
 			@Override
 			public void widgetDefaultSelected(SelectionEvent e) {
-				
+			
 			}
 		});
-		
+			
 		// first init
 		updateQueryField();
 	}
@@ -202,7 +207,7 @@
 		queryField.setText(getQueryString());
 		queryField.update();
 	}
-
+	
 	/**
 	 * Update display.
 	 */
@@ -220,11 +225,10 @@
 	 *
 	 * @return the query string
 	 */
-	public String getQueryString()
-	{
+	public String getQueryString() {
 		String structName = this.structCombo.getText();
 		
-		String query = "/region["+structName+",a]::"; //$NON-NLS-1$ //$NON-NLS-2$
+		String query = "/region[" + structName + ",a]::"; //$NON-NLS-1$ //$NON-NLS-2$
 		int nbitem = 0;
 		for (QueryItem item : queryItems) {
 			if (nbitem != 0)
@@ -236,82 +240,80 @@
 			ISelection sel = item.valueCombo.getSelection();
 			String value = ""; //$NON-NLS-1$
 			if (sel instanceof IStructuredSelection) {
-				value = ((IStructuredSelection)sel).getFirstElement().toString();
+				value = ((IStructuredSelection) sel).getFirstElement().toString();
 			}
 			int equals = item.testCombo.getSelectionIndex();
 			
 			if (equals == 0) // is
-				query += " a."+prop+"=\""+value+"\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				query += " a." + prop + "=\"" + value + "\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 			else if (equals == 1) // is not
-				query += " a."+prop+"!=\""+value+"\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				query += " a." + prop + "!=\"" + value + "\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 			else if (equals == 2) // contains
-				query += " a."+prop+"=\".*"+value+".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				query += " a." + prop + "=\".*" + value + ".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 			else // does not contain
-				query += " a."+prop+"!=\".*"+value+".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+				query += " a." + prop + "!=\".*" + value + ".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 			
 			nbitem++;
 		}
 		
 		/*
-		String query = "["; //$NON-NLS-1$ //$NON-NLS-2$
-		int nbitem = 0;
+		 * String query = "["; //$NON-NLS-1$ //$NON-NLS-2$
+		 * int nbitem = 0;
+		 * for (QueryItem item : queryItems) {
+		 * if (nbitem != 0)
+		 * if (andBtn.getSelection())
+		 * query += " &"; //$NON-NLS-1$
+		 * else
+		 * query += " |"; //$NON-NLS-1$
+		 * String prop = item.selectedSup.getFullName();
+		 * ISelection sel = item.valueCombo.getSelection();
+		 * String value = ""; //$NON-NLS-1$
+		 * if (sel instanceof IStructuredSelection) {
+		 * value = ((IStructuredSelection)sel).getFirstElement().toString();
+		 * }
+		 * int equals = item.testCombo.getSelectionIndex();
+		 * if (equals == 0) // is
+		 * query += " a."+prop+"=\""+value+"\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		 * else if (equals == 1) // is not
+		 * query += " a."+prop+"!=\""+value+"\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		 * else if (equals == 2) // contains
+		 * query += " a."+prop+"=\".*"+value+".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		 * else // does not contain
+		 * query += " a."+prop+"!=\".*"+value+".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		 * nbitem++;
+		 * }
+		 */
 		
-		for (QueryItem item : queryItems) {
-			if (nbitem != 0)
-				if (andBtn.getSelection())
-					query += " &"; //$NON-NLS-1$
-				else
-					query += " |"; //$NON-NLS-1$
-			String prop = item.selectedSup.getFullName();
-			ISelection sel = item.valueCombo.getSelection();
-			String value = ""; //$NON-NLS-1$
-			if (sel instanceof IStructuredSelection) {
-				value = ((IStructuredSelection)sel).getFirstElement().toString();
-			}
-			int equals = item.testCombo.getSelectionIndex();
-			
-			if (equals == 0) // is
-				query += " a."+prop+"=\""+value+"\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			else if (equals == 1) // is not
-				query += " a."+prop+"!=\""+value+"\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			else if (equals == 2) // contains
-				query += " a."+prop+"=\".*"+value+".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			else // does not contain
-				query += " a."+prop+"!=\".*"+value+".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			
-			nbitem++;
-		}
-		*/
-		
-		/** // 
-		for (QueryItem item : queryItems) {
-			if (nbitem != 0) { // adding a constraint
-				if (andBtn.getSelection())
-					query += " &"; //$NON-NLS-1$
-				else
-					query += " |"; //$NON-NLS-1$
-			}
-			String prop = item.selectedSup.getFullName();
-			ISelection sel = item.valueCombo.getSelection();
-			String value = ""; //$NON-NLS-1$
-			if (sel instanceof IStructuredSelection) {
-				value = ((IStructuredSelection)sel).getFirstElement().toString();
-			}
-			int equals = item.testCombo.getSelectionIndex();
-			
-			if (equals == 0) // is
-				query += " _."+prop+"=\""+value+"\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			else if (equals == 1) // is not
-				query += " _."+prop+"!=\""+value+"\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			else if (equals == 2) // contains
-				query += " _."+prop+"=\".*"+value+".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			else // does not contain
-				query += " _."+prop+"!=\".*"+value+".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			
-			nbitem++;
-		}
-		query += "] expand to "+structName;
-		*/
+		/**
+		 * //
+		 * for (QueryItem item : queryItems) {
+		 * if (nbitem != 0) { // adding a constraint
+		 * if (andBtn.getSelection())
+		 * query += " &"; //$NON-NLS-1$
+		 * else
+		 * query += " |"; //$NON-NLS-1$
+		 * }
+		 * String prop = item.selectedSup.getFullName();
+		 * ISelection sel = item.valueCombo.getSelection();
+		 * String value = ""; //$NON-NLS-1$
+		 * if (sel instanceof IStructuredSelection) {
+		 * value = ((IStructuredSelection)sel).getFirstElement().toString();
+		 * }
+		 * int equals = item.testCombo.getSelectionIndex();
+		 * 
+		 * if (equals == 0) // is
+		 * query += " _."+prop+"=\""+value+"\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		 * else if (equals == 1) // is not
+		 * query += " _."+prop+"!=\""+value+"\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		 * else if (equals == 2) // contains
+		 * query += " _."+prop+"=\".*"+value+".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		 * else // does not contain
+		 * query += " _."+prop+"!=\".*"+value+".*\""; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		 * 
+		 * nbitem++;
+		 * }
+		 * query += "] expand to "+structName;
+		 */
 		return query;
 	}
 	
@@ -322,11 +324,14 @@
 		}
 		return query;
 	}
-
+	
 	public String getGeneratedName() {
-		String generated = this.corpus.getName(); 
-		for (QueryItem item : queryItems)
-			generated += "_"+item.selectedSup.getName(); //$NON-NLS-1$
+		String generated = ""; //$NON-NLS-1$
+		if (this.queryItems.size() > 0) {
+			QueryItem queryItem = this.queryItems.get(0);
+			generated += queryItem.selectedSup.asFullNameString() + "=" + queryItem.valueCombo.getList().getSelection()[0];
+			
+		}
 		return generated;
 	}
 	
@@ -334,7 +339,7 @@
 	 * The Class QueryItem.
 	 */
 	class QueryItem extends Composite {
-
+		
 		/** The prop combo. */
 		Combo propCombo;
 		
@@ -343,7 +348,7 @@
 		
 		/** The value combo. */
 		ListViewer valueCombo;
-
+		
 		/** The sups. */
 		List<StructuralUnitProperty> sups;
 		
@@ -352,7 +357,7 @@
 		
 		/** The selected su. */
 		StructuralUnit selectedSu;
-
+		
 		/**
 		 * Instantiates a new query item.
 		 *
@@ -361,19 +366,21 @@
 		 */
 		public QueryItem(Composite parent, int style) {
 			super(parent, style);
-
+			
 			this.setLayout(new GridLayout(5, false));
 			propCombo = new Combo(this, SWT.READ_ONLY);
 			propCombo.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 			propCombo.addSelectionListener(new SelectionListener() {
+				
 				@Override
 				public void widgetSelected(SelectionEvent e) {
 					refreshValues();
 				}
+				
 				@Override
 				public void widgetDefaultSelected(SelectionEvent e) {}
 			});
-
+			
 			testCombo = new Combo(this, SWT.READ_ONLY);
 			testCombo.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 			testCombo.add("is"); //$NON-NLS-1$
@@ -381,35 +388,38 @@
 			testCombo.add(TXMUIMessages.contains);
 			testCombo.add(TXMUIMessages.doesNotContain);
 			testCombo.select(0);
-
+			
 			valueCombo = new ListViewer(this, SWT.SINGLE | SWT.V_SCROLL | SWT.BORDER | SWT.VIRTUAL);
 			valueCombo.setContentProvider(new ArrayContentProvider());
-			GridData data = new GridData(GridData.FILL,GridData.FILL, true, false);
+			GridData data = new GridData(GridData.FILL, GridData.FILL, true, false);
 			data.heightHint = testCombo.getItemHeight();
 			valueCombo.getList().setLayoutData(data);
 			if (structuralunits.size() > 0) {
 				refreshProps();
 			}
-
-			Button btnAdd  = new Button(this, SWT.PUSH);
+			
+			Button btnAdd = new Button(this, SWT.PUSH);
 			btnAdd.setText("+"); //$NON-NLS-1$
 			btnAdd.addSelectionListener(new SelectionListener() {
+				
 				@Override
 				public void widgetSelected(SelectionEvent e) {
-					//System.out.println("add constraint");
+					// System.out.println("add constraint");
 					QueryItem item = new QueryItem(queriesPanel, SWT.NONE);
 					item.setLayoutData(new GridData(GridData.FILL, GridData.FILL, true, false));
 					queryItems.add(item);
 					ComplexSubcorpusPanel.this.layout();
-					//System.out.println(getQueryString());
+					// System.out.println(getQueryString());
 				}
+				
 				@Override
 				public void widgetDefaultSelected(SelectionEvent e) {}
 			});
-
-			Button btnRmv  = new Button(this, SWT.PUSH);
+			
+			Button btnRmv = new Button(this, SWT.PUSH);
 			btnRmv.setText("-"); //$NON-NLS-1$
 			btnRmv.addSelectionListener(new SelectionListener() {
+				
 				@Override
 				public void widgetSelected(SelectionEvent e) {
 					if (queryItems.size() > 1) {
@@ -418,11 +428,12 @@
 						ComplexSubcorpusPanel.this.layout();
 					}
 				}
+				
 				@Override
 				public void widgetDefaultSelected(SelectionEvent e) {}
 			});
 		}
-
+		
 		/**
 		 * Refresh props.
 		 */
@@ -430,32 +441,33 @@
 			propCombo.removeAll();
 			selectedSu = structuralunits.get(structCombo.getSelectionIndex());
 			sups = structuralUnitsProperties.get(selectedSu);
-
+			
 			for (StructuralUnitProperty sup : sups)
 				propCombo.add(sup.getName());
-
+			
 			if (sups.size() > 0) {
 				selectedSup = sups.get(0);
 				propCombo.select(0);
 				refreshValues();
 			}
 		}
-
+		
 		/**
 		 * Refresh values.
 		 */
 		private void refreshValues() {
 			
-			selectedSup = sups.get(propCombo.getSelectionIndex()); 
+			selectedSup = sups.get(propCombo.getSelectionIndex());
 			try {
 				valueCombo.setInput(selectedSup.getOrderedValues());
-			} catch (CqiClientException e1) {
+			}
+			catch (CqiClientException e1) {
 				org.txm.utils.logger.Log.printStackTrace(e1);
 			}
 			if (valueCombo.getList().getItemCount() > 0)
 				valueCombo.getList().select(0);
 		}
-
+		
 		/**
 		 * Gets the structural unit.
 		 *
@@ -465,4 +477,4 @@
 			return null;
 		}
 	}
-}
\ No newline at end of file
+}
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/ComputeProgressMonitorDialog.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/ComputeProgressMonitorDialog.java	(revision 2701)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/ComputeProgressMonitorDialog.java	(revision 2702)
@@ -65,8 +65,20 @@
 	@Override
 	protected void configureShell(final Shell shell) {
 		super.configureShell(shell);
-		// set window title to result start computing message
-		shell.setText(this.result.getComputingStartMessage());
+		try {
+			// set window title to result start computing message
+			try {
+				shell.setText(this.result.getComputingStartMessage());
+			}
+			catch (Exception e) {
+				// TODO Auto-generated catch block
+				e.printStackTrace();
+			}
+		}
+		catch (Exception e) {
+			// TODO Auto-generated catch block
+			e.printStackTrace();
+		}
 	}
 	
 	/**
Index: tmp/org.txm.index.core/src/org/txm/index/core/functions/Index.java
===================================================================
--- tmp/org.txm.index.core/src/org/txm/index/core/functions/Index.java	(revision 2701)
+++ tmp/org.txm.index.core/src/org/txm/index/core/functions/Index.java	(revision 2702)
@@ -639,16 +639,6 @@
 		}
 	}
 	
-	@Override
-	public String getName() {
-		try {
-			return IndexCoreMessages.RESULT_TYPE + ": " + this.getSimpleName();
-		}
-		catch (Exception e) {
-			return this.getEmptyName();
-		}
-	}
-	
 	/**
 	 * Gets the number of lines per page.
 	 * 
@@ -685,30 +675,38 @@
 		return pQuery;
 	}
 	
+	
 	@Override
 	public String getSimpleName() {
-		String name = ""; //$NON-NLS-1$
-		if (pQuery != null && !pQuery.isEmpty()) {
-			name += pQuery.getQueryString();
-			name += ": "; //$NON-NLS-1$
-			
-			for (Property s : pProperties) {
-				name += s.getName() + pPropertiesSeparator;
-			}
-			if (pProperties.size() > 0) {
-				name = name.substring(0, name.length() - 1);
-			}
-			return name;
+		String name = "";
+		if (this.pQuery != null && !this.pQuery.isEmpty() && this.pProperties != null && this.pProperties.size() > 0 && this.pProperties.get(0) != null) {
+			name += this.pQuery.asString();
+			name += WordProperty.asString(this.pProperties);
+			name += TXMCoreMessages.formatMinFilter(this.pFminFilter);
+			name += TXMCoreMessages.formatMaxFilter(this.pFmaxFilter);
+			name += TXMCoreMessages.formatVMaxFilter(this.pVmaxFilter);
 		}
 		else {
+			name = this.getEmptyName();
+		}
+		return name;
+	}
+	
+	
+	@Override
+	public String getName() {
+		try {
+			return this.getParent().getName() + TXMPreferences.PARENT_NAME_SEPARATOR + this.getSimpleName();
+		}
+		catch (NullPointerException e) {
 			return this.getEmptyName();
 		}
 	}
 	
+	
 	@Override
 	public String getComputingStartMessage() {
-		return TXMCoreMessages.bind(IndexCoreMessages.indexOfP0PropertiesP1InTheP2Corpus, this.pQuery, WordProperty.propertiesToString(this.pProperties).replaceAll(TXMPreferences.LIST_SEPARATOR,
-				", "), this.getCorpus().getName()); //$NON-NLS-1$
+		return TXMCoreMessages.bind(IndexCoreMessages.indexOfP0PropertiesP1InTheP2Corpus, this.pQuery.asString(), WordProperty.asString(this.pProperties), this.getCorpus().getName());
 	}
 	
 	
@@ -718,7 +716,7 @@
 			return TXMCoreMessages.common_noResults;
 		}
 		else {
-			return TXMCoreMessages.bind(TXMCoreMessages.common_P0ItemsForP1Occurrences, this.lines.size(), this.nTotalTokens);
+			return TXMCoreMessages.bind(TXMCoreMessages.common_P0ItemsForP1Occurrences, TXMCoreMessages.formatNumber(this.lines.size()), TXMCoreMessages.formatNumber(this.nTotalTokens));
 		}
 	}
 	
Index: tmp/org.txm.index.core/src/org/txm/index/core/functions/Lexicon.java
===================================================================
--- tmp/org.txm.index.core/src/org/txm/index/core/functions/Lexicon.java	(revision 2701)
+++ tmp/org.txm.index.core/src/org/txm/index/core/functions/Lexicon.java	(revision 2702)
@@ -136,28 +136,26 @@
 	
 	@Override
 	public String getComputingStartMessage() {
-		return TXMCoreMessages.bind(IndexCoreMessages.lexiconOfP0InTheP1Corpus, WordProperty.propertiesToString(this.pProperties), this.getCorpus().getName());
+		return TXMCoreMessages.bind(IndexCoreMessages.lexiconOfP0InTheP1Corpus, WordProperty.asString(this.pProperties), this.getCorpus().getName());
 	}
 	
 	
 	@Override
-	public String getName() {
-		try {
-			return this.getParent().getSimpleName() + ": " + this.getSimpleName();
-		}
-		catch (NullPointerException e) {
-			return this.getEmptyName();
-		}
-	}
-	
-	@Override
 	public String getSimpleName() {
-		if (pProperties != null && pProperties.size() > 0 && pProperties.get(0) != null) {
-			return pProperties.get(0).getName();
+		String name = "";
+		if (this.pProperties != null && this.pProperties.size() > 0 && this.pProperties.get(0) != null) {
+			name += WordProperty.asString(this.pProperties);
+			name += TXMCoreMessages.formatMinFilter(this.pFminFilter);
+			name += TXMCoreMessages.formatMaxFilter(this.pFmaxFilter);
+			name += TXMCoreMessages.formatVMaxFilter(this.pVmaxFilter);
 		}
 		else {
-			return getParent().getSimpleName();
+			name = this.getParent().getSimpleName();
 		}
+		return name;
 	}
 	
 }
+
+
+
Index: tmp/org.txm.index.core/src/org/txm/index/core/functions/PartitionIndex.java
===================================================================
--- tmp/org.txm.index.core/src/org/txm/index/core/functions/PartitionIndex.java	(revision 2701)
+++ tmp/org.txm.index.core/src/org/txm/index/core/functions/PartitionIndex.java	(revision 2702)
@@ -90,11 +90,6 @@
 		return (Partition) parent;
 	}
 	
-	@Override
-	public String getComputingStartMessage() {
-		return TXMCoreMessages.bind(IndexCoreMessages.indexOfP0PropertiesP1OnP2Partition, this.pQuery, WordProperty.propertiesToString(this.pProperties).replaceAll(TXMPreferences.LIST_SEPARATOR,
-				", "), this.getPartition().getSimpleName()); //$NON-NLS-1$
-	}
 	
 	@Override
 	protected boolean _compute(TXMProgressMonitor monitor) throws Exception {
@@ -191,7 +186,17 @@
 		return null;
 	}
 	
+	/**
+	 * Gets the part names.
+	 *
+	 * @return the part names
+	 */
+	public List<String> getPartNames() {
+		return this.getPartition().getPartNames();
+	}
 	
+	
+	
 	/**
 	 * Equals.
 	 *
@@ -232,6 +237,13 @@
 	}
 	
 	
+	
+	@Override
+	public String getComputingStartMessage() {
+		return TXMCoreMessages.bind(IndexCoreMessages.indexOfP0PropertiesP1OnP2Partition, this.pQuery.asString(), WordProperty.asString(this.pProperties), this.getPartition().getName());
+	}
+	
+	
 	/**
 	 * update the lines counts.
 	 */
@@ -253,18 +265,6 @@
 	}
 	
 	
-	
-	
-	@Override
-	public String getName() {
-		try {
-			return IndexCoreMessages.PARTITION_RESULT_TYPE + ": " + this.parent.getSimpleName() + ": " + this.getSimpleName();
-		}
-		catch (Exception e) {
-			return this.getEmptyName();
-		}
-	}
-	
 	/**
 	 * Gets the number of lines per page.
 	 * 
@@ -292,39 +292,8 @@
 	
 	
 	
-	/**
-	 * Gets the part names.
-	 *
-	 * @return the part names
-	 */
-	public List<String> getPartNames() {
-		return this.getPartition().getPartNames();
-	}
 	
 	
-	
-	@Override
-	public String getSimpleName() {
-		String name = ""; //$NON-NLS-1$
-		if (pQuery != null && !pQuery.isEmpty()) {
-			name += pQuery.getQueryString();
-			name += ": "; //$NON-NLS-1$
-			
-			for (Property s : pProperties) {
-				name += s.getName() + pPropertiesSeparator;
-			}
-			if (pProperties.size() > 0) {
-				name = name.substring(0, name.length() - 1);
-			}
-			return name;
-		}
-		else {
-			return this.getEmptyName();
-		}
-	}
-	
-	
-	
 	/**
 	 * Tell if the index has been computed with a partition or not.
 	 *
Index: tmp/org.txm.index.core/src/org/txm/index/core/messages/messages_fr.properties
===================================================================
--- tmp/org.txm.index.core/src/org/txm/index/core/messages/messages_fr.properties	(revision 2701)
+++ tmp/org.txm.index.core/src/org/txm/index/core/messages/messages_fr.properties	(revision 2702)
@@ -18,12 +18,12 @@
 
 indexColonPartitionP0queryP1propertiesP2FminP3FmaxP4 = Index:\n\	Partition {0}\n\	Requête {1}\n\	Propriétés {2}\n\	Fmin {3}\n\	Fmax {4}
 
-indexOfP0PropertiesP1InTheP2Corpus = Index de <{0}>, propriété(s) [{1}], dans le corpus {2}...
+indexOfP0PropertiesP1InTheP2Corpus = Index de {0}, propriété {1}, dans le corpus {2}...
 
-indexOfP0PropertiesP1OnP2Partition = Index de <{0}>, propriété(s) [{1}], de la partition {2}...
+indexOfP0PropertiesP1OnP2Partition = Index de {0}, propriété {1}, de la partition {2}...
 
 lexicon = Lexique
 
 lexiconColonP0 = Lexique : {0}
 
-lexiconOfP0InTheP1Corpus = Lexique de la propriété [{0}] dans le corpus {1}...
+lexiconOfP0InTheP1Corpus = Lexique de la propriété {0} dans le corpus {1}...
Index: tmp/org.txm.index.core/src/org/txm/index/core/messages/messages.properties
===================================================================
--- tmp/org.txm.index.core/src/org/txm/index/core/messages/messages.properties	(revision 2701)
+++ tmp/org.txm.index.core/src/org/txm/index/core/messages/messages.properties	(revision 2702)
@@ -18,12 +18,12 @@
 
 indexColonPartitionP0queryP1propertiesP2FminP3FmaxP4 = Index:\n\	Partition {0}\n\	Query {1}\n\	Properties {2}\n\	Fmin {3}\n\	Fmax {4}
 
-indexOfP0PropertiesP1InTheP2Corpus = Index of <{0}>, properties [{1}], in the {2} corpus...
+indexOfP0PropertiesP1InTheP2Corpus = Index of {0}, property {1}, in {2} corpus...
 
-indexOfP0PropertiesP1OnP2Partition = Index of <{0}>, properties [{1}], on {2} partition...
+indexOfP0PropertiesP1OnP2Partition = Index of {0}, property {1}, on {2} partition...
 
 lexicon = Lexicon
 
 lexiconColonP0 = Lexicon: {0}
 
-lexiconOfP0InTheP1Corpus = Lexicon of property [{0}] in the {1} corpus...
+lexiconOfP0InTheP1Corpus = Lexicon of {0} property in {1} corpus...
Index: tmp/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/handlers/base/ComputePartition.java
===================================================================
--- tmp/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/handlers/base/ComputePartition.java	(revision 2701)
+++ tmp/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/handlers/base/ComputePartition.java	(revision 2702)
@@ -81,7 +81,7 @@
 	public Object execute(ExecutionEvent event) throws ExecutionException {
 		
 		// FIXME: SJ: tests of MD for using a TXMEditor rather than a dialog box to manage partitions creation and edition
-		if (PartitionPreferences.getInstance().getBoolean(PartitionPreferences.EDITORMODE)) {
+		if (PartitionPreferences.getInstance().getBoolean(PartitionPreferences.EDITOR_MODE)) {
 			return execute_editor(event);
 		}
 		// original code that uses a dialog box
@@ -188,7 +188,7 @@
 								}
 							}
 							if (emptyParts.size() == partition.getPartsCount()) {
-								Log.warning(NLS.bind("Error: all parts {0} are all empty.", partition.getPartsCount()));
+								Log.warning(NLS.bind("Error: all parts are empty.", partition.getPartsCount()));
 								return Status.CANCEL_STATUS;
 							}
 							else if (emptyParts.size() != 0) {
Index: tmp/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/preferences/PartitionPreferencePage.java
===================================================================
--- tmp/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/preferences/PartitionPreferencePage.java	(revision 2701)
+++ tmp/org.txm.searchengine.cqp.rcp/src/org/txm/searchengine/cqp/rcp/preferences/PartitionPreferencePage.java	(revision 2702)
@@ -71,7 +71,7 @@
 	@Override
 	public void createFieldEditors() {
 
-		editor_mode = new BooleanFieldEditor(PartitionPreferences.EDITORMODE, "Create partitions using the editor mode", BooleanFieldEditor.DEFAULT, getFieldEditorParent());
+		editor_mode = new BooleanFieldEditor(PartitionPreferences.EDITOR_MODE, "Create partitions using the editor mode", BooleanFieldEditor.DEFAULT, getFieldEditorParent());
 		addField(editor_mode);
 	}
 
Index: tmp/org.txm.referencer.core/src/org/txm/referencer/core/messages/messages.properties
===================================================================
--- tmp/org.txm.referencer.core/src/org/txm/referencer/core/messages/messages.properties	(revision 2701)
+++ tmp/org.txm.referencer.core/src/org/txm/referencer/core/messages/messages.properties	(revision 2702)
@@ -1,4 +1,4 @@
-#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
+#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
 #TXM messages generated by the PluginMessagesManager class
 #Tue Dec 18 10:24:08 CET 2018
 
@@ -6,4 +6,4 @@
 
 referencerExportFailedColon = Referencer export failed: {0}.
 
-referencesOfP0InTheP1Corpus = References of <{0}> in the {1} corpus...
+referencesOfP0InTheP1Corpus = References of {0} in {1} corpus...
Index: tmp/org.txm.referencer.core/src/org/txm/referencer/core/messages/messages_fr.properties
===================================================================
--- tmp/org.txm.referencer.core/src/org/txm/referencer/core/messages/messages_fr.properties	(revision 2701)
+++ tmp/org.txm.referencer.core/src/org/txm/referencer/core/messages/messages_fr.properties	(revision 2702)
@@ -1,4 +1,4 @@
-#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
+#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
 #TXM messages generated by the PluginMessagesManager class
 #Tue Dec 18 10:24:08 CET 2018
 
@@ -6,4 +6,4 @@
 
 referencerExportFailedColon = L''export des Références a échoué : {0}.
 
-referencesOfP0InTheP1Corpus = Références de <{0}> dans le corpus {1}...
+referencesOfP0InTheP1Corpus = Références de {0} dans le corpus {1}...
Index: tmp/org.txm.referencer.core/src/org/txm/referencer/core/functions/Referencer.java
===================================================================
--- tmp/org.txm.referencer.core/src/org/txm/referencer/core/functions/Referencer.java	(revision 2701)
+++ tmp/org.txm.referencer.core/src/org/txm/referencer/core/functions/Referencer.java	(revision 2702)
@@ -57,6 +57,7 @@
 import java.util.Map;
 
 import org.txm.core.messages.TXMCoreMessages;
+import org.txm.core.preferences.TXMPreferences;
 import org.txm.core.results.Parameter;
 import org.txm.core.results.TXMParameters;
 import org.txm.core.results.TXMResult;
@@ -69,6 +70,7 @@
 import org.txm.searchengine.cqp.corpus.Property;
 import org.txm.searchengine.cqp.corpus.QueryResult;
 import org.txm.searchengine.cqp.corpus.StructuralUnitProperty;
+import org.txm.searchengine.cqp.corpus.WordProperty;
 import org.txm.searchengine.cqp.corpus.query.Match;
 import org.txm.searchengine.cqp.corpus.query.CQLQuery;
 import org.txm.searchengine.cqp.serverException.CqiServerError;
@@ -348,7 +350,7 @@
 	@Override
 	public String getName() {
 		try {
-			return getCorpus().getName() + ": " + this.getSimpleName(); //$NON-NLS-1$
+			return getCorpus().getName() + TXMPreferences.PARENT_NAME_SEPARATOR + this.getSimpleName();
 		}
 		catch (Exception e) {
 			return this.getEmptyName();
@@ -358,10 +360,10 @@
 	
 	@Override
 	public String getSimpleName() {
-		try {
-			return this.pQuery.toString();
+		if (this.pQuery != null && !this.pQuery.isEmpty()) {
+			return this.pQuery.asString() + ", " + StructuralUnitProperty.asFullNameString(this.pPattern);
 		}
-		catch (Exception e) {
+		else {
 			return this.getEmptyName();
 		}
 	}
@@ -369,7 +371,7 @@
 	
 	@Override
 	public String getComputingStartMessage() {
-		return TXMCoreMessages.bind(ReferencerCoreMessages.referencesOfP0InTheP1Corpus, this.pQuery, this.getCorpus().getName());
+		return TXMCoreMessages.bind(ReferencerCoreMessages.referencesOfP0InTheP1Corpus, this.pQuery.asString(), this.getCorpus().getName());
 	}
 	
 	
@@ -379,7 +381,7 @@
 			return TXMCoreMessages.common_noResults;
 		}
 		else {
-			return TXMCoreMessages.bind(TXMCoreMessages.common_P0ItemsForP1Occurrences, this.getNLines(), this.getV());
+			return TXMCoreMessages.bind(TXMCoreMessages.common_P0ItemsForP1Occurrences, TXMCoreMessages.formatNumber(this.getNLines()), TXMCoreMessages.formatNumber(this.getV()));
 		}
 	}
 	
@@ -577,9 +579,7 @@
 	
 	@Override
 	public boolean loadParameters() throws CqiClientException {
-		if (!this.getStringParameterValue(ReferencerPreferences.QUERY).isEmpty()) {
-			this.pQuery = new CQLQuery(this.getStringParameterValue(ReferencerPreferences.QUERY));
-		}
+		this.pQuery = new CQLQuery(this.getStringParameterValue(ReferencerPreferences.QUERY));
 		this.pPattern = StructuralUnitProperty.stringToProperties(this.getCorpus(), this.getStringParameterValue(ReferencerPreferences.PATTERN));
 		this.pProperty = this.getCorpus().getProperty(this.getStringParameterValue(ReferencerPreferences.UNIT_PROPERTY));
 		return true;
Index: tmp/org.txm.cooccurrence.core/src/org/txm/cooccurrence/core/messages/messages_fr.properties
===================================================================
--- tmp/org.txm.cooccurrence.core/src/org/txm/cooccurrence/core/messages/messages_fr.properties	(revision 2701)
+++ tmp/org.txm.cooccurrence.core/src/org/txm/cooccurrence/core/messages/messages_fr.properties	(revision 2702)
@@ -2,13 +2,13 @@
 #TXM messages generated by the PluginMessagesManager class
 #Tue Dec 18 10:24:08 CET 2018
 
-P0CooccurentsForP1Occurrences = {0} cooccurrent(s) pour {1} occurrence(s) du pivot.
+P0CooccurentsForP1Occurrences = {0} cooccurrents pour {1} occurrences du pivot.
 
 RESULT_TYPE = Cooccurrence
 
 coFreq = CoFréq
 
-cooccurrentsOfP0PropertieP1InTheP2Corpus = Cooccurrents de <{0}>, propriété(s) [{1}], dans le corpus {2}...
+cooccurrentsOfP0PropertieP1InTheP2Corpus = Cooccurrents de {0}, propriété {1} {2} {3}, ≥{4} ≥{5} ≥{6}, dans le corpus {7}...
 
 errorColonNegativeArgumentInFactlnFunction = ** Erreur : argument négatif dans la fonction 'factln'
 
Index: tmp/org.txm.cooccurrence.core/src/org/txm/cooccurrence/core/messages/messages.properties
===================================================================
--- tmp/org.txm.cooccurrence.core/src/org/txm/cooccurrence/core/messages/messages.properties	(revision 2701)
+++ tmp/org.txm.cooccurrence.core/src/org/txm/cooccurrence/core/messages/messages.properties	(revision 2702)
@@ -2,13 +2,13 @@
 #TXM messages generated by the PluginMessagesManager class
 #Tue Dec 18 10:24:08 CET 2018
 
-P0CooccurentsForP1Occurrences = {0} cooccurrent(s) for {1} occurrence(s) of the pivot.
+P0CooccurentsForP1Occurrences = {0} cooccurrents for {1} occurrences of the pivot.
 
 RESULT_TYPE = Cooccurrence
 
 coFreq = CoFreq
 
-cooccurrentsOfP0PropertieP1InTheP2Corpus = Cooccurrents of <{0}>, properties [{1}], in the {2} corpus...
+cooccurrentsOfP0PropertieP1InTheP2Corpus = Cooccurrents of {0}, property {1} {2} {3}, ≥{4} ≥{5} ≥{6}, in {7} corpus...
 
 errorColonNegativeArgumentInFactlnFunction = ** Error: negative argument in 'factln' function
 
Index: tmp/org.txm.cooccurrence.core/src/org/txm/cooccurrence/core/functions/Cooccurrence.java
===================================================================
--- tmp/org.txm.cooccurrence.core/src/org/txm/cooccurrence/core/functions/Cooccurrence.java	(revision 2701)
+++ tmp/org.txm.cooccurrence.core/src/org/txm/cooccurrence/core/functions/Cooccurrence.java	(revision 2702)
@@ -508,6 +508,64 @@
 		return NLS.bind(CooccurrenceCoreMessages.info_details, params);
 	}
 	
+	@Override
+	public String getName() {
+		try {
+			return this.getParent().getName() + TXMPreferences.PARENT_NAME_SEPARATOR + this.getSimpleName();
+		}
+		catch (Exception e) {
+			return this.getSimpleName();
+		}
+	}
+	
+	
+	@Override
+	public String getSimpleName() {
+		if (this.pQuery != null && !this.pQuery.isEmpty()) {
+			StringBuffer output = new StringBuffer();
+			output.append(this.pQuery.asString());
+			output.append(WordProperty.asString(this.pProperties));
+			
+			if (this.pMaxLeftContextSize > 0 && this.pMaxRightContextSize > 0) {
+				output.append(" " + (this.pMaxLeftContextSize - 1) + " " + (this.pMaxRightContextSize - 1)); //$NON-NLS-1$ //$NON-NLS-2$
+			}
+			output.append(TXMCoreMessages.formatMinFilter(this.pFminFilter));
+			output.append(TXMCoreMessages.formatMinFilter(this.pFCoocFilter));
+			output.append(TXMCoreMessages.formatMinFilter(this.pScoreMinFilter));
+			
+			// TODO: SJ: improve the hiding or display of value according to the default preferences values
+			// output.append(TXMCoreMessages.formatMinFilter(this.pFminFilter, CooccurrencePreferences.getInstance().getInt(CooccurrencePreferences.F_MIN) + 1));
+			// output.append(TXMCoreMessages.formatMinFilter(this.pFCoocFilter, CooccurrencePreferences.getInstance().getInt(CooccurrencePreferences.MIN_COUNT) + 1));
+			// output.append(TXMCoreMessages.formatMinFilter(this.pScoreMinFilter, CooccurrencePreferences.getInstance().getDouble(CooccurrencePreferences.MIN_SCORE) + 1));
+			
+			
+			return output.toString();
+		}
+		else {
+			return this.getEmptyName();
+		}
+	}
+	
+	
+	@Override
+	public String getComputingStartMessage() {
+		return TXMCoreMessages.bind(CooccurrenceCoreMessages.cooccurrentsOfP0PropertieP1InTheP2Corpus, this.pQuery.asString(), WordProperty.asString(this.pProperties),
+				(this.pMaxLeftContextSize - 1), (this.pMaxRightContextSize - 1), this.pFminFilter, this.pFCoocFilter, this.pScoreMinFilter, this.getCorpus().getName());
+	}
+	
+	
+	@Override
+	public String getComputingDoneMessage() {
+		if (this.lines.isEmpty()) {
+			return TXMCoreMessages.common_noResults;
+		}
+		else {
+			return TXMCoreMessages.bind(CooccurrenceCoreMessages.P0CooccurentsForP1Occurrences, TXMCoreMessages.formatNumber(this.lines.size()), TXMCoreMessages.formatNumber(this.numberOfKeyword));
+		}
+	}
+	
+	
+	
 	/**
 	 * Gets the fA.
 	 *
@@ -566,16 +624,6 @@
 		return pMinRightContextSize;
 	}
 	
-	@Override
-	public String getName() {
-		if (this.getParent() != null) {
-			return this.getParent().getSimpleName() + ": " + this.getSimpleName(); //$NON-NLS-1$
-		}
-		else {
-			return this.getSimpleName();
-		}
-	}
-	
 	/**
 	 * Gets the lines.
 	 *
@@ -639,40 +687,7 @@
 		return pQuery;
 	}
 	
-	@Override
-	public String getSimpleName() {
-		if (pQuery != null && !pQuery.isEmpty()) {
-			StringBuffer output = new StringBuffer();
-			output.append(pQuery.getQueryString());
-			if (pMaxLeftContextSize > 0 && pMaxRightContextSize > 0) {
-				output.append(" (" + (pMaxLeftContextSize - 1) + ", " + (pMaxRightContextSize - 1) + ")"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
-			}
-			return output.toString();
-		}
-		else {
-			return this.getEmptyName();
-		}
-	}
 	
-	
-	@Override
-	public String getComputingStartMessage() {
-		return TXMCoreMessages.bind(CooccurrenceCoreMessages.cooccurrentsOfP0PropertieP1InTheP2Corpus, this.pQuery, WordProperty.propertiesToString(this.pProperties).replaceAll(
-				TXMPreferences.LIST_SEPARATOR, ", "), this.getCorpus().getName()); //$NON-NLS-1$
-	}
-	
-	
-	@Override
-	public String getComputingDoneMessage() {
-		if (this.lines.isEmpty()) {
-			return TXMCoreMessages.common_noResults;
-		}
-		else {
-			return TXMCoreMessages.bind(CooccurrenceCoreMessages.P0CooccurentsForP1Occurrences, this.lines.size(), this.numberOfKeyword);
-		}
-	}
-	
-	
 	/**
 	 * Gets the structural unit limit.
 	 *
Index: tmp/org.txm.specificities.core/src/org/txm/specificities/core/messages/messages.properties
===================================================================
--- tmp/org.txm.specificities.core/src/org/txm/specificities/core/messages/messages.properties	(revision 2701)
+++ tmp/org.txm.specificities.core/src/org/txm/specificities/core/messages/messages.properties	(revision 2702)
@@ -12,12 +12,13 @@
 
 failedToGetTheSpecificitesColon = ** Failed to access specificities in R: {0}.
 
-info_specificitiesBarChartForTheP0LexcialTable             = Specificities bar chart for the {0} lexical table...
-info_specificitiesBarChartForTheP0PartitionCommaP1Property = Specificities bar chart for the {0} partition, [{1}] property...
-info_specificitiesBarChartForTheP0Subcorpus                = Specificities bar chart for the {0} subcorpus...
-info_specificitiesOfTheP0Corpus                            = Specificities of the {0} corpus...
+info_specificitiesBarChartForTheP0LexcialTable             = Bar chart of the specificities of the {0} lexical table...
+info_specificitiesBarChartForTheP0PartitionCommaP1Property = Bar chart of the specificities of the {0} partition, {1} property...
+info_specificitiesBarChartForTheP0Subcorpus                = Bar chart of the specificities of the {0} sub-corpus...
+info_specificitiesOfTheP0Corpus                            = Specificities of {0} sub-corpus...
 info_specificitiesOfTheP0LexcialTable                      = Specificities of the {0} lexical table...
-info_specificitiesOfTheP0PartitionCommaP1Property          = Specificities of the {0} partition, [{1}] property...
+info_specificitiesOfTheP0PartitionCommaP1Property          = Specificities of the {0} partition, {1} property...
+info_specificitiesOfTheP0PartitionIndex                    = Specificities of the {0} partition index...
 
 noSpecificitiesIndexArray = ** No specificities index table.
 
Index: tmp/org.txm.specificities.core/src/org/txm/specificities/core/messages/SpecificitiesCoreMessages.java
===================================================================
--- tmp/org.txm.specificities.core/src/org/txm/specificities/core/messages/SpecificitiesCoreMessages.java	(revision 2701)
+++ tmp/org.txm.specificities.core/src/org/txm/specificities/core/messages/SpecificitiesCoreMessages.java	(revision 2702)
@@ -28,7 +28,10 @@
 	
 	public static String info_specificitiesOfTheP0Corpus;
 	
+	public static String info_specificitiesOfTheP0PartitionIndex;
 	
+	
+	
 	public static String info_specificitiesBarChartForTheP0PartitionCommaP1Property;
 	
 	public static String info_specificitiesBarChartForTheP0LexcialTable;
Index: tmp/org.txm.specificities.core/src/org/txm/specificities/core/messages/messages_fr.properties
===================================================================
--- tmp/org.txm.specificities.core/src/org/txm/specificities/core/messages/messages_fr.properties	(revision 2701)
+++ tmp/org.txm.specificities.core/src/org/txm/specificities/core/messages/messages_fr.properties	(revision 2702)
@@ -12,12 +12,13 @@
 
 failedToGetTheSpecificitesColon = ** Échec de l''accès aux spécificités dans R : {0}.
 
-info_specificitiesBarChartForTheP0LexcialTable             = Diagramme de spécificités pour la table lexicale {0}...
-info_specificitiesBarChartForTheP0PartitionCommaP1Property = Diagramme de spécificités pour la partition {0}, propriété [{1}]...
-info_specificitiesBarChartForTheP0Subcorpus                = Diagramme de spécificités pour le sous-corpus {0}...
-info_specificitiesOfTheP0Corpus                            = Spécificités du corpus {0}...
+info_specificitiesBarChartForTheP0LexcialTable             = Diagramme à barres des spécificités de la table lexicale {0}...
+info_specificitiesBarChartForTheP0PartitionCommaP1Property = Diagramme à barres des spécificités de la la partition {0}, propriété {1}...
+info_specificitiesBarChartForTheP0Subcorpus                = Diagramme à barres des spécificités du sous-corpus {0}...
+info_specificitiesOfTheP0Corpus                            = Spécificités du sous-corpus {0}...
 info_specificitiesOfTheP0LexcialTable                      = Spécificités de la table lexicale {0}...
-info_specificitiesOfTheP0PartitionCommaP1Property          = Spécificités de la partition {0}, propriété [{1}]...
+info_specificitiesOfTheP0PartitionCommaP1Property          = Spécificités de la partition {0}, propriété {1}...
+info_specificitiesOfTheP0PartitionIndex                    = Spécificités de l'index de partition {0}...
 
 noSpecificitiesIndexArray = ** Pas de tableau d'index de spécificités.
 
Index: tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/SpecificitiesSelection.java
===================================================================
--- tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/SpecificitiesSelection.java	(revision 2701)
+++ tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/SpecificitiesSelection.java	(revision 2702)
@@ -217,19 +217,18 @@
 	public String getComputingStartMessage() {
 		// from lexical table
 		if (this.parent.getParent().isVisible()) {
-			return TXMCoreMessages.bind(SpecificitiesCoreMessages.info_specificitiesBarChartForTheP0LexcialTable, this.parent.getParent().getSimpleName());
+			return TXMCoreMessages.bind(SpecificitiesCoreMessages.info_specificitiesBarChartForTheP0LexcialTable, this.parent.getParent().getName());
 		}
 		else {
 			
 			// from partition
 			if (((LexicalTable) this.parent.getParent()).getPartition() != null) {
 				return TXMCoreMessages.bind(SpecificitiesCoreMessages.info_specificitiesBarChartForTheP0PartitionCommaP1Property, ((LexicalTable) this.parent.getParent()).getPartition()
-						.getSimpleName(), ((LexicalTable) this.parent.getParent())
-								.getProperty());
+						.getName(), ((LexicalTable) this.parent.getParent()).getProperty().asString());
 			}
 			// from subcorpus
 			else {
-				return TXMCoreMessages.bind(SpecificitiesCoreMessages.info_specificitiesBarChartForTheP0Subcorpus, this.parent.getParent().getParent().getSimpleName());
+				return TXMCoreMessages.bind(SpecificitiesCoreMessages.info_specificitiesBarChartForTheP0Subcorpus, this.parent.getParent().getParent().getName());
 			}
 		}
 	}
Index: tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/Specificities.java
===================================================================
--- tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/Specificities.java	(revision 2701)
+++ tmp/org.txm.specificities.core/src/org/txm/specificities/core/functions/Specificities.java	(revision 2702)
@@ -41,16 +41,16 @@
 import org.rosuda.REngine.REXP;
 import org.txm.core.messages.TXMCoreMessages;
 import org.txm.core.preferences.TBXPreferences;
+import org.txm.core.preferences.TXMPreferences;
 import org.txm.core.results.Parameter;
 import org.txm.core.results.TXMParameters;
 import org.txm.core.results.TXMResult;
+import org.txm.index.core.functions.PartitionIndex;
 import org.txm.lexicaltable.core.functions.LexicalTable;
 import org.txm.lexicaltable.core.statsengine.data.ILexicalTable;
 import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
-import org.txm.searchengine.cqp.corpus.Partition;
 import org.txm.searchengine.cqp.corpus.Property;
 import org.txm.searchengine.cqp.corpus.WordProperty;
-import org.txm.specificities.core.chartsengine.r.RSpecificitiesBarChartCreator;
 import org.txm.specificities.core.messages.SpecificitiesCoreMessages;
 import org.txm.specificities.core.preferences.SpecificitiesPreferences;
 import org.txm.specificities.core.statsengine.r.function.SpecificitiesR;
@@ -652,7 +652,13 @@
 	
 	@Override
 	public String getName() {
-		// FIXME: to define
+		// FIXME: SJ: to define
+		return this.getParent().getParent().getName() + TXMPreferences.PARENT_NAME_SEPARATOR + this.getSimpleName();
+	}
+	
+	@Override
+	public String getSimpleName() {
+		// FIXME: SJ: to define
 		// if (this.specificitiesResult.getLexicalTable()!= null &&
 		// this.specificitiesResult.getLexicalTable().getPartition() != null) {
 		// setPartName(this.specificitiesResult.getLexicalTable().getPartition().getName()+":
@@ -666,7 +672,7 @@
 		// FIXME: to define
 		try {
 			// if (this.lexicalTable.getProperty() != null) {
-			return this.lexicalTable.getProperty().getName();
+			return this.lexicalTable.getProperty().asString();
 			// }
 			// else {
 			// return this.lexicalTable.getParent().toString();
@@ -678,11 +684,6 @@
 	}
 	
 	@Override
-	public String getSimpleName() {
-		return this.getName();
-	}
-	
-	@Override
 	public String getDetails() {
 		return NLS.bind(this.getName() + " (max score={0})", this.maxScore);
 	}
@@ -691,23 +692,22 @@
 	public String getComputingStartMessage() {
 		// from lexical table
 		if (this.parent.isVisible()) {
-			return TXMCoreMessages.bind(SpecificitiesCoreMessages.info_specificitiesOfTheP0LexcialTable,
-					this.getParent().getSimpleName());
+			return TXMCoreMessages.bind(SpecificitiesCoreMessages.info_specificitiesOfTheP0LexcialTable, this.getParent().getName());
 		}
 		else {
-			
+			// from partition index
+			if (this.getParent().getParent() instanceof PartitionIndex) {
+				return TXMCoreMessages.bind(SpecificitiesCoreMessages.info_specificitiesOfTheP0PartitionIndex, this.getParent().getParent().getName());
+			}
 			// from partition
-			if (this.getParent().getPartition() != null) {
+			else if (this.getParent().getPartition() != null) {
 				return TXMCoreMessages.bind(SpecificitiesCoreMessages.info_specificitiesOfTheP0PartitionCommaP1Property,
-						this.getParent().getPartition().getSimpleName(), this.getParent().getProperty());
+						this.getParent().getPartition().getName(), this.getParent().getProperty().asString());
 			}
-			// from sub-corpus lexical table
-			// FIXME: SJ: this special case is possible when creating Specificities then
-			// calling the command on the invisible Lexical Table
-			// need to if we need a special log message here
+			// from sub-corpus
 			else {
 				return TXMCoreMessages.bind(SpecificitiesCoreMessages.info_specificitiesOfTheP0Corpus,
-						this.getParent().getParent().getSimpleName());
+						this.getParent().getParent().getName());
 			}
 		}
 	}
Index: tmp/org.txm.index.rcp/src/org/txm/index/rcp/handlers/SendIndexTo.java
===================================================================
--- tmp/org.txm.index.rcp/src/org/txm/index/rcp/handlers/SendIndexTo.java	(revision 2701)
+++ tmp/org.txm.index.rcp/src/org/txm/index/rcp/handlers/SendIndexTo.java	(revision 2702)
@@ -60,7 +60,7 @@
 	public String createQueries(ExecutionEvent event, ISelection selection) {
 		if (selection instanceof StructuredSelection) {
 			StructuredSelection sselection = (StructuredSelection) selection;
-			return CQLQuery.queriesToString(Index.createQueries(sselection.toList()));
+			return CQLQuery.serialize(Index.createQueries(sselection.toList()));
 		}
 		return null;
 	}
Index: tmp/org.txm.progression.core/src/org/txm/progression/core/messages/messages.properties
===================================================================
--- tmp/org.txm.progression.core/src/org/txm/progression/core/messages/messages.properties	(revision 2701)
+++ tmp/org.txm.progression.core/src/org/txm/progression/core/messages/messages.properties	(revision 2702)
@@ -1,4 +1,4 @@
-#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
+#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
 #TXM messages generated by the PluginMessagesManager class
 #Tue Dec 18 10:24:08 CET 2018
 
@@ -18,7 +18,7 @@
 
 progressionOf = Progression of 
 
-progressionOfP0InTheP1Corpus = Progression of <{0}> in the {1} corpus...
+progressionOfP0InTheP1Corpus = Progression of {0} in {1} corpus...
 
 propertyColon = , property: 
 
Index: tmp/org.txm.progression.core/src/org/txm/progression/core/messages/messages_fr.properties
===================================================================
--- tmp/org.txm.progression.core/src/org/txm/progression/core/messages/messages_fr.properties	(revision 2701)
+++ tmp/org.txm.progression.core/src/org/txm/progression/core/messages/messages_fr.properties	(revision 2702)
@@ -1,4 +1,4 @@
-#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
+#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
 #TXM messages generated by the PluginMessagesManager class
 #Tue Dec 18 10:24:08 CET 2018
 
@@ -18,7 +18,7 @@
 
 progressionOf = Progression de 
 
-progressionOfP0InTheP1Corpus = Progression de <{0}> dans le corpus {1}...
+progressionOfP0InTheP1Corpus = Progression de {0} dans le corpus {1}...
 
 propertyColon = , propriété :  
 
Index: tmp/org.txm.progression.core/src/org/txm/progression/core/functions/Progression.java
===================================================================
--- tmp/org.txm.progression.core/src/org/txm/progression/core/functions/Progression.java	(revision 2701)
+++ tmp/org.txm.progression.core/src/org/txm/progression/core/functions/Progression.java	(revision 2702)
@@ -48,6 +48,7 @@
 import org.txm.core.results.TXMParameters;
 import org.txm.progression.core.messages.ProgressionCoreMessages;
 import org.txm.progression.core.preferences.ProgressionPreferences;
+import org.txm.searchengine.core.Query;
 import org.txm.searchengine.cqp.clientExceptions.CqiClientException;
 import org.txm.searchengine.cqp.corpus.CQPCorpus;
 import org.txm.searchengine.cqp.corpus.CorpusManager;
@@ -187,7 +188,7 @@
 	@Override
 	public boolean loadParameters() {
 		if (!this.getStringParameterValue(TXMPreferences.QUERIES).isEmpty()) {
-			this.queries = CQLQuery.stringToQueries(this.getStringParameterValue(TXMPreferences.QUERIES));
+			this.queries = CQLQuery.unserialize(this.getStringParameterValue(TXMPreferences.QUERIES));
 		}
 		
 		if (!this.getStringParameterValue(TXMPreferences.STRUCTURAL_UNIT).isEmpty()) {
@@ -217,7 +218,7 @@
 	public boolean saveParameters() {
 		
 		if (this.queries != null && !this.queries.isEmpty()) {
-			this.saveParameter(TXMPreferences.QUERIES, CQLQuery.queriesToString(this.queries));
+			this.saveParameter(TXMPreferences.QUERIES, CQLQuery.serialize(this.queries));
 		}
 		
 		if (this.structuralUnit != null) {
@@ -847,7 +848,7 @@
 	
 	@Override
 	public String getComputingStartMessage() {
-		return TXMCoreMessages.bind(ProgressionCoreMessages.progressionOfP0InTheP1Corpus, this.queries, this.getCorpus().getName());
+		return TXMCoreMessages.bind(ProgressionCoreMessages.progressionOfP0InTheP1Corpus, CQLQuery.asString(this.queries), this.getCorpus().getName());
 	}
 	
 	
@@ -859,7 +860,7 @@
 		else {
 			String positions = String.valueOf(this.getAllPositions().get(0).length);
 			for (int i = 1; i < this.getAllPositions().size(); i++) {
-				positions += ", " + String.valueOf(this.getAllPositions().get(i).length); //$NON-NLS-1$
+				positions += ", " + TXMCoreMessages.formatNumber(this.getAllPositions().get(i).length); //$NON-NLS-1$
 			}
 			return TXMCoreMessages.bind(TXMCoreMessages.common_P0Positions, positions);
 		}
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/Partition.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/Partition.java	(revision 2701)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/Partition.java	(revision 2702)
@@ -374,7 +374,14 @@
 	
 	@Override
 	public String getDetails() {
-		return this.getName();
+		String name = this.userName;
+		int partsCount = this.getPartsCount();
+		
+		if (partsCount > 0) {
+			name += NLS.bind(" ({0})", partsCount);
+		}
+		
+		return name;
 	}
 	
 	@Override
@@ -384,14 +391,7 @@
 	
 	@Override
 	public String getName() {
-		String name = this.userName;
-		int partsCount = this.getPartsCount();
-		
-		if (partsCount > 0) {
-			name += NLS.bind(" ({0})", partsCount);
-		}
-		
-		return name;
+		return this.getCorpus() + TXMPreferences.PARENT_NAME_SEPARATOR + this.getSimpleName();
 	}
 	
 	@Override
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/StructuralUnitProperty.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/StructuralUnitProperty.java	(revision 2701)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/StructuralUnitProperty.java	(revision 2702)
@@ -46,15 +46,15 @@
  * @author Jean-Philippe Magué
  */
 public class StructuralUnitProperty extends Property {
-
+	
 	/** The values for this property corpus */
 	List<String> values;
-
+	
 	/** The structural unit. */
 	private StructuralUnit structuralUnit;
-
-
 	
+	
+	
 	/**
 	 * Instantiates a new structural unit property.
 	 * 
@@ -63,13 +63,13 @@
 	 * @param structuralUnit the structural unit
 	 * @param name the name
 	 * @param corpus the corpus
-	 * {@link StructuralUnit#getProperty(String)}
+	 *            {@link StructuralUnit#getProperty(String)}
 	 */
 	public StructuralUnitProperty(StructuralUnit structuralUnit, String name, CQPCorpus corpus) {
 		super(name, corpus);
 		this.structuralUnit = structuralUnit;
 	}
-
+	
 	/**
 	 * Gets the structural unit on wich the property is defined.
 	 * 
@@ -78,17 +78,47 @@
 	public StructuralUnit getStructuralUnit() {
 		return structuralUnit;
 	}
-
+	
 	/**
 	 * Gets the full name: "struct_propname"
 	 *
 	 * @return the full name
 	 */
+	@Override
 	public String getFullName() {
 		return structuralUnit.getName() + "_" + this.getName(); //$NON-NLS-1$
 	}
-
+	
+	
 	/**
+	 * Gets the full name as string: "structure@property".
+	 *
+	 * @return the full name
+	 */
+	public String asFullNameString() {
+		return this.structuralUnit.getName() + this.asString();
+	}
+	
+	
+	/**
+	 * Creates a readable formated string from the specified structural unit properties list.
+	 * 
+	 * @param properties
+	 * @return
+	 */
+	public static String asFullNameString(List<StructuralUnitProperty> properties) {
+		String str = ""; ///$NON-NLS-1$
+		for (int i = 0; i < properties.size(); i++) {
+			if (i > 0) {
+				str += ", "; //$NON-NLS-1$
+			}
+			str += properties.get(i).asFullNameString();
+		}
+		return str;
+	}
+	
+	
+	/**
 	 * Gets a list of all the values this structural property takes in the
 	 * subcorpus.
 	 *
@@ -100,12 +130,13 @@
 		try {
 			AbstractCqiClient cqiClient = CorpusManager.getCorpusManager().getCqiClient();
 			return cqiClient.getData(this, subcorpus);
-		} catch (Exception e) {
+		}
+		catch (Exception e) {
 			Log.severe(TXMCoreMessages.failedToAccessStructuralPropertyValues
-					+ this.getFullName()+" : "+e); //$NON-NLS-1$
+					+ this.getFullName() + " : " + e); //$NON-NLS-1$
 		}
-		return new ArrayList<String>();
-
+		return new ArrayList<>();
+		
 		/*
 		 * //if (values == null) { QueryResult tmp = subcorpus.query(new
 		 * Query("<"+this.getFullName()+">[]"), UUID.randomUUID().toString());
@@ -115,7 +146,7 @@
 		 * new ArrayList<String>(values);
 		 */
 	}
-
+	
 	/**
 	 * Gets a list of all the values this structural property takes in the
 	 * subcorpus
@@ -131,12 +162,13 @@
 		try {
 			AbstractCqiClient cqiClient = CorpusManager.getCorpusManager().getCqiClient();
 			return cqiClient.getData(this, number);
-		} catch (Exception e) {
+		}
+		catch (Exception e) {
 			Log.severe(TXMCoreMessages.failedToAccessStructuralPropertyValues
-					+ this.getFullName()+" : "+e); //$NON-NLS-1$
+					+ this.getFullName() + " : " + e); //$NON-NLS-1$
 		}
-		return new ArrayList<String>();
-
+		return new ArrayList<>();
+		
 		/*
 		 * //if (values == null) { QueryResult tmp = subcorpus.query(new
 		 * Query("<"+this.getFullName()+">[]"), UUID.randomUUID().toString());
@@ -146,7 +178,7 @@
 		 * new ArrayList<String>(values);
 		 */
 	}
-
+	
 	/**
 	 * Gets a list of all the values this structural property takes in the main
 	 * corpus.
@@ -157,7 +189,7 @@
 	public List<String> getValues() throws CqiClientException {
 		return getValues(this.getCorpus());
 	}
-
+	
 	/**
 	 * Gets a list of all the values this structural property takes in the main
 	 * corpus.
@@ -170,7 +202,7 @@
 		Collections.sort(values);
 		return values;
 	}
-
+	
 	/**
 	 * Gets a list of all the values this structural property takes in the main
 	 * corpus.
@@ -184,7 +216,7 @@
 		Collections.sort(values);
 		return values;
 	}
-
+	
 	/**
 	 * Gets the number of values.
 	 *
@@ -197,24 +229,26 @@
 			int ret = tmp.getNMatch();
 			tmp.drop();
 			return ret;
-		} catch (CqiClientException e) {
+		}
+		catch (CqiClientException e) {
 			org.txm.utils.logger.Log.printStackTrace(e);
-		} 
+		}
 		return -1;// error
 	}
-
+	
 	/**
 	 * Converts the specified string to a list of StructuralUnitProperty from the specified Corpus.
+	 * 
 	 * @param corpus
 	 * @param str
 	 * @return
 	 */
 	public static List<StructuralUnitProperty> stringToProperties(CQPCorpus corpus, String str) {
-		ArrayList<StructuralUnitProperty> structs = new ArrayList<StructuralUnitProperty>();
+		ArrayList<StructuralUnitProperty> structs = new ArrayList<>();
 		if (str == null || str.length() == 0) {
 			return structs;
 		}
-
+		
 		String[] split = str.split(TXMPreferences.LIST_SEPARATOR);
 		for (String s : split) {
 			String[] split2 = s.split("_", 2);
@@ -227,19 +261,21 @@
 				if (struc_p != null) {
 					structs.add(struc_p);
 				}
-			} catch (CqiClientException e) {
+			}
+			catch (CqiClientException e) {
 				System.out.println("Error: " + str + " structure property not found in " + corpus);
 				Log.printStackTrace(e);
 				return null;
 			}
-
+			
 		}
 		return structs;
 	}
-
 	
+	
 	/**
 	 * Converts the specified string to a StructuralUnitProperty.
+	 * 
 	 * @param corpus
 	 * @param str the String to 'deserialize'. Follows the structure_property syntax
 	 * @return
@@ -249,19 +285,19 @@
 		if (str == null) {
 			return null;
 		}
-
+		
 		String[] split = str.split("_", 2);
 		if (split.length == 2) {
 			StructuralUnit su = corpus.getStructuralUnit(split[0]);
 			if (su == null) {
 				return null;
 			}
-
+			
 			return su.getProperty(split[1]);
 		}
-
+		
 		return null;
 	}
-
-
-}
\ No newline at end of file
+	
+	
+}
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/WordProperty.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/WordProperty.java	(revision 2701)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/WordProperty.java	(revision 2702)
@@ -1,5 +1,6 @@
 package org.txm.searchengine.cqp.corpus;
 
+import java.util.List;
 
 /**
  * A CQP property at token/word level
@@ -8,19 +9,39 @@
  *
  */
 public class WordProperty extends Property {
-
+	
 	/**
 	 * Creates a new WordProperty.
+	 * 
 	 * @param name
 	 * @param corpus
 	 */
 	protected WordProperty(String name, CQPCorpus corpus) {
 		super(name, corpus);
 	}
-
+	
 	@Override
 	public String getFullName() {
 		return getName();
 	}
 	
+	
+	/**
+	 * Creates a readable formated string from the specified properties list.
+	 * 
+	 * @param properties
+	 * @return
+	 */
+	public static String asString(List<WordProperty> properties) {
+		
+		String str = "";
+		for (int i = 0; i < properties.size(); i++) {
+			if (i > 0) {
+				str += "_";
+			}
+			str += properties.get(i).getName();
+		}
+		return "@" + str;
+	}
+	
 }
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/Property.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/Property.java	(revision 2701)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/Property.java	(revision 2702)
@@ -46,13 +46,13 @@
  * @author Jean-Philippe Magué, mdecorde
  */
 public abstract class Property implements Comparable<Property>, SearchEngineProperty {
-
+	
 	/** The name. */
 	protected String name;
-
+	
 	/** The corpus. */
 	protected CQPCorpus corpus;
-
+	
 	/**
 	 * Instantiates a new property.
 	 * 
@@ -67,7 +67,7 @@
 		this.name = name;
 		this.corpus = corpus;
 	}
-
+	
 	/**
 	 * Gets the qualified name = corpus name + "." + this.getFullName() .
 	 * 
@@ -76,11 +76,12 @@
 	public String getQualifiedName() {
 		return this.corpus.getCqpId() + "." + this.getFullName(); //$NON-NLS-1$
 	}
-
+	
 	/**
 	 * 
 	 * @return the full name of the property without corpus reference
 	 */
+	@Override
 	public abstract String getFullName();
 	
 	/**
@@ -88,10 +89,11 @@
 	 * 
 	 * @return the name
 	 */
+	@Override
 	public String getName() {
 		return name;
 	}
-
+	
 	/**
 	 * Gets the corpus over which the property is defined.
 	 * 
@@ -100,15 +102,25 @@
 	public CQPCorpus getCorpus() {
 		return corpus;
 	}
-
-	/* (non-Javadoc)
-	 * @see java.lang.Object#toString()
+	
+	/**
+	 * Creates a readable formated string from the property.
+	 * 
+	 * @return
 	 */
+	public String asString() {
+		return "@" + this.name; //$NON-NLS-1$
+	}
+	
 	@Override
+	// FIXME: SJ: can we remove this method, is it used in real query?
+	// I think it should not, toString() is more generally dedicated to log not to be used
+	// The rename the above method asString() to toString()
 	public String toString() {
 		return this.getName();
 	}
-
+	
+	
 	/**
 	 * Equals.
 	 *
@@ -118,8 +130,9 @@
 	public boolean equals(Property p) {
 		return this.getQualifiedName().equals(p.getQualifiedName());
 	}
-
-	/* (non-Javadoc)
+	
+	/*
+	 * (non-Javadoc)
 	 * @see java.lang.Comparable#compareTo(java.lang.Object)
 	 */
 	@Override
@@ -129,18 +142,19 @@
 	
 	/**
 	 * Converts the specified string to a list of Property from the specified Corpus.
+	 * 
 	 * @param corpus
 	 * @param str the String to 'deserialize'. Each property is separated with 1 tabulation. Then calls fromString on each token
 	 * @return a list of StructuralUnitProperty if the s param is well formed
-	 * @throws CqiClientException 
+	 * @throws CqiClientException
 	 */
 	public static List<? extends Property> stringToProperties(CQPCorpus corpus, String str) {
-		ArrayList<Property> properties = new ArrayList<Property>();
+		ArrayList<Property> properties = new ArrayList<>();
 		
 		if (str == null || corpus == null) {
 			return properties;
 		}
-
+		
 		String[] split = str.split(TXMPreferences.LIST_SEPARATOR);
 		for (String s : split) {
 			try {
@@ -148,14 +162,15 @@
 				if (p != null) {
 					properties.add(p);
 				}
-			} catch (CqiClientException e) {
+			}
+			catch (CqiClientException e) {
 				Log.warning(TXMCoreMessages.bind("** No property {0} found in the {1} corpus: {2}", s, corpus, e));
 				Log.printStackTrace(e);
 			}
 		}
 		return properties;
 	}
-
+	
 	/**
 	 * Converts the specified list of Property to a string.
 	 * 
@@ -163,12 +178,12 @@
 	 * @return
 	 */
 	public static String propertiesToString(List<? extends Property> pProperties) {
-		if (pProperties == null){
+		if (pProperties == null) {
 			return ""; //$NON-NLS-1$
 		}
-
-		ArrayList<String> names = new ArrayList<String>();
-
+		
+		ArrayList<String> names = new ArrayList<>();
+		
 		for (Property p : pProperties) {
 			names.add(p.getFullName());
 		}
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/Subcorpus.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/Subcorpus.java	(revision 2701)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/Subcorpus.java	(revision 2702)
@@ -135,11 +135,11 @@
 		if (this.pQuery instanceof SubcorpusCQLQuery) {
 			SubcorpusCQLQuery query = (SubcorpusCQLQuery) this.pQuery;
 			return TXMCoreMessages.bind(SearchEngineCoreMessages.info_computingTheP0SubCorpusOfP1CommaStructureP2CommaPropertyP3ColonP4, this.getSimpleName(), this.getParent().getName(),
-					query.getStructure(), query.getProperty().getName(), query.getPropertyValues());
+					query.getStructure(), query.getProperty().asString(), query.getPropertyValues());
 		}
 		// created directly from a query
 		else {
-			return TXMCoreMessages.bind(SearchEngineCoreMessages.info_computingTheP0SubCorpusOfP1CommaQueryP2, this.getSimpleName(), this.getParent().getName(), this.getQuery());
+			return TXMCoreMessages.bind(SearchEngineCoreMessages.info_computingTheP0SubCorpusOfP1CommaQueryP2, this.getSimpleName(), this.getParent().getName(), this.getQuery().asString());
 		}
 	}
 	
@@ -242,15 +242,6 @@
 		selectionResult = null;
 	}
 	
-	@Override
-	public String getDetails() {
-		try {
-			return "T " + this.getSize();
-		}
-		catch (CqiClientException e) {
-			return this.getName() + " (" + this.getQualifiedCqpId() + ")";
-		}
-	}
 	
 	@Override
 	public List<Match> getMatches() {
@@ -374,10 +365,6 @@
 		return selectionResult;
 	}
 	
-	@Override
-	public String getSimpleName() {
-		return this.getName();
-	}
 	
 	/**
 	 * Returns the number of occurrences in the subcorpus.
@@ -736,4 +723,29 @@
 		}
 		return textids;
 	}
+	
+	
+	@Override
+	public String getName() {
+		return this.getCorpusParent().getSimpleName() + TXMPreferences.PARENT_NAME_SEPARATOR + this.getSimpleName();
+	}
+	
+	
+	@Override
+	public String getSimpleName() {
+		return this.userName;
+	}
+	
+	@Override
+	public String getDetails() {
+		try {
+			return "T " + this.getSize();
+		}
+		catch (CqiClientException e) {
+			return this.getName() + " (" + this.getQualifiedCqpId() + ")";
+		}
+	}
+	
+	
+	
 }
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/query/CQLQuery.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/query/CQLQuery.java	(revision 2701)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/query/CQLQuery.java	(revision 2702)
@@ -32,6 +32,7 @@
 import java.util.regex.Matcher;
 import java.util.regex.Pattern;
 
+import org.apache.commons.lang.StringUtils;
 import org.txm.core.preferences.TXMPreferences;
 import org.txm.searchengine.core.IQuery;
 import org.txm.searchengine.core.SearchEngine;
@@ -77,7 +78,7 @@
 	 * Instantiates a new query.
 	 */
 	protected CQLQuery() {
-		this.queryString = "";
+		this.queryString = ""; //$NON-NLS-1$
 	}
 	
 	/**
@@ -94,7 +95,7 @@
 			this.queryString = queryString.trim();
 		}
 		else {
-			this.queryString = "";
+			this.queryString = ""; //$NON-NLS-1$
 		}
 	}
 	
@@ -105,7 +106,7 @@
 	 * @param str
 	 * @return
 	 */
-	public static List<CQLQuery> stringToQueries(String str) {
+	public static List<CQLQuery> unserialize(String str) {
 		ArrayList<CQLQuery> queries = new ArrayList<>();
 		if (str == null || str.length() == 0) {
 			return queries;
@@ -125,8 +126,8 @@
 	 * @param queries
 	 * @return
 	 */
-	public static String queriesToString(List<CQLQuery> queries) {
-		String str = "";
+	public static String serialize(List<CQLQuery> queries) {
+		String str = ""; //$NON-NLS-1$
 		for (int i = 0; i < queries.size(); i++) {
 			if (i > 0) {
 				str += TXMPreferences.LIST_SEPARATOR;
@@ -136,23 +137,46 @@
 		return str;
 	}
 	
-	
 	/**
-	 * Gets the query string.
+	 * Creates a readable formated string from the query.
 	 * 
-	 * @return the query string
+	 * @return
 	 */
 	@Override
-	public final String getQueryString() {
+	public String asString() {
+		return "<" + this.queryString + ">"; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+	
+	
+	// FIXME: SJ: can we remove this method, is it used in real query?
+	// I think it should not, toString() is more generally dedicated to log not to be used
+	// The rename the above method asString() to toString()
+	@Override
+	public String toString() {
 		return queryString;
 	}
 	
-	/*
-	 * (non-Javadoc)
-	 * @see java.lang.Object#toString()
+	
+	/**
+	 * Creates a readable formated string from the specified queries list.
+	 * 
+	 * @param queries
+	 * @return
 	 */
+	public static String asString(List<CQLQuery> queries) {
+		String queriesString = StringUtils.join(queries, ">, <"); //$NON-NLS-1$
+		queriesString = "<" + queriesString + ">";  //$NON-NLS-1$ //$NON-NLS-2$
+		return "[" + queriesString + "]";  //$NON-NLS-1$ //$NON-NLS-2$
+	}
+	
+	
+	/**
+	 * Gets the query string.
+	 * 
+	 * @return the query string
+	 */
 	@Override
-	public String toString() {
+	public final String getQueryString() {
 		return queryString;
 	}
 	
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/core/preferences/PartitionPreferences.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/core/preferences/PartitionPreferences.java	(revision 2701)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/core/preferences/PartitionPreferences.java	(revision 2702)
@@ -5,7 +5,7 @@
 
 public class PartitionPreferences extends TXMPreferences {
 
-	public static String EDITORMODE = "editor_mode";
+	public static String EDITOR_MODE = "editor_mode";
 	
 	public PartitionPreferences() {
 		// TODO Auto-generated constructor stub
@@ -28,6 +28,6 @@
 		
 		Preferences preferences = this.getDefaultPreferencesNode();
 		
-		preferences.putBoolean(EDITORMODE, false);
+		preferences.putBoolean(EDITOR_MODE, false);
 	}
 }
Index: tmp/org.txm.ca.core/src/org/txm/ca/core/messages/messages.properties
===================================================================
--- tmp/org.txm.ca.core/src/org/txm/ca/core/messages/messages.properties	(revision 2701)
+++ tmp/org.txm.ca.core/src/org/txm/ca/core/messages/messages.properties	(revision 2702)
@@ -1,4 +1,4 @@
-#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
+#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
 #TXM messages generated by the PluginMessagesManager class
 #Tue Dec 18 10:24:08 CET 2018
 
@@ -47,7 +47,8 @@
 frequency = Frequency
 
 info_caOfTheP0LexcialTable             = CA of the {0} lexical table...
-info_caOfTheP0PartitionCommaP1Property = CA of the {0} partition, [{1}] property...
+info_caOfTheP0PartitionCommaP1Property = CA of the {0} partition, {1} property...
+info_caOfTheP0PartitionIndex           = CA of the {0} partition index...
 
 percent = %
 
Index: tmp/org.txm.ca.core/src/org/txm/ca/core/messages/CACoreMessages.java
===================================================================
--- tmp/org.txm.ca.core/src/org/txm/ca/core/messages/CACoreMessages.java	(revision 2701)
+++ tmp/org.txm.ca.core/src/org/txm/ca/core/messages/CACoreMessages.java	(revision 2702)
@@ -48,7 +48,9 @@
 	
 	public static String info_caOfTheP0LexcialTable;
 	
+	public static String info_caOfTheP0PartitionIndex;
 	
+	
 	public static String common_c1;
 	
 	public static String common_c2;
Index: tmp/org.txm.ca.core/src/org/txm/ca/core/messages/messages_fr.properties
===================================================================
--- tmp/org.txm.ca.core/src/org/txm/ca/core/messages/messages_fr.properties	(revision 2701)
+++ tmp/org.txm.ca.core/src/org/txm/ca/core/messages/messages_fr.properties	(revision 2702)
@@ -1,4 +1,4 @@
-#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
+#Generated by ResourceBundle Editor (http://essiembre.github.io/eclipse-rbe/)
 #TXM messages generated by the PluginMessagesManager class
 #Tue Dec 18 10:24:08 CET 2018
 
@@ -47,7 +47,8 @@
 frequency = Fréquence
 
 info_caOfTheP0LexcialTable             = AFC de la table lexicale {0}...
-info_caOfTheP0PartitionCommaP1Property = AFC de la partition {0}, propriété [{1}]...
+info_caOfTheP0PartitionCommaP1Property = AFC de la partition {0}, propriété {1}...
+info_caOfTheP0PartitionIndex           = AFC de l'index de partition {0}...
 
 percent = %
 
Index: tmp/org.txm.ca.core/src/org/txm/ca/core/functions/CA.java
===================================================================
--- tmp/org.txm.ca.core/src/org/txm/ca/core/functions/CA.java	(revision 2701)
+++ tmp/org.txm.ca.core/src/org/txm/ca/core/functions/CA.java	(revision 2702)
@@ -42,8 +42,10 @@
 import org.txm.ca.core.statsengine.r.functions.ICA;
 import org.txm.chartsengine.core.results.ChartResult;
 import org.txm.core.messages.TXMCoreMessages;
+import org.txm.core.preferences.TXMPreferences;
 import org.txm.core.results.Parameter;
 import org.txm.core.results.TXMParameters;
+import org.txm.index.core.functions.PartitionIndex;
 import org.txm.lexicaltable.core.functions.LexicalTable;
 import org.txm.searchengine.cqp.corpus.Property;
 import org.txm.statsengine.core.StatException;
@@ -765,7 +767,7 @@
 	@Override
 	public String getSimpleName() {
 		try {
-			return this.getParent().getSimpleName() + " (" + this.firstDimension + "," + this.secondDimension + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			return this.getParent().getProperty().asString() + " (" + this.firstDimension + "," + this.secondDimension + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		}
 		catch (Exception e) {
 			return "";
@@ -773,6 +775,12 @@
 	}
 	
 	@Override
+	public String getName() {
+		return this.getParent().getName() + TXMPreferences.PARENT_NAME_SEPARATOR + " (" + this.firstDimension + "," + this.secondDimension + ")"; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ ;
+	}
+	
+	
+	@Override
 	public String getDetails() {
 		try {
 			return this.getSimpleName() + " " + NLS.bind(TXMCoreMessages.common_fMinEquals, this.getLexicalTable().getFMin());
@@ -787,31 +795,28 @@
 	public String getComputingStartMessage() {
 		// from lexical table
 		if (this.parent.isVisible()) {
-			return TXMCoreMessages.bind(CACoreMessages.info_caOfTheP0LexcialTable, this.getParent().getSimpleName());
+			return TXMCoreMessages.bind(CACoreMessages.info_caOfTheP0LexcialTable, this.getParent().getName());
 		}
+		// from partition index
+		else if (this.getParent().getParent() instanceof PartitionIndex) {
+			return TXMCoreMessages.bind(CACoreMessages.info_caOfTheP0PartitionIndex, this.getParent().getParent().getName());
+			
+		}
+		// from partition
+		else if (this.getParent().getPartition() != null) {
+			return TXMCoreMessages.bind(CACoreMessages.info_caOfTheP0PartitionCommaP1Property, this.getParent().getPartition().getName(), this.getParent().getProperty().asString());
+		}
+		// from sub-corpus lexical table
+		// FIXME: SJ: this special case is possible when creating Specificities then calling the command on the invisible Lexical Table
+		// need to if we need a special log message here
 		else {
-			// from partition
-			if (this.getParent().getPartition() != null) {
-				return TXMCoreMessages.bind(CACoreMessages.info_caOfTheP0PartitionCommaP1Property, this.getParent().getPartition().getSimpleName(), this.getParent().getProperty());
-			}
-			// from sub-corpus lexical table
-			// FIXME: SJ: this special case is possible when creating Specificities then calling the command on the invisible Lexical Table
-			// need to if we need a special log message here
-			else {
-				return "";
-			}
+			return "";
 		}
 		
 		
 	}
 	
 	
-	@Override
-	public String getName() {
-		return this.getSimpleName();
-	}
-	
-	
 	/**
 	 * Get the singular values as array.
 	 *
Index: tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/messages/messages.properties
===================================================================
--- tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/messages/messages.properties	(revision 2701)
+++ tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/messages/messages.properties	(revision 2702)
@@ -9,6 +9,6 @@
 error_notEnoughColumns                   = Not enough columns ({0}): minimum is two.
 
 info_buildingLexicalTableWith                                = Computing lexical table with {0}.
-info_creatingLexicalTableWithTheP0CorpusAndTheP1Subcorpus    = Computing lexical table with the {0} corpus and the {1} subcorpus...
-info_creatingLexicalTableWithTheP0PartitionCommaPropertiesP1 = Computing lexical table with the {0} partition, property [{1}]...
-info_creatingLexicalTableWithTheP0PartitionIndex             = Computing lexical table with the <{0}> partition index...
+info_creatingLexicalTableWithTheP0CorpusAndTheP1Subcorpus    = Lexical table with the {0} corpus and the {1} subcorpus...
+info_creatingLexicalTableWithTheP0PartitionCommaPropertiesP1 = Lexical table of {0} partition, property {1}...
+info_creatingLexicalTableWithTheP0PartitionIndex             = Lexical table of {0} partition index...
Index: tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/messages/messages_fr.properties
===================================================================
--- tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/messages/messages_fr.properties	(revision 2701)
+++ tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/messages/messages_fr.properties	(revision 2702)
@@ -9,6 +9,6 @@
 error_notEnoughColumns                   = Pas assez de colonnes ({0}) : le minimum est deux.
 
 info_buildingLexicalTableWith                                = Calcul de la table lexicale avec {0}.
-info_creatingLexicalTableWithTheP0CorpusAndTheP1Subcorpus    = Calcul de la table lexicale avec le corpus {0} et le sous-corpus {1}...
-info_creatingLexicalTableWithTheP0PartitionCommaPropertiesP1 = Calcul de la table lexicale avec la partition {0}, propriété [{1}]...
-info_creatingLexicalTableWithTheP0PartitionIndex             = Calcul de la table lexicale avec l'index de partition <{0}>...
+info_creatingLexicalTableWithTheP0CorpusAndTheP1Subcorpus    = Table lexicale avec le corpus {0} et le sous-corpus {1}...
+info_creatingLexicalTableWithTheP0PartitionCommaPropertiesP1 = Table lexicale de la partition {0}, propriété {1}...
+info_creatingLexicalTableWithTheP0PartitionIndex             = Table lexicale de l'index de partition {0}...
Index: tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/functions/LexicalTable.java
===================================================================
--- tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/functions/LexicalTable.java	(revision 2701)
+++ tmp/org.txm.lexicaltable.core/src/org/txm/lexicaltable/core/functions/LexicalTable.java	(revision 2702)
@@ -9,6 +9,7 @@
 import java.util.Map;
 
 import org.eclipse.osgi.util.NLS;
+import org.txm.core.messages.TXMCoreMessages;
 import org.txm.core.preferences.TBXPreferences;
 import org.txm.core.preferences.TXMPreferences;
 import org.txm.core.results.Parameter;
@@ -502,13 +503,13 @@
 	
 	@Override
 	public String getSimpleName() {
-		// if (statsData != null) {
 		StringBuilder strb = new StringBuilder();
-		if (property != null) {
-			strb.append(property.getName() + " ");
+		if (this.property != null) {
+			strb.append(this.property.asString());
 			try {
-				// strb.append(this.getFMin() + " / " + this.getNRows());
-				strb.append(this.fMinFilter + (Integer.MAX_VALUE != this.fMaxFilter ? ("-" + this.fMaxFilter) : "") + " / " + this.vMaxFilter);
+				strb.append(TXMCoreMessages.formatMinFilter(this.fMinFilter));
+				strb.append(TXMCoreMessages.formatMaxFilter(this.fMaxFilter));
+				strb.append(TXMCoreMessages.formatVMaxFilter(this.vMaxFilter));
 			}
 			catch (Exception e) {
 				Log.printStackTrace(e);
@@ -516,8 +517,6 @@
 			}
 			return strb.toString();
 		}
-		
-		// }
 		else {
 			return this.getEmptyName();
 		}
@@ -526,7 +525,7 @@
 	@Override
 	public String getName() {
 		try {
-			return this.getParent().getSimpleName() + ":" + this.getSimpleName(); //$NON-NLS-1$
+			return this.getParent().getName() + TXMPreferences.PARENT_NAME_SEPARATOR + this.getSimpleName();
 		}
 		catch (Exception e) {
 			Log.printStackTrace(e);
@@ -538,15 +537,15 @@
 	public String getComputingStartMessage() {
 		// from partition index
 		if (this.parent instanceof PartitionIndex) {
-			return NLS.bind(LexicalTableCoreMessages.info_creatingLexicalTableWithTheP0PartitionIndex, this.parent.getSimpleName());
+			return NLS.bind(LexicalTableCoreMessages.info_creatingLexicalTableWithTheP0PartitionIndex, this.parent.getName());
 		}
 		// from partition
 		else if (this.getPartition() != null) {
-			return NLS.bind(LexicalTableCoreMessages.info_creatingLexicalTableWithTheP0PartitionCommaPropertiesP1, this.getPartition().getSimpleName(), this.property);
+			return NLS.bind(LexicalTableCoreMessages.info_creatingLexicalTableWithTheP0PartitionCommaPropertiesP1, this.getPartition().getName(), this.property.asString());
 		}
 		// from main corpus and subcorpus
 		else {
-			return NLS.bind(LexicalTableCoreMessages.info_creatingLexicalTableWithTheP0CorpusAndTheP1Subcorpus, this.getCorpus().getCorpusParent(), this.getParent().getSimpleName());
+			return NLS.bind(LexicalTableCoreMessages.info_creatingLexicalTableWithTheP0CorpusAndTheP1Subcorpus, this.getCorpus().getCorpusParent().getName(), this.getParent().getName());
 		}
 	}
 	
Index: tmp/org.txm.chartsengine.svgbatik.rcp/src/org/txm/chartsengine/svgbatik/rcp/swt/SVGChartComposite.java
===================================================================
--- tmp/org.txm.chartsengine.svgbatik.rcp/src/org/txm/chartsengine/svgbatik/rcp/swt/SVGChartComposite.java	(revision 2701)
+++ tmp/org.txm.chartsengine.svgbatik.rcp/src/org/txm/chartsengine/svgbatik/rcp/swt/SVGChartComposite.java	(revision 2702)
@@ -98,6 +98,9 @@
 					
 					getSVGCanvas().loadSVGDocument(file.toURL().toExternalForm());
 					
+					// FIXME: SJ: temporary fix for a bug where sometimes the SVG doesn't appear in the component (e.g. create or reopen AHC multiple times to reproduce the bug)
+					// resetView();
+					
 					Log.fine(TXMCoreMessages.bind("File {0} loaded.", file.getAbsolutePath()));
 					
 				}
Index: tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/IQuery.java
===================================================================
--- tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/IQuery.java	(revision 2701)
+++ tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/IQuery.java	(revision 2702)
@@ -11,13 +11,13 @@
 	public String getQueryString();
 	
 	public boolean isEmpty();
-
+	
 	/**
 	 * 
 	 * @return the Query SearchEngine that can resolve the query
 	 */
 	public SearchEngine getSearchEngine();
-
+	
 	/**
 	 * update the query
 	 * 
@@ -28,9 +28,12 @@
 	
 	/**
 	 * fix the query using sugar syntax rules
+	 * 
 	 * @return this
 	 */
 	public IQuery fixQuery();
 	
 	public boolean equals(IQuery q);
+	
+	public String asString();
 }
Index: tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/Query.java
===================================================================
--- tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/Query.java	(revision 2701)
+++ tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/Query.java	(revision 2702)
@@ -30,6 +30,7 @@
 import java.util.ArrayList;
 import java.util.List;
 
+import org.apache.commons.lang.StringUtils;
 import org.txm.core.preferences.TXMPreferences;
 
 /**
@@ -39,38 +40,40 @@
  */
 
 public class Query implements IQuery {
-
+	
 	/**
 	 * Converts the specified list of Query to a string.
 	 * Queries strings are separated by a tabulation.
+	 * 
 	 * @param queries
 	 * @return
 	 */
 	public static String queriesToString(List<Query> queries) {
 		String str = "";
 		for (int i = 0; i < queries.size(); i++) {
-			if(i > 0)	{
+			if (i > 0) {
 				str += TXMPreferences.LIST_SEPARATOR;
 			}
-			str += queries.get(i).getQueryString();	
-			str += TXMPreferences.LIST_SEPARATOR+queries.get(i).getSearchEngine().getName();
+			str += queries.get(i).getQueryString();
+			str += TXMPreferences.LIST_SEPARATOR + queries.get(i).getSearchEngine().getName();
 		}
 		return str;
 	}
-
+	
 	/**
 	 * Converts the specified string to a list of Query.
 	 * Input string must contains queries separated by a tabulation.
+	 * 
 	 * @param str
 	 * @return
 	 */
 	public static List<Query> stringToQueries(String str) {
-		ArrayList<Query> queries = new ArrayList<Query>();
+		ArrayList<Query> queries = new ArrayList<>();
 		if (str == null || str.length() == 0) {
 			return queries;
 		}
 		String[] split = str.split(TXMPreferences.LIST_SEPARATOR);
-		for (int i = 0 ; i +1 < split.length ; i = i+2) {
+		for (int i = 0; i + 1 < split.length; i = i + 2) {
 			String s = split[i];
 			String eName = split[i];
 			SearchEngine e = SearchEnginesManager.getSearchEngine(eName);
@@ -78,33 +81,35 @@
 		}
 		return queries;
 	}
-
+	
 	/**
 	 * Converts the specified string to a Query.
 	 * Input string must contains queries separated by a tabulation.
+	 * 
 	 * @param str
 	 * @return
 	 */
 	public static Query stringToQuery(String str) {
-
+		
 		String[] split = str.split(TXMPreferences.LIST_SEPARATOR, 2);
 		String eName = split[1];
 		SearchEngine e = SearchEnginesManager.getSearchEngine(eName);
 		return new Query(split[0], e);
-
+		
 	}
-
+	
+	
 	/**
 	 * The query string.
 	 */
 	protected SearchEngine engine = null;
-
+	
 	/**
 	 * The query string.
 	 */
 	protected String queryString = "";
-
-
+	
+	
 	/**
 	 * Instantiates a new query.
 	 * 
@@ -121,15 +126,15 @@
 		else {
 			this.queryString = "";
 		}
-
+		
 		this.engine = engine;
 	}
-
+	
 	@Override
 	public boolean equals(IQuery q) {
 		return this.engine.equals(q.getSearchEngine()) && this.getQueryString().equals(q.getQueryString());
 	}
-
+	
 	@Override
 	public boolean equals(Object obj) {
 		if (obj == null) return false;
@@ -138,45 +143,60 @@
 		}
 		if (this.queryString == null) return false;
 		if (this.engine == null) return false;
-
+		
 		return this.queryString.equals(((Query) obj).queryString) && this.engine.equals(((Query) obj).engine);
 	}
-
+	
 	@Override
 	public IQuery fixQuery() {
 		return new Query(queryString, this.engine);
 	}
-
-
+	
+	
 	/**
 	 * Gets the query string.
 	 * 
 	 * @return the query string
 	 */
+	@Override
 	public final String getQueryString() {
 		return queryString;
 	}
-
+	
 	@Override
 	public SearchEngine getSearchEngine() {
 		return engine;
 	}
-
+	
 	/**
 	 * Checks whatever the query is empty (null, empty or contains only double quotes) or not.
+	 * 
 	 * @return true if empty otherwise false
 	 */
+	@Override
 	public boolean isEmpty() {
 		return queryString == null || queryString.length() == 0 || "\"\"".equals(queryString);
 	}
-
+	
 	@Override
 	public IQuery setQuery(String rawQuery) {
 		queryString = rawQuery;
 		return this;
 	}
-
-	/* (non-Javadoc)
+	
+	/**
+	 * Creates a readable formated string from the query.
+	 * 
+	 * @return
+	 */
+	@Override
+	public String asString() {
+		return "<" + this.queryString + ">"; //$NON-NLS-1$ //$NON-NLS-2$
+	}
+	
+	
+	/*
+	 * (non-Javadoc)
 	 * @see java.lang.Object#toString()
 	 */
 	@Override
Index: tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/messages/messages_fr.properties
===================================================================
--- tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/messages/messages_fr.properties	(revision 2701)
+++ tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/messages/messages_fr.properties	(revision 2702)
@@ -8,13 +8,13 @@
 
 info_computingCorpusP0                                                 = Calcul du corpus {0}...
 info_computingPartXWithQueryZ                                          = Création de la partie {0} avec la requête {1}...
-info_computingTheP0PartitionOfTheP1Corpus                              = Calcul de la partition {0} du corpus {1}...
-info_computingTheP0SubCorpusOfP1CommaQueryP2                           = Calcul du sous-corpus {0} de {1}, requête : [{2}]...
-info_computingTheP0SubCorpusOfP1CommaStructureP2CommaPropertyP3ColonP4 = Calcul du sous-corpus {0} de {1}, structure {2}, propriété {3} : {4}...
+info_computingTheP0PartitionOfTheP1Corpus                              = Partition {0} du corpus {1}...
+info_computingTheP0SubCorpusOfP1CommaQueryP2                           = Sous-corpus {0} de {1} {2}...
+info_computingTheP0SubCorpusOfP1CommaStructureP2CommaPropertyP3ColonP4 = Sous-corpus {0} de {1}, structure {2}, propriété {3} : {4}...
 info_creatingNewPartition                                              = Création de la partition {1} du corpus {0}…
 info_creatingSubcorpusXFromCorpusYWithTheQueryZ                        = Création du sous-corpus {0} du corpus {1} avec la requête {2}…
 info_deletingPartition                                                 = Suppression de la partition {0}…
-info_doneP0Parts                                                       = Terminé : {0} partie(s).
+info_doneP0Parts                                                       = {0} parties.
 info_partCreatedInXMs                                                  = Partie {0} créée en {1} ms.
 info_partitionCreatedInXMs                                             = Partition {0} créée en {1} ms.
 info_searchEngineStopped                                               = Moteur de recherche arrêté.
Index: tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/messages/messages.properties
===================================================================
--- tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/messages/messages.properties	(revision 2701)
+++ tmp/org.txm.searchengine.core/src/org/txm/searchengine/core/messages/messages.properties	(revision 2702)
@@ -8,13 +8,13 @@
 
 info_computingCorpusP0                                                 = Computing corpus {0}...
 info_computingPartXWithQueryZ                                          = Computing the part {0} with query {1}...
-info_computingTheP0PartitionOfTheP1Corpus                              = Computing the {0} partition of the {1} corpus...
-info_computingTheP0SubCorpusOfP1CommaQueryP2                           = Computing the {0} sub-corpus of {1}, query: {2}...
-info_computingTheP0SubCorpusOfP1CommaStructureP2CommaPropertyP3ColonP4 = Computing the {0} sub-corpus of {1}, structure {2}, property {3}: {4}...
+info_computingTheP0PartitionOfTheP1Corpus                              = Partition {0} of {1} corpus...
+info_computingTheP0SubCorpusOfP1CommaQueryP2                           = Sub-corpus {0} of {1} {2}...
+info_computingTheP0SubCorpusOfP1CommaStructureP2CommaPropertyP3ColonP4 = Sub-corpus {0} of {1}, structure {2}, property {3}: {4}...
 info_creatingNewPartition                                              = Creating partition {1} of corpus {0}…
 info_creatingSubcorpusXFromCorpusYWithTheQueryZ                        = Creating sub-corpus {0} of corpus {1} with the query {2}…
 info_deletingPartition                                                 = Deleting partition {0}…
-info_doneP0Parts                                                       = Done: {0} part(s).
+info_doneP0Parts                                                       = {0} parts.
 info_partCreatedInXMs                                                  = Part {0} created in {1} ms.
 info_partitionCreatedInXMs                                             = Partition {0} created in {1} ms.
 info_searchEngineStopped                                               = Search engine stopped.
