Index: tmp/org.txm.properties.core/src/org/txm/properties/core/functions/Properties.java
===================================================================
--- tmp/org.txm.properties.core/src/org/txm/properties/core/functions/Properties.java	(revision 2071)
+++ tmp/org.txm.properties.core/src/org/txm/properties/core/functions/Properties.java	(revision 2072)
@@ -37,6 +37,7 @@
 import java.util.List;
 import java.util.Locale;
 
+import org.apache.commons.lang.StringUtils;
 import org.eclipse.osgi.util.NLS;
 import org.txm.Toolbox;
 import org.txm.core.messages.TXMCoreMessages;
@@ -304,8 +305,8 @@
 		// counts
 		buff.append("<ul>\n"); //$NON-NLS-1$
 		buff.append("<li>" + NLS.bind(PropertiesCoreMessages.numberOfWordsP0, numberOfWords) + "</li>\n"); //$NON-NLS-1$ //$NON-NLS-2$
-		buff.append("<li>" + PropertiesCoreMessages.numberOfWordProperties + (NProperties - 1) + "</li>\n"); //$NON-NLS-2$ //$NON-NLS-1$
-		buff.append("<li>" + PropertiesCoreMessages.numberOfStructuralUnits + NStructures + "</li>\n"); //$NON-NLS-2$ //$NON-NLS-1$
+		buff.append("<li>" + PropertiesCoreMessages.numberOfWordProperties + (NProperties - 1) + "("+StringUtils.join(properties, ", ")+")</li>\n"); //$NON-NLS-2$ //$NON-NLS-1$
+		buff.append("<li>" + PropertiesCoreMessages.numberOfStructuralUnits + NStructures + "("+StringUtils.join(structures, ", ")+")</li>\n"); //$NON-NLS-2$ //$NON-NLS-1$
 		buff.append("</ul>\n"); //$NON-NLS-1$
 
 		// Propriétés d'occurrences
Index: tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/CQPCorpus.java
===================================================================
--- tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/CQPCorpus.java	(revision 2071)
+++ tmp/org.txm.searchengine.cqp.core/src/org/txm/searchengine/cqp/corpus/CQPCorpus.java	(revision 2072)
@@ -210,9 +210,6 @@
 	 */
 	protected String lang = null;
 
-	/** The language. */
-	protected String language = "???"; //$NON-NLS-1$
-
 	/** The corpus lexical units properties. */
 	protected List<WordProperty> lexicalUnitsProperties;
 
@@ -454,7 +451,6 @@
 		
 		charset = "latin1"; //$NON-NLS-1$
 		lang = null;
-		language = "???"; //$NON-NLS-1$
 		lexicalUnitsProperties = null;
 		size = -1;
 		structuralUnits = null;
@@ -820,7 +816,7 @@
 	 * @return the infos
 	 */
 	public String getInfos() {
-		return TXMCoreMessages.corpusColon + this.pID + TXMCoreMessages.encodingColon + getCharset() + TXMCoreMessages.languageColon + getLanguage();
+		return TXMCoreMessages.corpusColon + this.pID + TXMCoreMessages.encodingColon + getCharset() + TXMCoreMessages.languageColon + getLang();
 	}
 
 	/**
@@ -828,8 +824,9 @@
 	 *
 	 * @return the language
 	 */
-	public String getLanguage() {
-		return language;
+	public String getLang() {
+		getLocale();
+		return lang;
 	}
 
 	/**
@@ -1332,6 +1329,6 @@
 	 *            the new language
 	 */
 	public void setLanguage(String corpusLanguage) {
-		this.language = corpusLanguage;
+		this.lang = corpusLanguage;
 	}
 }
\ No newline at end of file
Index: tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/ComputeTXMResult.java
===================================================================
--- tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/ComputeTXMResult.java	(revision 2071)
+++ tmp/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/ComputeTXMResult.java	(revision 2072)
@@ -25,8 +25,7 @@
 	public Object execute(ExecutionEvent event) throws ExecutionException {
 		IWorkbenchPart part = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().getActivePart();
 		IEditorPart activeEditor = HandlerUtil.getActiveWorkbenchWindow(event).getActivePage().getActiveEditor();
-		System.out.println("A part="+part);
-		System.out.println("A editor="+activeEditor);
+
 		compute(event);
 		// gets the main editor if the active editor is a multipages editor
 //		if(part instanceof TXMMultiPageEditor)	{
@@ -46,7 +45,7 @@
 	
 	public static Object compute(ExecutionEvent event) {
 		Object trigger = event.getTrigger();
-		System.out.println("TRIGGER="+trigger.getClass());
+
 		if (trigger instanceof Event) {
 			Event e = (Event) trigger;
 			if (e.widget instanceof ToolItem) {
Index: tmp/org.txm.setups/shared/mac/Applications/TXM.app/Contents/MacOS/TXM
===================================================================
--- tmp/org.txm.setups/shared/mac/Applications/TXM.app/Contents/MacOS/TXM	(revision 2071)
+++ tmp/org.txm.setups/shared/mac/Applications/TXM.app/Contents/MacOS/TXM	(revision 2072)
@@ -47,14 +47,14 @@
 	exit 1
 fi
 
-STAMP=`stat -t %Y%m%d "/Applications/TXM-TXMVERSION.app/STAMP" | cut -d\  -f11`
+STAMP=`stat -t %Y-%m-%d_%H:%M "/Applications/TXM-TXMVERSION.app/STAMP" | cut -d\  -f11`
 
 if [ $? != 0 ]; then
     echo "TXM: Can't find STAMP file /Applications/TXM-TXMVERSION.app/STAMP $LOGFILES"
     exit 1 ;
 fi
 
-echo "TXM: if .txm folder does not contain the STAMP file, its a new install."
+echo "TXM: if the $DOTTXMHOME/$STAMP STAMP file does not exists, its a new install."
 if [ ! -e "$DOTTXMHOME/$STAMP" ]; then
 
 	echo "New TXM install: it's the first launch after the installation"
Index: tmp/org.txm.setups/shared/mac/INSTALL
===================================================================
--- tmp/org.txm.setups/shared/mac/INSTALL	(revision 2071)
+++ tmp/org.txm.setups/shared/mac/INSTALL	(revision 2072)
@@ -71,6 +71,7 @@
 say $SAY_CREATESTAMP
 echo "** TXM postinstall: create STAMP file"
 # Create STAMP
+rm "$TXMINSTALLDIR/STAMP"
 touch "$TXMINSTALLDIR/STAMP"
 
 if [ $? != 0 ];then
@@ -81,7 +82,8 @@
 say $SAY_SETFILERIGHTS
 echo "** TXM postinstall: set rights"
 # Set executable files
-chmod +x "$TXMINSTALLDIR"/Contents/TXM/plugins/CQP.macosx*/res/macosx/*
+chmod +x "$TXMINSTALLDIR"/Contents/TXM/plugins/org.txm.libs.cqp.macosx*/res/macosx/*
+chmod -R +x "$TXMINSTALLDIR"/Contents/TXM/plugins/org.txm.statsengine.r.core.macosx*/res/macosx/*
 
 chmod -R +r "$TXMINSTALLDIR"
 chmod +rx "$TXMINSTALLDIR/Contents/MacOS/TXM"
Index: tmp/org.txm.core/src/java/org/txm/objects/CorpusBuild.java
===================================================================
--- tmp/org.txm.core/src/java/org/txm/objects/CorpusBuild.java	(revision 2071)
+++ tmp/org.txm.core/src/java/org/txm/objects/CorpusBuild.java	(revision 2072)
@@ -226,6 +226,14 @@
 		}
 		return true;
 	}
+	
+	/**
+	 * 
+	 * @return the corpus language. Override this method to set another lang. eg for parallel corpus
+	 */
+	public String getLang() {
+		return getProject().getLang();
+	}
 
 //	/**
 //	 * Adds the text.
Index: tmp/org.txm.concordance.core/src/org/txm/concordance/core/functions/Line.java
===================================================================
--- tmp/org.txm.concordance.core/src/org/txm/concordance/core/functions/Line.java	(revision 2071)
+++ tmp/org.txm.concordance.core/src/org/txm/concordance/core/functions/Line.java	(revision 2072)
@@ -306,7 +306,7 @@
 		}
 
 		return LangFormater.format(StringUtils.join(words, wordSeparator),
-				concordance.getCorpus().getLanguage()); //$NON-NLS-1$
+				concordance.getCorpus().getLang()); //$NON-NLS-1$
 	}
 
 	/**
@@ -356,7 +356,7 @@
 			currentPos++; // next position
 		}
 		return LangFormater.format(StringUtils.join(words, wordSeparator),
-				concordance.getCorpus().getLanguage()); //$NON-NLS-1$
+				concordance.getCorpus().getLang()); //$NON-NLS-1$
 	}
 
 	/**
@@ -405,7 +405,7 @@
 			currentPos++;
 		}
 		return LangFormater.format(StringUtils.join(words, wordSeparator),
-				concordance.getCorpus().getLanguage()); 
+				concordance.getCorpus().getLang()); 
 	}
 	
 	/** The properties to process. */
@@ -439,7 +439,7 @@
 			words.add(StringUtils.join(word, "_")); //$NON-NLS-1$
 		}
 		return LangFormater.format(StringUtils.join(words, " "), //$NON-NLS-1$
-				concordance.getCorpus().getLanguage()); //$NON-NLS-1$
+				concordance.getCorpus().getLang()); //$NON-NLS-1$
 	}
 	
 	/**
@@ -467,7 +467,7 @@
 			words.add(StringUtils.join(word, wordSeparator));
 		}
 		return LangFormater.format(StringUtils.join(words, wordSeparator),
-				concordance.getCorpus().getLanguage()); //$NON-NLS-1$
+				concordance.getCorpus().getLang()); //$NON-NLS-1$
 	}
 	
 	/**
@@ -494,7 +494,7 @@
 		}
 
 		return LangFormater.format(StringUtils.join(words, " "), //$NON-NLS-1$
-				concordance.getCorpus().getLanguage()); //$NON-NLS-1$
+				concordance.getCorpus().getLang()); //$NON-NLS-1$
 	}
 
 	/**
Index: tmp/org.txm.wordcloud.rcp/src/org/txm/wordcloud/rcp/handlers/ComputeWordCloud.java
===================================================================
--- tmp/org.txm.wordcloud.rcp/src/org/txm/wordcloud/rcp/handlers/ComputeWordCloud.java	(revision 2071)
+++ tmp/org.txm.wordcloud.rcp/src/org/txm/wordcloud/rcp/handlers/ComputeWordCloud.java	(revision 2072)
@@ -73,7 +73,7 @@
 			if (selection instanceof CQPCorpus) {
 				try {
 					CQPCorpus corpus = (CQPCorpus) selection; 
-					String lang = corpus.getLanguage();
+					String lang = corpus.getLang();
 					CQLQuery query;
 					if (corpus.getProperty(lang + "pos") != null) { //$NON-NLS-1$
 						query = new CQLQuery(WordCloud.getQueryForLang(lang));
Index: tmp/org.txm.para.core/src/org/txm/para/core/functions/ParaBrowser.java
===================================================================
--- tmp/org.txm.para.core/src/org/txm/para/core/functions/ParaBrowser.java	(revision 2071)
+++ tmp/org.txm.para.core/src/org/txm/para/core/functions/ParaBrowser.java	(revision 2072)
@@ -214,7 +214,7 @@
 				return new Pair<String, QueryResult>("error", null);
 			} 
 			return new Pair<String, QueryResult>(LangFormater.format(text, corpus
-					.getLanguage()), result);
+					.getLang()), result);
 		}
 		// return keywordsViewPropValues;
 		return new Pair<String, QueryResult>("error no property", null);
Index: tmp/org.txm.rcp.feature/build.properties
===================================================================
--- tmp/org.txm.rcp.feature/build.properties	(revision 2071)
+++ tmp/org.txm.rcp.feature/build.properties	(revision 2072)
@@ -6,7 +6,7 @@
 root.folder.redist/css=../org.txm.core/res/org/txm/css/
 root.macosx.cocoa.x86_64=mac/
 root=../org.txm.setups/shared/all
-root.linux.gtk.x86_64.permissions.755=jre/bin/java,plugins/org.txm.libs.cqp.linux/res/linux32/,plugins/org.txm.libs.cqp.linux/res/linux64/
+root.linux.gtk.x86_64.permissions.755=jre/bin/java,plugins/org.txm.libs.cqp.linux/res/linux32/,plugins/org.txm.libs.cqp.linux/res/linux64/,plugins/org.txm.statsengine.r.core.linux/res/linux64/bin
 root.linux.gtk.x86_64=linux/
-root.macosx.cocoa.x86_64.permissions.755=jre/bin/java,plugins/org.txm.libs.cqp.macosx/res/macosx/
+root.macosx.cocoa.x86_64.permissions.755=jre/bin/java,plugins/org.txm.libs.cqp.macosx/res/macosx/,plugins/org.txm.statsengine.r.core.macosx/res/macosx/bin
 qualifier=svn
