Index: TXM/trunk/org.txm.groovy.core/src/groovy/org/txm/macro/r/PrintRSymbolMacro.groovy
===================================================================
--- TXM/trunk/org.txm.groovy.core/src/groovy/org/txm/macro/r/PrintRSymbolMacro.groovy	(revision 3444)
+++ TXM/trunk/org.txm.groovy.core/src/groovy/org/txm/macro/r/PrintRSymbolMacro.groovy	(revision 3445)
@@ -36,4 +36,3 @@
 } else {
 	println "$selection has no R representation"
 }
-
Index: TXM/trunk/org.txm.groovy.core/src/java/org/txm/groovy/core/InstallGroovyFiles.java
===================================================================
--- TXM/trunk/org.txm.groovy.core/src/java/org/txm/groovy/core/InstallGroovyFiles.java	(revision 3444)
+++ TXM/trunk/org.txm.groovy.core/src/java/org/txm/groovy/core/InstallGroovyFiles.java	(revision 3445)
@@ -44,10 +44,10 @@
 		for (String folder : createfolders) {
 			new File(txmhomedir, folder).mkdirs();
 		}
-		File scriptsDirectory = new File(txmhomedir, "scripts/groovy");
-		File userDirectory = new File(scriptsDirectory, "user");
-		File systemDirectory = new File(scriptsDirectory, "system");
-		Log.fine("Installing Groovy files to " + userDirectory);
+		File scriptsDirectory = new File(txmhomedir, "scripts/groovy"); //$NON-NLS-1$
+		File userDirectory = new File(scriptsDirectory, "user"); //$NON-NLS-1$
+		File systemDirectory = new File(scriptsDirectory, "system"); //$NON-NLS-1$
+		Log.fine("Installing Groovy files to " + userDirectory); //$NON-NLS-1$
 		
 		// HashMap<String, String> publishedImports = new HashMap<String, String>();
 		// String IMPORTERPACKAGE="org/txm/scriptsimporter/";
@@ -82,14 +82,14 @@
 		// BundleUtils.copyFiles(bundle_id, "src/", "groovy/org/txm", "sw/", samplesDirectory);
 		// BundleUtils.copyFiles(bundle_id, "src/", "groovy/org/txm", "tal/", samplesDirectory);
 		
-		String bundle_id = "org.txm.groovy.core";
-		BundleUtils.copyFiles(bundle_id, "", "src/groovy", "", userDirectory, true);
+		String bundle_id = "org.txm.groovy.core"; //$NON-NLS-1$
+		BundleUtils.copyFiles(bundle_id, "", "src/groovy", "", userDirectory, true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		
-		bundle_id = "org.txm.core";
+		bundle_id = "org.txm.core"; //$NON-NLS-1$
 		
-		File scriptsPackageDirectory = new File(userDirectory, "org/txm/scripts/importer");
+		File scriptsPackageDirectory = new File(userDirectory, "org/txm/scripts/importer"); //$NON-NLS-1$
 		scriptsPackageDirectory.mkdirs();
-		BundleUtils.copyFiles(bundle_id, "src/java/", "org/txm/scripts/importer", "", scriptsPackageDirectory, true);
+		BundleUtils.copyFiles(bundle_id, "src/java/", "org/txm/scripts/importer", "", scriptsPackageDirectory, true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		
 		
 		
@@ -98,7 +98,7 @@
 	
 	@Override
 	public String getName() {
-		return "Groovy (org.txm.groovy.core)";
+		return "Groovy (org.txm.groovy.core)"; //$NON-NLS-1$
 	}
 	
 	@Override
Index: TXM/trunk/org.txm.groovy.core/src/java/org/txm/groovy/core/GroovyImportEngine.java
===================================================================
--- TXM/trunk/org.txm.groovy.core/src/java/org/txm/groovy/core/GroovyImportEngine.java	(revision 3444)
+++ TXM/trunk/org.txm.groovy.core/src/java/org/txm/groovy/core/GroovyImportEngine.java	(revision 3445)
@@ -23,7 +23,7 @@
 	public boolean initialize() throws Exception {
 		
 		ImportEngines engines = Toolbox.getImportEngines();
-		File importsPackageDirectory = new File(Toolbox.getTxmHomePath(), "scripts/groovy/user/org/txm/scripts/importer");
+		File importsPackageDirectory = new File(Toolbox.getTxmHomePath(), "scripts/groovy/user/org/txm/scripts/importer"); //$NON-NLS-1$
 		
 		if (!importsPackageDirectory.exists()) {
 			return false;
@@ -32,7 +32,7 @@
 			if (!dir.isDirectory()) continue;
 			
 			String name = dir.getName();
-			File loader = new File(dir, name + "Loader.groovy");
+			File loader = new File(dir, name + "Loader.groovy"); //$NON-NLS-1$
 			if (loader.exists()) {
 				ScriptedImportEngine sengine = new GroovyScriptedImportEngine(dir);
 				if (engines.getEngine(name) == null) {
@@ -60,7 +60,7 @@
 	
 	@Override
 	public String getName() {
-		return "groovy scripted imports installers - not meant to be used";
+		return "groovy scripted imports installers - not meant to be used"; //$NON-NLS-1$
 	}
 	
 	@Override
Index: TXM/trunk/org.txm.groovy.core/src/java/org/txm/groovy/core/GroovyPreferences.java
===================================================================
--- TXM/trunk/org.txm.groovy.core/src/java/org/txm/groovy/core/GroovyPreferences.java	(revision 3444)
+++ TXM/trunk/org.txm.groovy.core/src/java/org/txm/groovy/core/GroovyPreferences.java	(revision 3445)
@@ -6,7 +6,7 @@
 	
 	public static final String PREFERENCES_NODE = GroovyPreferences.class.getName();// FrameworkUtil.getBundle(RPreferences.class).getSymbolicName();
 	
-	public static final String VERSION = "version";
+	public static final String VERSION = "version"; //$NON-NLS-1$
 	
 	/**
 	 * Gets the instance.
Index: TXM/trunk/org.txm.groovy.core/src/java/org/txm/groovy/core/TXMGroovyScriptEngine.java
===================================================================
--- TXM/trunk/org.txm.groovy.core/src/java/org/txm/groovy/core/TXMGroovyScriptEngine.java	(revision 3444)
+++ TXM/trunk/org.txm.groovy.core/src/java/org/txm/groovy/core/TXMGroovyScriptEngine.java	(revision 3445)
@@ -11,7 +11,7 @@
 public class TXMGroovyScriptEngine extends ScriptEngine {
 	
 	public TXMGroovyScriptEngine() {
-		super("groovy");
+		super("groovy"); //$NON-NLS-1$
 	}
 	
 	@Override
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/InstallationPage/PathsInstallationPage.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/InstallationPage/PathsInstallationPage.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/InstallationPage/PathsInstallationPage.java	(revision 3445)
@@ -10,7 +10,6 @@
 import org.eclipse.jface.viewers.ITreeContentProvider;
 import org.eclipse.jface.viewers.TreeViewer;
 import org.eclipse.jface.viewers.TreeViewerColumn;
-import org.eclipse.jface.viewers.ViewerComparator;
 import org.eclipse.swt.SWT;
 import org.eclipse.swt.events.SelectionEvent;
 import org.eclipse.swt.events.SelectionListener;
@@ -23,6 +22,7 @@
 import org.eclipse.swt.widgets.Tree;
 import org.eclipse.ui.about.InstallationPage;
 import org.txm.Toolbox;
+import org.txm.rcp.messages.TXMUIMessages;
 
 /**
  * Paths TabFolder for the Installation details page
@@ -36,7 +36,7 @@
 
 	public PathsInstallationPage() {
 		
-		this.setTitle(" TXM's paths");
+		this.setTitle(TXMUIMessages.TXMPaths);
 	}
 	
 	@Override
@@ -45,7 +45,7 @@
 		parent.setLayout(new GridLayout(1, false));
 		
 		Label l = new Label(parent, SWT.NONE);
-		l.setText("TXM commons paths list.\nClick on the 'Open...' button or double-click a line to open the selected path.");
+		l.setText(TXMUIMessages.TXMCommonPathListClickOnTheOpenButtonEtc);
 		l.setLayoutData(new GridData());
 		
 		treeViewer = new TreeViewer(parent);
@@ -95,7 +95,7 @@
 		});
 		
 		TreeViewerColumn nameColumn = new TreeViewerColumn(treeViewer, SWT.LEFT);
-		nameColumn.getColumn().setText("What");
+		nameColumn.getColumn().setText(TXMUIMessages.What);
 		nameColumn.getColumn().setWidth(200);
 		nameColumn.setLabelProvider(new ColumnLabelProvider() {
 			public String getText(Object element) {
@@ -104,7 +104,7 @@
 		});
 		
 		TreeViewerColumn pathColumn = new TreeViewerColumn(treeViewer, SWT.LEFT);
-		pathColumn.getColumn().setText("Paths");
+		pathColumn.getColumn().setText(TXMUIMessages.Paths);
 		pathColumn.getColumn().setWidth(200);
 		pathColumn.setLabelProvider(new ColumnLabelProvider() {
 			public String getText(Object element) {
@@ -114,19 +114,19 @@
 		
 		treeViewer.setInput(Arrays.asList(
 				
-				new Object[]{"Logs directory", new File(Toolbox.getTxmHomePath(), "logs")}, 
-				new Object[]{"Crash logs directory", new File(Toolbox.getInstallDirectory())},
-				new Object[]{"TXM user home directory", new File(Toolbox.getTxmHomePath())},
-				new Object[]{"Installation directory", new File(Toolbox.getInstallDirectory())}, 
-				new Object[]{"Instance configuration file", new File(Toolbox.getConfigurationDirectory(), "launcher.ini")}, 
-				new Object[]{"Instance configuration directory", new File(Toolbox.getConfigurationDirectory())} 
+				new Object[]{TXMUIMessages.LogsDirectory, new File(Toolbox.getTxmHomePath(), "logs")},  //$NON-NLS-2$ //$NON-NLS-1$ //$NON-NLS-1$
+				new Object[]{TXMUIMessages.CrashLogsDirectory, new File(Toolbox.getInstallDirectory())},
+				new Object[]{TXMUIMessages.TXMUserHomeDirectory, new File(Toolbox.getTxmHomePath())},
+				new Object[]{TXMUIMessages.InstallationDirectory, new File(Toolbox.getInstallDirectory())}, 
+				new Object[]{TXMUIMessages.InstanceConfigurationFile, new File(Toolbox.getConfigurationDirectory(), "launcher.ini")},  //$NON-NLS-2$ //$NON-NLS-1$ //$NON-NLS-1$
+				new Object[]{TXMUIMessages.InstanceConfigurationDirectory, new File(Toolbox.getConfigurationDirectory())} 
 				
 		));
 		
 		Button openButton = new Button(parent, SWT.NONE);
 		openButton.setLayoutData(new GridData());
-		openButton.setText("Open...");
-		openButton.setToolTipText("Open the selected path with the default tool set by the system.");
+		openButton.setText(TXMUIMessages.OpenEtc);
+		openButton.setToolTipText(TXMUIMessages.OpenTheSelectedPathWithTheDefaultToolSetByTheSystem);
 		openButton.addSelectionListener(new SelectionListener() {
 			
 			@Override
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteGroovyScriptFromFile.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteGroovyScriptFromFile.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteGroovyScriptFromFile.java	(revision 3445)
@@ -61,7 +61,7 @@
 		ISelection selection = HandlerUtil.getCurrentSelection(event);
 		Shell shell = HandlerUtil.getActiveWorkbenchWindowChecked(event).getShell();
 
-		String scriptCurrentDir = Toolbox.getTxmHomePath() + "/scripts";
+		String scriptCurrentDir = Toolbox.getTxmHomePath() + "/scripts"; //$NON-NLS-1$
 
 		FileDialog dialog = new FileDialog(shell, SWT.OPEN);
 
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteLastGroovyScript.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteLastGroovyScript.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteLastGroovyScript.java	(revision 3445)
@@ -90,6 +90,6 @@
 			return;
 		}
 		
-		ExecuteGroovyScript.executeScript(currentRootDir, lastScript.getAbsolutePath(), page, selection, false, "", null, null);
+		ExecuteGroovyScript.executeScript(currentRootDir, lastScript.getAbsolutePath(), page, selection, false, "", null, null); //$NON-NLS-1$
 	}
 }
\ No newline at end of file
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteImportScript.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteImportScript.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteImportScript.java	(revision 3445)
@@ -88,29 +88,29 @@
 		String filename = null, filepath = null;
 		File script = null;
 		Boolean updateMode = false;
-		if (event.getParameters().containsKey("org.txm.rcp.commands.importscript")) {
+		if (event.getParameters().containsKey("org.txm.rcp.commands.importscript")) { //$NON-NLS-1$
 			filename = event.getParameter("org.txm.rcp.commands.importscript"); //$NON-NLS-1$
 			filepath = "scripts/groovy/user/org/txm/scripts/importer/" + filename; //$NON-NLS-1$
 		}
-		else if (event.getParameters().containsKey("org.txm.rcp.commands.usecorporaselection")) {
-			boolean useCorporaSelection = "true".equals(event.getParameter("org.txm.rcp.commands.usecorporaselection")); //$NON-NLS-1$
+		else if (event.getParameters().containsKey("org.txm.rcp.commands.usecorporaselection")) { //$NON-NLS-1$
+			boolean useCorporaSelection = "true".equals(event.getParameter("org.txm.rcp.commands.usecorporaselection")); //$NON-NLS-1$ //$NON-NLS-2$
 			//filepath = "scripts/groovy/user/org/txm/scripts/importer/" + filename; //$NON-NLS-1$
 		} 
 		else {
 			Shell shell = HandlerUtil.getActiveWorkbenchWindowChecked(event).getShell();
 			FileDialog dialog = new FileDialog(shell, SWT.SAVE);
-			dialog.setFilterPath(Toolbox.getTxmHomePath() + "/scripts/groovy/user/org/txm/scripts/importer");
+			dialog.setFilterPath(Toolbox.getTxmHomePath() + "/scripts/groovy/user/org/txm/scripts/importer"); //$NON-NLS-1$
 			filepath = dialog.open();
 			
 			if (filepath == null) {
-				Log.warning("No Groovy entry point script selected. Aborted.);");
+				Log.warning(TXMUIMessages.NoGroovyEntryPointScriptSelectedAborted);
 				return null;
 			}
 			script = new File(filepath);
 		}
 		
-		if (event.getParameters().containsKey("org.txm.rcp.commands.importupdatemode")) {
-			updateMode = "true".equals(event.getParameter("org.txm.rcp.commands.importupdatemode"));
+		if (event.getParameters().containsKey("org.txm.rcp.commands.importupdatemode")) { //$NON-NLS-1$
+			updateMode = "true".equals(event.getParameter("org.txm.rcp.commands.importupdatemode")); //$NON-NLS-1$ //$NON-NLS-2$
 		}
 		
 		OpenImportForm.open(script, updateMode);
@@ -239,14 +239,14 @@
 	 * @return
 	 */
 	public static boolean getImportScriptFromToolboxPlugin(File script) {
-		Log.fine("Retriving " + script + " from Toolbox plugin if script.date < toolbox_script.date...");
+		Log.fine("Retriving " + script + " from Toolbox plugin if script.date < toolbox_script.date..."); //$NON-NLS-1$ //$NON-NLS-2$
 		
 		// retrieve the script relative path "quickLoader" -> "quick"
 		String scriptPackage = script.getName();
-		int idx = scriptPackage.indexOf("Loader");
-		scriptPackage = "org/txm/scripts/importer/" + scriptPackage.substring(0, idx);
+		int idx = scriptPackage.indexOf("Loader"); //$NON-NLS-1$
+		scriptPackage = "org/txm/scripts/importer/" + scriptPackage.substring(0, idx); //$NON-NLS-1$
 		
-		return BundleUtils.replaceFilesIfNewer("org.txm.groovy.core", "src/groovy", scriptPackage,
+		return BundleUtils.replaceFilesIfNewer("org.txm.groovy.core", "src/groovy", scriptPackage, //$NON-NLS-1$ //$NON-NLS-2$
 				script.getName(), script);
 	}
 }
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/CreateMacro.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/CreateMacro.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/CreateMacro.java	(revision 3445)
@@ -70,7 +70,7 @@
 	public Object execute(ExecutionEvent event) throws ExecutionException {
 		
 		// get scripts dir
-		String scriptRootDir = Toolbox.getTxmHomePath() + "/scripts";
+		String scriptRootDir = Toolbox.getTxmHomePath() + "/scripts"; //$NON-NLS-1$
 		File currentRootDir = new File(scriptRootDir, "macro"); //$NON-NLS-1$
 		
 		// if selection is a file, get its path
@@ -114,12 +114,12 @@
 		if (name == null) return false;
 		if (dir == null) return false;
 		
-		int idx = dir.indexOf("scripts/macro/org/txm/macro/");
-		String packagePath = "org.txm.macro";
+		int idx = dir.indexOf("scripts/macro/org/txm/macro/"); //$NON-NLS-1$
+		String packagePath = "org.txm.macro"; //$NON-NLS-1$
 		if (idx > 0) {
-			String sub = dir.substring(idx + "scripts/macro/org/txm/macro/".length(), dir.length()).replaceAll("/", ".").replaceAll("\\\\", ".");
+			String sub = dir.substring(idx + "scripts/macro/org/txm/macro/".length(), dir.length()).replaceAll("/", ".").replaceAll("\\\\", "."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
 			if (sub.trim().length() > 0) {
-				packagePath += "." + sub;
+				packagePath += "." + sub; //$NON-NLS-1$
 			}
 		}
 		name = name.replaceAll("\\p{Punct}", ""); //$NON-NLS-1$ //$NON-NLS-2$
@@ -150,9 +150,9 @@
 					
 					PrintWriter writer = IOUtils.getWriter(newfile, "UTF-8"); //$NON-NLS-1$
 					
-					writer.println("// Copyright © " + Calendar.getInstance().get(Calendar.YEAR) + " MY_INSTITUTION");
-					writer.println("// Licensed under the terms of the GNU General Public License version 3 (http://www.gnu.org/licenses/gpl-3.0.html)");
-					writer.println("// @author " + System.getProperty("user.name"));
+					writer.println("// Copyright © " + Calendar.getInstance().get(Calendar.YEAR) + " MY_INSTITUTION"); //$NON-NLS-1$ //$NON-NLS-2$
+					writer.println("// Licensed under the terms of the GNU General Public License version 3 (http://www.gnu.org/licenses/gpl-3.0.html)"); //$NON-NLS-1$
+					writer.println("// @author " + System.getProperty("user.name")); //$NON-NLS-1$ //$NON-NLS-2$
 					
 					writer.println(""); //$NON-NLS-1$
 					writer.println("// STANDARD DECLARATIONS"); //$NON-NLS-1$
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteScript.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteScript.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteScript.java	(revision 3445)
@@ -117,7 +117,7 @@
 			}
 			dialog.setFilterExtensions(new String[] { "*.groovy" }); //$NON-NLS-1$
 
-			String scriptCurrentDir = Toolbox.getTxmHomePath() + "/scripts";
+			String scriptCurrentDir = Toolbox.getTxmHomePath() + "/scripts"; //$NON-NLS-1$
 
 			dialog.setFilterPath(scriptCurrentDir);
 			result = dialog.open();
@@ -190,19 +190,19 @@
 		if (!script.exists()) return Status.CANCEL_STATUS;
 
 		String ext = script.getName();
-		int i = ext.lastIndexOf(".");
+		int i = ext.lastIndexOf("."); //$NON-NLS-1$
 		if (i > 0) {
 			ext = ext.substring(i+1);
 		}
 
-		if ("groovy".equals(ext)) { // TODO make Groovy a script engine
+		if ("groovy".equals(ext)) { // TODO make Groovy a script engine //$NON-NLS-1$
 			return ExecuteGroovyScript.executeScript(scriptpath, page, selection);
 		} else {
 			ScriptEngine se = (ScriptEngine) Toolbox.getEngineManager(EngineType.SCRIPT).getEngine(ext);
 			if (se != null) {
 				HashMap<String, Object> env = new HashMap<String, Object>();
-				env.put("page", page); // selection
-				env.put("selection", selection); // selection
+				env.put("page", page); // selection //$NON-NLS-1$
+				env.put("selection", selection); // selection //$NON-NLS-1$
 				return se.executeScript(script, env, stringArgs);
 			} else {
 				System.out.println(TXMUIMessages.noInterpreterFoundForScriptFileExtension+script.getName());
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteText.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteText.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteText.java	(revision 3445)
@@ -85,7 +85,7 @@
 		if (script.getName().endsWith(".groovy")) { //$NON-NLS-1$
 			ExecuteGroovyText.executeText(text, scriptfile);
 		} else if (script.getName().endsWith(".R")) { //$NON-NLS-1$
-			System.out.println("Execute R text selection not implemented");
+			System.out.println(TXMUIMessages.ExecuteRTextSelectionNotImplemented);
 			//ExecuteRText.executeText(text);
 		} else {
 			System.out.println(TXMUIMessages.noInterpreterFoundForScriptFileExtension+script.getName());
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteGroovyMacro.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteGroovyMacro.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteGroovyMacro.java	(revision 3445)
@@ -79,7 +79,7 @@
 			result = filenameParameter;
 			File f = new File(filenameParameter);
 			if (!f.exists()) { // file not found, try locating it in Groovy scripts
-				f = new File(Toolbox.getTxmHomePath() + "/scripts/groovy/user", filenameParameter);
+				f = new File(Toolbox.getTxmHomePath() + "/scripts/groovy/user", filenameParameter); //$NON-NLS-1$
 				if (f.exists()) { // found !
 					result = f.getAbsolutePath();
 				}
@@ -121,7 +121,7 @@
 		String scriptRootDir = Toolbox.getTxmHomePath() + "/scripts"; //$NON-NLS-1$
 		File currentRootDir = new File(scriptRootDir, "groovy/user"); //$NON-NLS-1$
 		
-		if (scriptpath.endsWith(".groovy")) {
+		if (scriptpath.endsWith(".groovy")) { //$NON-NLS-1$
 			return ExecuteGroovyScript.executeScript(currentRootDir, scriptpath, page, selection, false, stringArgs, parameters, defaultParameters);
 		} else {
 			return ExecuteScript.executeScript(scriptpath, page, selection, stringArgs);
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteGroovyScript.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteGroovyScript.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteGroovyScript.java	(revision 3445)
@@ -107,7 +107,7 @@
 			result = filenameParameter;
 			File f = new File(filenameParameter);
 			if (!f.exists()) { // file not found, try locating it in Groovy scripts
-				f = new File(Toolbox.getTxmHomePath() + "/scripts/groovy/user", filenameParameter);
+				f = new File(Toolbox.getTxmHomePath() + "/scripts/groovy/user", filenameParameter); //$NON-NLS-1$
 				if (f.exists()) { // found !
 					result = f.getAbsolutePath();
 				}
@@ -247,7 +247,7 @@
 				try {
 					gse = GSERunner.buildDefaultGSE();
 					if (gse == null) {
-						Log.severe("Could not create the Groovy script engine. Aborting...");
+						Log.severe(TXMUIMessages.CouldNotCreateTheGrrovyScriptEngineAborting);
 						return Status.CANCEL_STATUS;
 					}
 					
@@ -262,11 +262,11 @@
 					binding.setProperty("stringArgs", stringArgs); //$NON-NLS-1$
 					if (parameters != null) binding.setProperty("args", parameters); //$NON-NLS-1$
 					if (defaultParameters != null) binding.setProperty("defaultArgs", defaultParameters); //$NON-NLS-1$
-					binding.setProperty("gse", gse);
+					binding.setProperty("gse", gse); //$NON-NLS-1$
 					Timer timer = new Timer();
 					binding.setProperty("timer", timer); //$NON-NLS-1$
 					
-					Log.info(NLS.bind("Compiling {0}...", scriptfile.getName()));
+					Log.info(NLS.bind(TXMUIMessages.CompilingP0Etc, scriptfile.getName()));
 					Script script = gse.createScript(relativepath, binding);
 					Log.info(NLS.bind(TXMUIMessages.executingGroovyScript, scriptfile.getName()));
 					script.run();
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteGroovyText.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteGroovyText.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/scripts/ExecuteGroovyText.java	(revision 3445)
@@ -106,7 +106,7 @@
 			System.err.println(NLS.bind(TXMUIMessages.p0ScriptFileDoesntExist, scriptfile));
 			return null;
 		}
-		final String scriptRootDir = Toolbox.getTxmHomePath() + "/scripts";
+		final String scriptRootDir = Toolbox.getTxmHomePath() + "/scripts"; //$NON-NLS-1$
 
 		// get current selection of the corpora view
 				final Object corpusViewSelection = CorporaView.getFirstSelectedObject();
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/BaseAbstractHandler.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/BaseAbstractHandler.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/BaseAbstractHandler.java	(revision 3445)
@@ -75,7 +75,7 @@
 	 */
 	public boolean checkCorpusEngine() {
 		if (!CQPSearchEngine.isInitialized()) {
-			Log.warning("Corpus Engine is not ready, canceling command.");
+			Log.warning(StatsEngineCoreMessages.CorpusEngineIsNotReadyCancelingCommand);
 			return false;
 		}
 		return true;
@@ -117,10 +117,10 @@
 		// yeah but selection might be tricky
 		// Object o = (IStructuredSelection) HandlerUtil.getCurrentSelection(event).getFirstElement();
 		if (o == null) {
-			Log.severe("BaseAbstractHandler.getCorporaViewSelectedObject(): current selection is null.");
+			Log.severe("BaseAbstractHandler.getCorporaViewSelectedObject(): current selection is null."); //$NON-NLS-1$
 		}
 		
-		Log.fine("BaseAbstractHandler.getCorporaViewSelectedObject(): selected object = " + o);
+		Log.fine("BaseAbstractHandler.getCorporaViewSelectedObject(): selected object = " + o); //$NON-NLS-1$
 		
 		return o;
 	}
@@ -175,7 +175,7 @@
 	 * @param selection
 	 */
 	protected boolean logCanNotExecuteCommand(Object selection) {
-		Log.severe("Can not execute command " + this.getClass() + " with the selection: " + selection + ".");
+		Log.severe(StatsEngineCoreMessages.CanNotExecuteTheP0CommandWithTheP1Selection + this.getClass() + " with the selection: " + selection + "."); //$NON-NLS-2$ //$NON-NLS-3$
 		return false;
 	}
 	
@@ -207,7 +207,7 @@
 	 */
 	public static Object executeCommand(String commandId, String resultUUID, Map<String, String> params) {
 		
-		Log.fine("BaseAbstractHandler.executeCommand(): calling command " + commandId + ".");
+		Log.fine("BaseAbstractHandler.executeCommand(): calling command " + commandId + "."); //$NON-NLS-1$ //$NON-NLS-2$
 		
 		
 		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
@@ -217,7 +217,7 @@
 		
 		// Redefine the command supported parameters, without that each command must define the parameter "result_parameters_node_path" in each plugin.xml...
 		if (resultUUID != null) {
-			Log.fine("BaseAbstractHandler.executeCommand(): preparing the send of result UUID: " + resultUUID + ".");
+			Log.fine("BaseAbstractHandler.executeCommand(): preparing the send of result UUID: " + resultUUID + "."); //$NON-NLS-1$ //$NON-NLS-2$
 			try {
 				IParameter[] parameters = new IParameter[] { new IParameter() {
 					
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/export/ExportResultParameters.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/export/ExportResultParameters.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/export/ExportResultParameters.java	(revision 3445)
@@ -83,7 +83,7 @@
 		
 		String extensions[] = { "*.parameters" }; //$NON-NLS-1$
 		dialog.setFilterExtensions(extensions);
-		dialog.setFileName(((TXMResult) s).getValidFileName() + ".parameters");
+		dialog.setFileName(((TXMResult) s).getValidFileName() + ".parameters"); //$NON-NLS-1$
 		if (LastOpened.getFile(ID) != null) {
 			dialog.setFilterPath(LastOpened.getFolder(ID));
 		}
@@ -126,13 +126,13 @@
 						
 						TXMResult r = (TXMResult) s;
 						if (r.isAltered()) {
-							System.out.println("Warning: only parameters are exported, manual changes are not transfered.");
+							System.out.println(TXMUIMessages.ExportResultParameters_WarningOnlyTheParametersAreExportedManualChangesAreNotTransfered);
 						}
 						else {
 							r.compute(subMonitor); // refresh result
 						}
 						if (r.toParametersFile(outfile)) {
-							System.out.println(NLS.bind("Parameters exported to the {0} file.", outfile));
+							System.out.println(NLS.bind(TXMUIMessages.ExportResultParameters_ParametersExportedToTheP0File, outfile));
 						}
 						
 						if (outfile.exists()) {
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/export/ImportResult.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/export/ImportResult.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/export/ImportResult.java	(revision 3445)
@@ -124,7 +124,7 @@
 						TXMResult r = parent.importResult(outfile);
 						CorporaView.refreshObject(r);
 						if (r != null) {
-							System.out.println(NLS.bind("{0} result imported from the {0} file.", r, outfile));
+							System.out.println(NLS.bind(TXMUIMessages.P0ResultsImportedFromTheP1File, r, outfile));
 						}
 					}
 					catch (ThreadDeath td) {
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/export/ImportResultParameters.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/export/ImportResultParameters.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/export/ImportResultParameters.java	(revision 3445)
@@ -125,7 +125,7 @@
 						TXMResult r = (TXMResult) s;
 						if (r.importParameters(outfile)) {
 							CorporaView.refreshObject(r);
-							System.out.println(NLS.bind("Parameter imported from the {0} file.", outfile));
+							System.out.println(NLS.bind("Parameter imported from the {0} file.", outfile)); //$NON-NLS-1$
 							SWTEditorsUtils.refreshEditors(r);
 						}
 					}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/export/ExportResult.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/export/ExportResult.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/export/ExportResult.java	(revision 3445)
@@ -152,7 +152,7 @@
 							Log.info(TXMUIMessages.bind(TXMUIMessages.doneInP0, ExecTimer.stop()));
 						}
 						else {
-							Log.warning("Exported object is not a TXMResult result");
+							Log.warning(TXMUIMessages.TheExportedObjectIsNotATXMResultResult);
 							return Status.CANCEL_STATUS;
 						}
 						
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/CloneTXMResult.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/CloneTXMResult.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/CloneTXMResult.java	(revision 3445)
@@ -33,6 +33,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 import org.txm.core.results.TXMResult;
 import org.txm.rcp.handlers.BaseAbstractHandler;
+import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.views.corpora.CorporaView;
 import org.txm.utils.logger.Log;
 
@@ -57,7 +58,7 @@
 		//System.out.println("CloneTXMResult.execute() selection class: " + selection);
 
 		if (!(selection.getFirstElement() instanceof TXMResult))	{
-			System.out.println("Only TXMResult can be cloned.");
+			System.out.println(TXMUIMessages.OnlyATXMResultCanBeCloned);
 			return super.logCanNotExecuteCommand(selection);
 		}
 
@@ -65,7 +66,7 @@
 
 		TXMResult parent = srcNode.getParent();
 		if (srcNode.isAltered()) {
-			Log.info("Warning: only parameters are cloned, manual changes are not transfered.");
+			Log.info(TXMUIMessages.WarningOnlyParametersAreClonedManualChangesAreNotTransfered);
 		}
 		srcNode.clone(false);
 
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/CloneTXMResultTree.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/CloneTXMResultTree.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/CloneTXMResultTree.java	(revision 3445)
@@ -33,6 +33,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 import org.txm.core.results.TXMResult;
 import org.txm.rcp.handlers.BaseAbstractHandler;
+import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.views.corpora.CorporaView;
 import org.txm.utils.logger.Log;
 
@@ -57,7 +58,7 @@
 		//System.out.println("CloneTXMResult.execute() selection class: " + selection);
 
 		if (!(selection.getFirstElement() instanceof TXMResult))	{
-			System.out.println("Only TXMResult can be cloned");
+			System.out.println(TXMUIMessages.OnlyATXMResultCanBeCloned);
 			return super.logCanNotExecuteCommand(selection);
 		}
 
@@ -65,7 +66,7 @@
 
 		TXMResult parent = srcNode.getParent();
 		if (srcNode.isAltered()) {
-			Log.info("Warning: only parameters are cloned, manual changes are not transfered.");
+			Log.info(TXMUIMessages.WarningOnlyParametersAreClonedManualChangesAreNotTransfered);
 		}
 		srcNode.clone();
 
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/DeleteObject.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/DeleteObject.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/results/DeleteObject.java	(revision 3445)
@@ -83,7 +83,7 @@
 			return null;
 		}
 		
-		JobHandler job = new JobHandler("Deleting", true) {
+		JobHandler job = new JobHandler(TXMUIMessages.Deleting, true) {
 			
 			@Override
 			protected IStatus run(IProgressMonitor monitor) {
@@ -157,7 +157,7 @@
 				List<Object> deleted = delete(object);
 				deletedObjects.addAll(deleted);
 				if (deleted.size() == 0) {
-					StatusLine.setMessage(TXMUIMessages.errorColonDeleteReturnedFalse + " : " + object);
+					StatusLine.setMessage(TXMUIMessages.errorColonDeleteReturnedFalse + " : " + object); //$NON-NLS-1$
 					return new HashSet<>();
 				}
 				// remove results already deleted
@@ -242,7 +242,7 @@
 			}
 		}
 		else {
-			Log.severe(TXMCoreMessages.bind("Can not delete: {0}.", object));
+			Log.severe(TXMCoreMessages.bind(TXMUIMessages.CanNotDeleteP0, object));
 		}
 		
 		return deleted;
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/files/CreateFile.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/files/CreateFile.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/files/CreateFile.java	(revision 3445)
@@ -61,7 +61,7 @@
 	public Object execute(ExecutionEvent event) throws ExecutionException {
 
 		//get scripts dir
-		String scriptCurrentDir = Toolbox.getTxmHomePath() + "/scripts";
+		String scriptCurrentDir = Toolbox.getTxmHomePath() + "/scripts"; //$NON-NLS-1$
 
 		boolean useSavedValue = true; // if a file/folder is selected, dont use the saved value
 		
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/files/EditFile.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/files/EditFile.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/files/EditFile.java	(revision 3445)
@@ -99,7 +99,7 @@
 			IWorkbenchPage page = window.getActivePage();
 
 			String ID = null;
-			if (file.getName().toLowerCase().endsWith(".xml")) {
+			if (file.getName().toLowerCase().endsWith(".xml")) { //$NON-NLS-1$
 				ID = "org.eclipse.wst.xml.ui.internal.tabletree.XMLMultiPageEditorPart"; //$NON-NLS-1$
 			} else {
 				ID = TxtEditor.ID;
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/files/DownloadFile.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/files/DownloadFile.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/files/DownloadFile.java	(revision 3445)
@@ -12,6 +12,7 @@
 import org.eclipse.core.commands.ExecutionEvent;
 import org.eclipse.core.commands.ExecutionException;
 import org.eclipse.osgi.util.NLS;
+import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.utils.DownloadJobHandler;
 import org.txm.utils.logger.Log;
 
@@ -43,13 +44,13 @@
 				final int contentLength = connection.getContentLength(); 
 
 				if (contentLength == -1) {
-					System.out.println("Could not get file size");
+					System.out.println("Could not get file size"); //$NON-NLS-1$
 				} else {
 					done = false;
 
-					System.out.print(NLS.bind("Downloading {0} file...", url));
+					System.out.print(NLS.bind(TXMUIMessages.DownloadFileFromP0, url));
 					
-					DownloadJobHandler job = new DownloadJobHandler("Download "+url, url, outfile, contentLength, done);
+					DownloadJobHandler job = new DownloadJobHandler(TXMUIMessages.DownloadP0+url, url, outfile, contentLength, done);
 					job.setUser(true);
 					job.schedule();	
 					
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/files/PasteFile.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/files/PasteFile.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/files/PasteFile.java	(revision 3445)
@@ -106,7 +106,7 @@
 				// check clipboard content
 				String[] paths = IOClipboard.readFiles();
 				if (paths == null) return;
-				System.out.println("Coping files: "+StringUtils.join(Arrays.asList(paths), ", "));
+				System.out.println(TXMUIMessages.CopingFilesP0+StringUtils.join(Arrays.asList(paths), ", ")); //$NON-NLS-2$
 				for (String path : paths) {
 					File source = new File(path);
 					dest = new File(folder, source.getName());
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/files/EditSelectedFile.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/files/EditSelectedFile.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/handlers/files/EditSelectedFile.java	(revision 3445)
@@ -47,6 +47,7 @@
 import org.eclipse.ui.ide.FileStoreEditorInput;
 import org.txm.Toolbox;
 import org.txm.rcp.editors.TxtEditor;
+import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.swt.dialog.LastOpened;
 import org.txm.utils.logger.Log;
 
@@ -79,11 +80,11 @@
 		}
 
 		if (file == null) {
-			System.out.println("Selection has no file. Aborting.");
+			System.out.println(TXMUIMessages.SelectionHasNoFileAborting);
 			return null;
 		} else {
 			if (file.isDirectory()) {
-				System.out.println("Selected file is a directory. Aborting.");
+				System.out.println(TXMUIMessages.TheSelectedFileIsADirectory);
 				return null;
 			} else {
 				openfile(file.getAbsolutePath());
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/menu/MacrosCorporaMenuContribution.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/menu/MacrosCorporaMenuContribution.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/menu/MacrosCorporaMenuContribution.java	(revision 3445)
@@ -19,6 +19,6 @@
 		String w = Toolbox.getTxmHomePath();
 		if (w == null || w.length() == 0) return null;
 
-		return new File(w, "scripts/groovy/user/org/txm/macro/ui/menu/window");
+		return new File(w, "scripts/groovy/user/org/txm/macro/ui/menu/window"); //$NON-NLS-1$
 	}
 }
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/menu/MacrosEditorMenuContribution.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/menu/MacrosEditorMenuContribution.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/menu/MacrosEditorMenuContribution.java	(revision 3445)
@@ -19,6 +19,6 @@
 		String w = Toolbox.getTxmHomePath();
 		if (w == null || w.length() == 0) return null;
 
-		return new File(w, "scripts/groovy/user/org/txm/macro/ui/menu/object");
+		return new File(w, "scripts/groovy/user/org/txm/macro/ui/menu/object"); //$NON-NLS-1$
 	}
 }
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/menu/MacrosMenuContribution.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/menu/MacrosMenuContribution.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/menu/MacrosMenuContribution.java	(revision 3445)
@@ -19,6 +19,7 @@
 import org.txm.rcp.IImageKeys;
 import org.txm.rcp.TXMWindows;
 import org.txm.rcp.handlers.scripts.ExecuteGroovyMacro;
+import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.views.corpora.CorporaView;
 import org.txm.utils.logger.Log;
 
@@ -56,7 +57,7 @@
 		String w = Toolbox.getTxmHomePath();
 		if (w == null || w.length() == 0) return null;
 		
-		return new File(w, "scripts/groovy/user/org/txm/macro/");
+		return new File(w, "scripts/groovy/user/org/txm/macro/"); //$NON-NLS-1$
 	}
 	
 	public void onOpen(Menu menu, int index) {
@@ -75,11 +76,11 @@
 			}
 			
 			MenuItem menuItem = new MenuItem(menu, SWT.CHECK, index);
-			menuItem.setText("<no macro>");
+			menuItem.setText("<no macro>"); //$NON-NLS-1$
 			menuItem.addSelectionListener(new SelectionAdapter() {
 				public void widgetSelected(SelectionEvent e) {
-					File dir = new File(Toolbox.getTxmHomePath(), "scripts/groovy/user/"+getId().replace(".", "/"));
-					Log.info(NLS.bind("To populate this menu, you must create macros in the '{0}' macro directory.", dir));
+					File dir = new File(Toolbox.getTxmHomePath(), "scripts/groovy/user/"+getId().replace(".", "/")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+					Log.info(NLS.bind(TXMUIMessages.ToPopulateTthisMenuCreateMacrosInTheP0MacroDirectory, dir));
 				}
 			});
 			return;
@@ -118,12 +119,12 @@
 			
 		});
 		for (File f : files) {
-			if (f.getName().endsWith("Macro.groovy")) {
+			if (f.getName().endsWith("Macro.groovy")) { //$NON-NLS-1$
 				MenuItem menuItem = new MenuItem(menu, SWT.PUSH);
 				String name = f.getName().substring(0, f.getName().length()-12);
-				name = name.replaceAll("([0-9]++)", " $1 ");
-				name = name.replaceAll("(To)", " To ");
-				name = name.replaceAll("([A-Z]++)([^A-Z])", " $1$2");
+				name = name.replaceAll("([0-9]++)", " $1 "); //$NON-NLS-1$ //$NON-NLS-2$
+				name = name.replaceAll("(To)", " To "); //$NON-NLS-1$ //$NON-NLS-2$
+				name = name.replaceAll("([A-Z]++)([^A-Z])", " $1$2"); //$NON-NLS-1$ //$NON-NLS-2$
 				
 				menuItem.setText(name);
 				menuItem.setImage(IImageKeys.getImage(IImageKeys.SCRIPT_RUN));
@@ -150,7 +151,7 @@
 		public void widgetSelected(SelectionEvent e) {
 			IWorkbenchWindow acWindow = TXMWindows.getActiveWindow();
 			IWorkbenchPart page = acWindow.getActivePage().getActivePart();
-			ExecuteGroovyMacro.execute(macro.getAbsolutePath(), page, CorporaView.getInstance().getTreeViewer().getSelection(), "", null, null);
+			ExecuteGroovyMacro.execute(macro.getAbsolutePath(), page, CorporaView.getInstance().getTreeViewer().getSelection(), "", null, null); //$NON-NLS-1$
 		}
 	}
 	
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/messages/TXMUIMessages.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/messages/TXMUIMessages.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/messages/TXMUIMessages.java	(revision 3445)
@@ -15,16 +15,50 @@
 	public static String theP0directoryNotABinaryCorpus;
 	
 	public static String P0CorpusLoaded;
+
+	public static String P0ResultsImportedFromTheP1File;
 	
 	public static String EMPTY;
+
+	public static String EmptyPropertyValuecode;
+
+	public static String EnableCollapsibleMetadata;
+
+	public static String EnterTheNewNameToShowInTheCorpusView;
+
+	public static String ErrorCantUpdateTheCorpusNoTXMDirectoryFoundP0;
+
+	public static String ErrorCantUpdateTheCorpusNoTXTSlashP0DirectoryFoundP1;
+
+	public static String ErrorCantUpdateTheCorpusNoXMLFilesFoundInP0;
+
+	public static String ErrorNoProjectLoaded;
+
+	public static String ErrorTheAvailablePropertiesListIsNULL;
+
+	public static String ErrorWhileSavingParameters;
 	
+	public static String ExecuteRTextSelectionNotImplemented;
+
 	public static String Explorer_4;
 	
 	public static String Explorer_5;
 	
 	public static String Explorer_7;
 	
+	public static String ExportResultParameters_ParametersExportedToTheP0File;
+
+	public static String ExportResultParameters_WarningOnlyTheParametersAreExportedManualChangesAreNotTransfered;
+
+	public static String FailedToLoadTheP0Corpus;
+
+	public static String FailedToOpenTheEditorNoContextGiven;
+
 	public static String FileTreeContentProvider_4;
+
+	public static String ForceUpdateOfNonModifiedTexts;
+
+	public static String Forward;
 	
 	public static String _1;
 	
@@ -1088,6 +1122,90 @@
 	
 	public static String seeTheQuoteSectionIn;
 	
+	public static String TheAnnotateImportParameterHasBeenActivatedSinceTreeTaggerIsInstalled;
+
+	public static String TheAnnotateImportParameterWasNotActivatedSinceTreeTaggerIsNotInstalled;
+
+	public static String TheCorpushasBeenDeletedSincePleaseReOpenTheImportForm;
+
+	public static String TheCorpusSourceDirectory;
+
+	public static String TheDownloadedFileIsNotATXMCorpus;
+
+	public static String TheExportedObjectIsNotATXMResultResult;
+
+	public static String TheP0ArchiveIsNotATXMCorpus;
+
+	public static String ThereIsNotEnoughPercentMarksInP0ForTheP1Properties;
+
+	public static String TheSelectedFileIsADirectory;
+
+	public static String TheSourceDirectoryContainsTheSourcesFilesReadByTheImportModule;
+
+	public static String ThisWillRestartTXM;
+
+	public static String ToPopulateTthisMenuCreateMacrosInTheP0MacroDirectory;
+
+	public static String Transcriptions;
+
+	public static String OpenTestEditor_0;
+
+	public static String WarningNoTXMDirectoryP0;
+
+	public static String WarningNoXMLTXMFilesDirectoryP0;
+
+	public static String WarningOnlyParametersAreClonedManualChangesAreNotTransfered;
+
+	public static String WarningYouNeedAdministratorPrivilegesToFullyUpdateTXM;
+
+	public static String XMLTXMFilesExportedInP0;
+	
+	public static String CrashLogsDirectory;
+
+	public static String CreatePagesForSections;
+	
+	public static String IfNotCheckedTheEditionPagesAreNotUpdatedAndMightNotReflectThechanges;
+
+	public static String ImageDirectory;
+
+	public static String IndexInterviewerSpeech;
+
+	public static String IndexTranscriberTranscriptionMetadata;
+
+	public static String InstallationDirectory;
+	
+	public static String InstanceConfigurationDirectory;
+	
+	public static String InstanceConfigurationFile;
+	
+	public static String LogsDirectory;
+	
+	public static String Open;
+
+	public static String OpenEtc;
+
+	public static String OpeningCredentialDialog;
+
+	public static String OpeningTheP0Corpus;
+	
+	public static String OpenTheSelectedPathWithTheDefaultToolSetByTheSystem;
+
+	public static String Options;
+	
+	public static String Paginate;
+
+	public static String Paths;
+
+	public static String Properties;
+	
+	public static String TXMCommonPathListClickOnTheOpenButtonEtc;
+	
+	public static String TXMPaths;
+	
+	public static String TXMUserHomeDirectory;
+	
+	public static String What;
+	
 	public static String TRSSection_0;
 
 	public static String TRSSection_1;
@@ -1117,6 +1235,12 @@
 	public static String TXMUserDirectoryIsSetToP0ButTXMCantCdInThisDirectory;
 	
 	public static String TXMUserDirectoryIsSetToP0ButTXMCantWriteInThisDirectory;
+
+	public static String TXMWasNotCorrectlyStopped;
+
+	public static String TXMWasNotRestartedNormally;
+
+	public static String TXTStartingError;
 	
 	public static String selectWorkingDirectory;
 	
@@ -1146,6 +1270,34 @@
 	
 	public static String loginToP0;
 	
+	public static String SelectADirectory;
+
+	public static String SelectionHasNoFileAborting;
+
+	public static String SelectionMustBeACorpusAborting;
+
+	public static String SelectionP0MustBeAcorpusAborting0;
+
+	public static String SelectTheImportLanguageToUse;
+
+	public static String SelectTheSourceDirectory;
+
+	public static String ShowADialogBoxWhenASevereErrorOccurs;
+
+	public static String ShowMoreUpdateParametersBeforeUpdating;
+
+	public static String SomeAnnotationsAreNotSaved;
+
+	public static String SomeAnnotationsAreNotSavedAndWillBeLostAfterTXMIsClosed;
+
+	public static String SomeFieldsAreNotCorrectlyFilled;
+
+	public static String SomeResultHaveBeenMannuallyModified;
+
+	public static String SomeResultHaveBeenManuallyModified;
+
+	public static String SourceDirectory;
+
 	public static String SourceDirectoryPage_0;
 	
 	public static String SourceDirectoryPage_1;
@@ -1169,11 +1321,107 @@
 	public static String SourceDirectoryPage_6;
 	
 	public static String SourceDirectoryPage_8;
+
+	public static String Sources;
+
+	public static String StartCorpusUpdate;
+
+	public static String Structures;
 	
 	public static String updateWarning;
 	
 	public static String abortingWindowsUpdate;
+
+	public static String AllEditorsUsingThisCorpusWillBeClosedandtheCorpusWillBeUpdatedContinue;
+
+	public static String AnImportDotXMLImportConfigurationFileWasFoundRestoringImportParametersUsingThisfile;
+
+	public static String AnnotationsEngines;
+
+	public static String AskTheLanguageWhenImportingFromAClipboard;
+
+	public static String AutomaticallyUpdateSubResults;
+
+	public static String AvailableSourceFilesEncodingCodeOnlyMostUsedAreShown;
+
+	public static String Back;
+
+	public static String BuildFacsEdition;
+
+	public static String BuildWordIdentifiers;
+
+	public static String Cancel;
+
+	public static String CancelCredentialSettings;
+
+	public static String CanNotDeleteP0;
+
+	public static String ChangingTheWorkingDirectory;
+
+	public static String ClickToSelectTheCorpusSourceDirectory;
+
+	public static String Closing;
+
+	public static String ClosingTheP0Corpus;
+
+	public static String CommonSourcesLangOfTreeTaggerModels;
+
+	public static String CompilingP0Etc;
+
+	public static String ContinueAndLostTheUnsavedAnnotations;
+
+	public static String ConvertingEtc;
+
+	public static String CopingFilesP0;
+
+	public static String Copy;
+
+	public static String CouldNotAddTheDefaultExtensionRepository;
+
+	public static String CouldNotAddTheDefaultUpdateRepository;
+
+	public static String CouldNotAddTheP0ExtensionsUpdateRepositoryP1;
+
+	public static String CouldNotAddTheP0UpdateRepositoryP1;
+
+	public static String CouldNotCreateTheGrrovyScriptEngineAborting;
+
+	public static String CouldNotLoadThecorpusFromtheP0DirectoryP1;
+
+	public static String CouldNotUpdateTXMP0;
+
+	public static String CQPStructurePropertiesProjection;
+
+	public static String DashImportedByP0;
+
+	public static String DefaultEdition;
+
+	public static String Deleting;
+
+	public static String Done;
+
+	public static String DoneP0;
+
+	public static String DontAskAgain;
+
+	public static String DownloadFileFromP0;
+
+	public static String DownloadP0;
+
+	public static String DoYouWantToStartADiagnosticOfYourCorporaEtc;
+
+	public static String NoCommandFoundWithNameP0;
+
+	public static String NoCopiedTextAborting;
+
+	public static String NoGroovyEntryPointScriptSelectedAborted;
 	
+	public static String Note;
+
+	public static String NoteElements;
+
+	public static String NoteElementsThatEncodePonctualNotes;
+
 	public static String pattern;
 
 	public static String performWordSegmentationWithinWord;
@@ -1184,6 +1432,54 @@
 
 	public static String tabulation;
 	public static String nothing;
+
+	public static String OK;
+
+	public static String OKOpenTheDiagnosticFile;
+
+	public static String OnlyATXMResultCanBeCloned;
+
+	public static String Reload;
+
+	public static String RemoveTemporarydirectories;
+
+	public static String RenameP0;
+
+	public static String RestartingTXM;
+
+	public static String UpdateCorpus;
+
+	public static String UpdateEditionsWhenUpdatingACorpus;
+
+	public static String UpdateP0P1Import;
+
+	public static String UpdateParametersForTheP0ImportModule;
+
+	public static String UpdateSiteAddress;
+
+	public static String UpdateSiteIsNotReachableP0P1Aborting;
+
+	public static String UpdateTheCorpusFromItsXMLTXMFiles;
+
+	public static String UpdateTheEditionPages;
+
+	public static String UpdateTheP0CorpusUsingP1;
+
+	public static String UseThisToChangeTheCorpusParametersBeforeUpdatingTheCorpus;
+
+	public static String WaitForAllJobsToEndAndRetry;
+
+	public static String WhatLanguageMustBeUsedToImportTheClipboardContent;
+
+	public static String WhenCheckedThisOptionMakeTXMUpdateAllIndexesAndEditionsOfAllTexts;
+
+	public static String Words;
+
+	public static String WorkspacePathCouldNotBeFound;
+
+	public static String YouNeedToSetAsManyPercentSPrintfMarksAsSelectedProperties;
+
+	public static String YouReGoingToLostThoseModificationsIfNotAlreadyExportedContinue;
 	
 	static {
 		// initialize resource bundle
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages.properties
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages.properties	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/messages/messages.properties	(revision 3445)
@@ -9,12 +9,28 @@
 sprintf_pattern_tooltip=sprintf pattern
 
 EMPTY = \	\n
+EmptyPropertyValuecode=Empty property value code
+EnableCollapsibleMetadata=Enable collapsible metadata
+EnterTheNewNameToShowInTheCorpusView=Enter the new name to show in the Corpus view
+ErrorCantUpdateTheCorpusNoTXMDirectoryFoundP0=Error: Can't update the corpus: no 'txm' directory found: {0}
+ErrorCantUpdateTheCorpusNoTXTSlashP0DirectoryFoundP1=Error: Can't update the corpus: no 'txm/{0}' directory found: {1}
+ErrorCantUpdateTheCorpusNoXMLFilesFoundInP0=Error: Can't update the corpus: no XML files found in {0}
+ErrorNoProjectLoaded=Error: no project loaded.
+ErrorTheAvailablePropertiesListIsNULL=Error: the available properties list is NULL.
+ErrorWhileSavingParameters=Error while saving parameters.
 
+ExecuteRTextSelectionNotImplemented=Execute R text selection not implemented
 Explorer_4 = ⇧
 Explorer_5 = ↻
 Explorer_7 = ⌂
+ExportResultParameters_ParametersExportedToTheP0File=Parameters exported to the {0} file.
+ExportResultParameters_WarningOnlyTheParametersAreExportedManualChangesAreNotTransfered=Warning: only parameters are exported, manual changes are not transfered.
 
+FailedToLoadTheP0Corpus=Failed to load the {0} corpus.
+FailedToOpenTheEditorNoContextGiven=Failed to open editor: no context given.
 FileTreeContentProvider_4 = '
+ForceUpdateOfNonModifiedTexts=Force update of non-modified texts
+Forward=Forward
 
 theP0FileAlreadyExistsWouldYouLikeToReplaceIt=the {0} file already exists. Would you like to replace it?
 LoadBinaryCorporaDirectory_aCorpusNamedP0alreadyExistsLoadingOfP1Canceled = A corpus named {0} already exists, loading of {1} canceled.
@@ -24,7 +40,29 @@
 LoadBinaryCorporaDirectory_selectTheTXMCorpusToLoadIn=Select the corpus to load of {0}.
 
 P0CorpusLoaded = {0} corpus loaded.
+P0ResultsImportedFromTheP1File={0} result imported from the {0} file.
 
+SelectADirectory=Select a directory
+SelectionHasNoFileAborting=Selection has no file. Aborting.
+SelectionMustBeACorpusAborting=Selection must be a corpus. Aborting
+SelectionP0MustBeAcorpusAborting0=Selection must be a corpus. Aborting
+SelectTheImportLanguageToUse=Select the import language to use
+SelectTheSourceDirectory=Select source directory
+ShowADialogBoxWhenASevereErrorOccurs=Show a dialog box when a severe error occurs
+ShowMoreUpdateParametersBeforeUpdating=Show more update parameters before updating
+SomeAnnotationsAreNotSaved=Some annotations are not saved
+SomeAnnotationsAreNotSavedAndWillBeLostAfterTXMIsClosed=Some annotations are not saved and will be lost after TXM is closed:
+SomeFieldsAreNotCorrectlyFilled=Some fields are not correctly filled.
+SomeResultHaveBeenMannuallyModified=Some result have been manually modified: 
+SomeResultHaveBeenManuallyModified=Some result have been manually modified
+OpenTestEditor_0=Open...
+WarningNoTXMDirectoryP0=Warning: no 'txm' directory: 
+WarningNoXMLTXMFilesDirectoryP0=Warning: no XML-TXM files in directory: 
+WarningOnlyParametersAreClonedManualChangesAreNotTransfered=Warning: only parameters are cloned, manual changes are not transfered.
+WarningOnlyParametersAreClonedManualChangesAreNotTransfered=Warning: only parameters are cloned, manual changes are not transfered.
+WarningYouNeedAdministratorPrivilegesToFullyUpdateTXM=Warning: you need administrator privileges to fully update TXM (installed in {0}). Some updates might not be fully installed.
+XMLTXMFilesExportedInP0=XML-TXM files exported in: 
+SourceDirectory=Source directory
 SourceDirectoryPage_0  = Select source directory
 SourceDirectoryPage_1  = Sources
 SourceDirectoryPage_10 = Corpus identifier
@@ -37,7 +75,46 @@
 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)
+Sources=Sources
+StartCorpusUpdate=Start corpus update
+Structures=Structures
+CrashLogsDirectory=Crash logs directory
+CreatePagesForSections=Create pages for sections
+IfNotCheckedTheEditionPagesAreNotUpdatedAndMightNotReflectThechanges=If not checked, the edition pages are not updated and might not reflect the changes
+ImageDirectory=Images directory 
+IndexInterviewerSpeech=Index interviewer speech
+IndexTranscriberTranscriptionMetadata=Index Transcriber transcription metadata
+InstallationDirectory=Installation directory
+InstanceConfigurationDirectory=Instance configuration directory
+InstanceConfigurationFile=Instance configuration file
+LogsDirectory=Logs directory
+Open=Open
+OpenEtc=Open...
+OpeningCredentialDialog=Opening credential dialog...
+OpeningTheP0Corpus=Opening corpus 
+OpenTheSelectedPathWithTheDefaultToolSetByTheSystem=Open the selected path with the default tool set by the system.
+Options=Options
+Paginate=Paginate
+Paths=Paths
+Properties=Properties
+TXMCommonPathListClickOnTheOpenButtonEtc=TXM commons paths list.\nClick on the 'Open...' button or double-click a line to open the selected path.
+TXMPaths=TXM's paths
+TXMUserHomeDirectory=TXM user home directory
+What=What
 
+TheAnnotateImportParameterHasBeenActivatedSinceTreeTaggerIsInstalled=The 'annotate' import parameter has been activated since TreeTagger is installed.
+TheAnnotateImportParameterWasNotActivatedSinceTreeTaggerIsNotInstalled=The 'annotate' import parameter was not activated since TreeTagger is not installed.
+TheCorpushasBeenDeletedSincePleaseReOpenTheImportForm=The corpus has been deleted since. Please re-open the import form.
+TheCorpusSourceDirectory=The corpus source directory
+TheDownloadedFileIsNotATXMCorpus=The downloaded file is not a TXM corpus.
+TheExportedObjectIsNotATXMResultResult=Exported object is not a TXMResult result
+TheP0ArchiveIsNotATXMCorpus=The {0} archive is not a TXM corpus.
+ThereIsNotEnoughPercentMarksInP0ForTheP1Properties=There is not enough ''%'' marks in ''{0}'' for the ''{1}'' properties.
+TheSelectedFileIsADirectory=Selected file is a directory. Aborting.
+TheSourceDirectoryContainsTheSourcesFilesReadByTheImportModule=The source directory contains the sources files read by the import module.
+ThisWillRestartTXM=This will restart TXM.
+ToPopulateTthisMenuCreateMacrosInTheP0MacroDirectory=To populate this menu, you must create macros in the '{0}' macro directory.
+Transcriptions=Transcriptions
 TRSSection_0=Transcriptions
 TRSSection_1=Display locutor names
 TXMCanNotFetchUpdatesP0 = TXM can not fetch updates ({0}).
@@ -65,6 +142,9 @@
 TXMUserDirectoryIsSetToP0ButTXMCantWriteInThisDirectory = TXM user directory is set to '{0}' but TXM can't write in this directory.
 
 TXMisDistributedUnderLicence = TXM is released under the 
+TXMWasNotCorrectlyStopped=TXM was not correctly stopped
+TXMWasNotRestartedNormally=TXM not restarted normally.
+TXTStartingError=TXM starting error
 
 _1                                                                                                                                                                  = 1.\	
 _2                                                                                                                                                                  = 2.\	
@@ -1134,4 +1214,74 @@
 
 updateWarning=Update interrupted
 abortingWindowsUpdate=It is necessary to launch TXM as administrator to be able to check and install updates.\nPlease quit TXM, re-launch it as administrator, then re-launch this command to be able to check and install updates.
+AllEditorsUsingThisCorpusWillBeClosedandtheCorpusWillBeUpdatedContinue=All editors using this corpus will be closed and the corpus will be update.\n\nContinue?
+AnImportDotXMLImportConfigurationFileWasFoundRestoringImportParametersUsingThisfile=An import.xml import configuration file was found. Restoring import parameters using this file.
+AnnotationsEngines=Annotation engines
+AskTheLanguageWhenImportingFromAClipboard=Ask lang when importing from clipboard
+AutomaticallyUpdateSubResults=Automatically update sub-results
+AvailableSourceFilesEncodingCodeOnlyMostUsedAreShown=Source files encoding code (only the most used are shown)
+Back=Back
+BuildFacsEdition=Build 'facs' edition
+BuildWordIdentifiers=Build word identifiers
+Cancel=Cancel
+CancelCredentialSettings=Cancel credential settings
+CanNotDeleteP0=Can not delete: {0}.
+ChangingTheWorkingDirectory=Changing working directory...
+ClickToSelectTheCorpusSourceDirectory=Click to select the corpus source directory
+Closing=Closing
+ClosingTheP0Corpus=Closing corpus 
+CommonSourcesLangOfTreeTaggerModels=Sources lang (show only the TreeTagger common language)
+CompilingP0Etc=Compiling {0}...
+ContinueAndLostTheUnsavedAnnotations=\n\nContinue and lost the unsaved annotations 
+ConvertingEtc=Converting...
+CopingFilesP0=Coping files: 
+Copy=Copy
+CouldNotAddTheDefaultExtensionRepository=Could not add update default extensions repository: 
+CouldNotAddTheDefaultUpdateRepository=Could not add update default repository: 
+CouldNotAddTheP0ExtensionsUpdateRepositoryP1=Could not add the extension update {0} repository: 
+CouldNotAddTheP0UpdateRepositoryP1=Could not add update {0} repository: 
+CouldNotCreateTheGrrovyScriptEngineAborting=Could not create the Groovy script engine. Aborting...
+CouldNotLoadThecorpusFromtheP0DirectoryP1=Could not load corpus from 
+CouldNotUpdateTXMP0=Could not update TXM: 
+CQPStructurePropertiesProjection=CQP Structure properties projections
+DashImportedByP0=- imported by: {0}
+DefaultEdition=Default edition 
+Deleting=Deleting
+Done=Done.
+DoneP0=Done: 
+DontAskAgain=Don't ask again
+DownloadFileFromP0=Downloading {0} file...
+DownloadP0=Download 
+DoYouWantToStartADiagnosticOfYourCorporaEtc=Do you want to start a diagnostic of your corpora?\n\n(the diagnostic will be saved in the ''{0}'' file, the path will be copied in the clipboard)
+NoCommandFoundWithNameP0=No command found with name: 
+NoCopiedTextAborting=No copied text. Aborting.
+NoGroovyEntryPointScriptSelectedAborted=No Groovy entry point script selected. Aborted.
+Note=Note
+NoteElements=Note elements
+NoteElementsThatEncodePonctualNotes=Note elements that encodes ponctual notes
+OK=OK
+OKOpenTheDiagnosticFile=OK, open the diagnostic file
+OnlyATXMResultCanBeCloned=Only TXMResult can be cloned
+OnlyATXMResultCanBeCloned=Only TXMResult can be cloned.
+Reload=Reload
+RemoveTemporarydirectories=Remove temporary directories
+RenameP0=Rename 
+RestartingTXM=Restarting...
+UpdateCorpus=Update corpus
+UpdateEditionsWhenUpdatingACorpus=Update editions when updating a corpus
+UpdateP0P1Import=Update {0} ({1} import)
+UpdateParametersForTheP0ImportModule=Update parameters for the {0} import module
+UpdateSiteAddress=Update site address
+UpdateSiteIsNotReachableP0P1Aborting=Update site is not reachable ({0}): {1}. Aborting.
+UpdateTheCorpusFromItsXMLTXMFiles=Update the corpus from its XML-TXM files
+UpdateTheEditionPages=Update the edition pages
+UpdateTheP0CorpusUsingP1=Updating corpus 
+UseThisToChangeTheCorpusParametersBeforeUpdatingTheCorpus=Use this to change the corpus parameters before updating the corpus
+WaitForAllJobsToEndAndRetry=Wait for all jobs to end and retry
+WhatLanguageMustBeUsedToImportTheClipboardContent=What language must be used to import the clipboard content?
+WhenCheckedThisOptionMakeTXMUpdateAllIndexesAndEditionsOfAllTexts=when checked this option make TXM update all indexes & editions of all texts even if their XML-TXM file is not modified (it takes more time to update).
+Words=Words
+WorkspacePathCouldNotBeFound=Workspace path could not be found.
 xmlTagNameThatEncodesWords=XML tag name that encodes words
+YouNeedToSetAsManyPercentSPrintfMarksAsSelectedProperties=you need to set as many %s printf marks as selected properties.
+YouReGoingToLostThoseModificationsIfNotAlreadyExportedContinue=You're going to lost those modifications if not already exported. Continue?
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/jface/ComboFieldEditor.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/jface/ComboFieldEditor.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/jface/ComboFieldEditor.java	(revision 3445)
@@ -24,7 +24,7 @@
 		Field field;
 		try {
 			Class<?> clazz = this.getClass().getSuperclass();
-			field = clazz.getDeclaredField("fCombo");
+			field = clazz.getDeclaredField("fCombo"); //$NON-NLS-1$
 			field.setAccessible(true);
 			Combo fCombo = (Combo) field.get(this);
 			return fCombo.getText();
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/notifications/AbstractNotificationPopup.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/notifications/AbstractNotificationPopup.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/notifications/AbstractNotificationPopup.java	(revision 3445)
@@ -27,6 +27,7 @@
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Monitor;
 import org.eclipse.swt.widgets.Shell;
+import org.txm.rcp.messages.TXMUIMessages;
 
 /**
  * A popup window with a title bar and message area for displaying notifications.
@@ -60,7 +61,7 @@
 
 	private Image lastUsedBgImage;
 
-	private final Job closeJob = new Job("Closing") {
+	private final Job closeJob = new Job(TXMUIMessages.Closing) {
 
 		@Override
 		protected IStatus run(IProgressMonitor monitor) {
@@ -127,7 +128,7 @@
 	 * @return the name to be used in the title of the popup.
 	 */
 	protected String getPopupShellTitle() {
-		return "TXM";
+		return "TXM"; //$NON-NLS-1$
 	}
 
 	protected Image getPopupShellImage(int maximumHeight) {
@@ -160,7 +161,7 @@
 		titleTextLabel.setCursor(parent.getDisplay().getSystemCursor(SWT.CURSOR_HAND));
 
 		final Label button = new Label(parent, SWT.NONE|SWT.BORDER);
-		button.setText("x");
+		button.setText("x"); //$NON-NLS-1$
 		button.setCursor(parent.getDisplay().getSystemCursor(SWT.CURSOR_HAND));
 		
 		MouseAdapter closeAdapter = new MouseAdapter() {
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/notifications/Notifications.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/notifications/Notifications.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/notifications/Notifications.java	(revision 3445)
@@ -8,7 +8,7 @@
 
 public class Notifications {
 
-	final static protected File notifySendFile = new File("/usr/bin/notify-send");
+	final static protected File notifySendFile = new File("/usr/bin/notify-send"); //$NON-NLS-1$
 	/**
 	 * Display a notification, must be called within the UI thread
 	 * @param title
@@ -28,7 +28,7 @@
 	 */
 	public static void simple(Display display, String title, String message) {
 		if (notifySendFile.exists() && notifySendFile.canExecute()) {
-				String[] cmds = {"/usr/bin/notify-send", title, message, "--icon=dialog-information"};
+				String[] cmds = {"/usr/bin/notify-send", title, message, "--icon=dialog-information"}; //$NON-NLS-1$ //$NON-NLS-2$
 				try {
 					Runtime.getRuntime().exec(cmds);
 				} catch (IOException e) {
@@ -37,7 +37,7 @@
 				}
 		} else {
 			if (display == null) {
-				Log.info(title+": "+message);
+				Log.info(title+": "+message); //$NON-NLS-1$
 			} else {
 				new SimpleNotification(display, title, message).open();
 			}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/Activator.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/Activator.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/Activator.java	(revision 3445)
@@ -68,7 +68,7 @@
 	public void start(BundleContext context) throws Exception {
 		super.start(context);
 		
-		System.out.println("TXM ACTIVATED. ALL SYSTEMS GO!");
+		System.out.println("TXM ACTIVATED. ALL SYSTEMS GO!"); //$NON-NLS-1$
 //		try {
 //			preventBrokenTXMINI();
 //		} catch(Exception e) {
@@ -81,20 +81,20 @@
 		
 		File dataDir = new File(Platform.getInstanceLocation().getURL().getFile());
 		File txmDir = dataDir.getParentFile();
-		File TXMINI = new File(txmDir, "TXM.ini");
+		File TXMINI = new File(txmDir, "TXM.ini"); //$NON-NLS-1$
 		if (TXMINI.exists()) {
-			System.out.println("Fixing TXM.ini path="+TXMINI);
-			BufferedReader reader = IOUtils.getReader(TXMINI, "UTF-8");
+			System.out.println("Fixing TXM.ini path="+TXMINI); //$NON-NLS-1$
+			BufferedReader reader = IOUtils.getReader(TXMINI, "UTF-8"); //$NON-NLS-1$
 			String line = reader.readLine();
 			StringBuilder content = new StringBuilder();
 			boolean first = true;
 			boolean found = false;
 			while (line != null) { // skip jar lines
-				if (line.startsWith("-startup")) {found = true;}
-				else if (line.startsWith("--launcher.library")) {found = true;}
-				else if (line.contains("plugins/org.eclipse.equinox.launcher")) {found = true;}
+				if (line.startsWith("-startup")) {found = true;} //$NON-NLS-1$
+				else if (line.startsWith("--launcher.library")) {found = true;} //$NON-NLS-1$
+				else if (line.contains("plugins/org.eclipse.equinox.launcher")) {found = true;} //$NON-NLS-1$
 				else {
-					if (!first) content.append("\n");
+					if (!first) content.append("\n"); //$NON-NLS-1$
 					content.append(line);
 					first = false;
 				}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/p2/plugins/InstallPluginHandler.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/p2/plugins/InstallPluginHandler.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/p2/plugins/InstallPluginHandler.java	(revision 3445)
@@ -63,8 +63,8 @@
 			Log.fine("Update levels: alpha="+alphaMode+" beta="+betaMode); //$NON-NLS-1$ //$NON-NLS-2$
 			
 			Version v = Activator.getDefault().getBundle().getVersion();
-			String version =  ""+v.getMajor()+"."+v.getMinor()+"."+v.getMicro();
-			String uriBase = TBXPreferences.getInstance().getString(TBXPreferences.UPDATESITE)+"/"+version+"/ext";
+			String version =  ""+v.getMajor()+"."+v.getMinor()+"."+v.getMicro(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			String uriBase = TBXPreferences.getInstance().getString(TBXPreferences.UPDATESITE)+"/"+version+"/ext"; //$NON-NLS-1$ //$NON-NLS-2$
 			
 			if (devMode) {
 				strategy.addLocation(new URI(uriBase+"/dev")); //$NON-NLS-1$
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/p2/plugins/TXMUpdateHandler.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/p2/plugins/TXMUpdateHandler.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/p2/plugins/TXMUpdateHandler.java	(revision 3445)
@@ -55,7 +55,7 @@
 
 public class TXMUpdateHandler extends UpdateHandler {
 	
-	public static final String ID = "org.txm.rcp.p2.plugins.TXMUpdateHandler";
+	public static final String ID = "org.txm.rcp.p2.plugins.TXMUpdateHandler"; //$NON-NLS-1$
 	
 	/**
 	 * Execute the command.
@@ -71,15 +71,15 @@
 //		}
 		
 		String key = event.getParameter("org.txm.rcp.parameters.update"); //$NON-NLS-1$
-		if ("true".equals(key)) {
+		if ("true".equals(key)) { //$NON-NLS-1$
 			String path = BundleUtils.getInstallDirectory();
 			if (path != null) {
 				try {
 					File installDirectory = new File(path);
-					Log.fine("Testing install directory rights: " + installDirectory);
+					Log.fine("Testing install directory rights: " + installDirectory); //$NON-NLS-1$
 					if (!installDirectory.canWrite() || !installDirectory.canExecute()) {
 						Log.warning(NLS.bind(
-								"Warning: you need administrator privileges to fully update TXM (installed in {0}). Some updates might not be fully installed.",
+								TXMUIMessages.WarningYouNeedAdministratorPrivilegesToFullyUpdateTXM,
 								installDirectory));
 						return null;
 					}
@@ -93,7 +93,7 @@
 		// Hacking p2 profile to be able to update installation directory even if
 		// -configuration is set
 		try {
-			Log.info("Looking for TXM updates...");
+			Log.info("Looking for TXM updates..."); //$NON-NLS-1$
 			
 			// flush console ?
 			org.eclipse.ui.console.IOConsole console = (IOConsole) (ConsolePlugin.getDefault().getConsoleManager().getConsoles())[0];
@@ -125,8 +125,8 @@
 							IInstallableUnit iu = everything.next();
 							String locked = profile.getInstallableUnitProperty(iu, IProfile.PROP_PROFILE_LOCKED_IU);
 							
-							if (locked != null && !("0".equals(locked))) {
-								profile.setInstallableUnitProperty(iu, IProfile.PROP_PROFILE_LOCKED_IU, "0");
+							if (locked != null && !("0".equals(locked))) { //$NON-NLS-1$
+								profile.setInstallableUnitProperty(iu, IProfile.PROP_PROFILE_LOCKED_IU, "0"); //$NON-NLS-1$
 								changed = true;
 							}
 						}
@@ -151,19 +151,19 @@
 			// from bundle org.eclipse.equinox.p2.console
 			
 			Object ret = super.execute(event);
-			Log.info("Done.");
+			Log.info(TXMUIMessages.Done);
 			
 			return ret;
 		}
 		catch (Exception e) {
-			Log.severe("Could not update TXM: " + e + ".");
+			Log.severe(TXMUIMessages.CouldNotUpdateTXMP0 + e + "."); //$NON-NLS-2$
 			Log.printStackTrace(e);
 		}
 		return null;
 	}
 	
 	public static boolean isUpdateSiteAvailable() {
-		String baseURLString = TBXPreferences.getInstance().getString(TBXPreferences.UPDATESITE) + "index.html";
+		String baseURLString = TBXPreferences.getInstance().getString(TBXPreferences.UPDATESITE) + "index.html"; //$NON-NLS-1$
 		try {
 			URL baseURL = new URL(baseURLString);
 			InputStream s = baseURL.openStream();
@@ -171,14 +171,14 @@
 			return true;
 		}
 		catch (Exception e) {
-			Log.warning(NLS.bind("Update site is not reachable ({0}): {1}. Aborting.", e.getMessage(), baseURLString));
+			Log.warning(NLS.bind(TXMUIMessages.UpdateSiteIsNotReachableP0P1Aborting, e.getMessage(), baseURLString));
 			return false;
 		}
 	}
 
 	public static boolean isWindowsAdministratorUser() {
 		String path = BundleUtils.getInstallDirectory();// System.getProperty("osgi.instance.area");
-		if (!path.startsWith("C:/Program Files/TXM")) {
+		if (!path.startsWith("C:/Program Files/TXM")) { //$NON-NLS-1$
 			return true; // TXM was not installed in program files no need to test admin user
 		}
 		
@@ -196,8 +196,8 @@
 			}));
 			
 			try {
-				preferences.put("TxmAdminAccessTestProperty", "TxmAdminAccessTestValue"); // SecurityException on Windows
-				preferences.remove("TxmAdminAccessTestProperty");
+				preferences.put("TxmAdminAccessTestProperty", "TxmAdminAccessTestValue"); // SecurityException on Windows //$NON-NLS-1$ //$NON-NLS-2$
+				preferences.remove("TxmAdminAccessTestProperty"); //$NON-NLS-1$
 				preferences.flush(); // BackingStoreException on Linux
 				return true;
 			}
@@ -222,7 +222,7 @@
 			return Display.getCurrent().getActiveShell();
 		}
 		catch (Exception e) {
-			Log.finer("Error: no active SWT shell available");
+			Log.finer("Error: no active SWT shell available"); //$NON-NLS-1$
 		}
 		return new Shell();
 	}
@@ -242,21 +242,21 @@
 		
 		File txmConfigDir = new File(location.getFile());
 		// File txmConfigDir = new File("/home/mdecorde/.txm"); // test only
-		File profileDir = new File(txmConfigDir, "p2/org.eclipse.equinox.p2.engine/profileRegistry/profile.profile");
+		File profileDir = new File(txmConfigDir, "p2/org.eclipse.equinox.p2.engine/profileRegistry/profile.profile"); //$NON-NLS-1$
 		
-		Log.fine("Looking for profile in : " + txmConfigDir);
+		Log.fine("Looking for profile in : " + txmConfigDir); //$NON-NLS-1$
 		// System.out.println(txmConfigDir);
 		// System.out.println(profileDir);
 		
 		if (!profileDir.exists()) {
-			Log.warning("p2 profile directory does not exists: " + profileDir);
+			Log.warning("p2 profile directory does not exists: " + profileDir); //$NON-NLS-1$
 			return false;
 		}
 		
 		// 1- find profile.gz
 		File gzFile = findNewestGZFile(profileDir);
 		if (gzFile == null) {
-			Log.severe("No profile GZ file found");
+			Log.severe("No profile GZ file found"); //$NON-NLS-1$
 			return false;
 		}
 		else {
@@ -267,7 +267,7 @@
 				patchProfile(profileXMLFile);
 				// 4- delete old gz profile
 				if (!gzFile.delete()) {
-					Log.warning("Could not delete old profile GZfile: " + gzFile);
+					Log.warning("Could not delete old profile GZfile: " + gzFile); //$NON-NLS-1$
 					return false;
 				}
 				
@@ -278,14 +278,14 @@
 				GZip.compress(profileXMLFile, gzFile);
 				// 6- clean files
 				if (!profileXMLFile.delete()) {
-					Log.warning("Could not delete temporary profile XML file: " + profileXMLFile);
+					Log.warning("Could not delete temporary profile XML file: " + profileXMLFile); //$NON-NLS-1$
 					return false;
 				}
-				Log.fine("Profile archive patched: " + gzFile);
+				Log.fine("Profile archive patched: " + gzFile); //$NON-NLS-1$
 				return true;
 			}
 			catch (IOException e) {
-				Log.warning("Failed to fix profile file: " + e);
+				Log.warning("Failed to fix profile file: " + e); //$NON-NLS-1$
 				Log.printStackTrace(e);
 				return false;
 			}
@@ -294,17 +294,17 @@
 	
 	public static void addDefaultUpdateSites(IProvisioningAgent agent) {
 		Version v = Activator.getDefault().getBundle().getVersion();
-		String version = "" + v.getMajor() + "." + v.getMinor() + "." + v.getMicro();
-		String uriBase = TBXPreferences.getInstance().getString(TBXPreferences.UPDATESITE) + "/" + version + "/main";
-		String uriDefault = uriBase + "/stable";
+		String version = "" + v.getMajor() + "." + v.getMinor() + "." + v.getMicro(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		String uriBase = TBXPreferences.getInstance().getString(TBXPreferences.UPDATESITE) + "/" + version + "/main"; //$NON-NLS-1$ //$NON-NLS-2$
+		String uriDefault = uriBase + "/stable"; //$NON-NLS-1$
 		try {
 			URI repoUriDefault = new URI(uriDefault);
-			addURL(agent, repoUriDefault, "stable");
+			addURL(agent, repoUriDefault, "stable"); //$NON-NLS-1$
 			// URI repoKepler = new URI("http://download.eclipse.org/releases/kepler");
 			// addURL(agent, repoKepler);
 		}
 		catch (Exception e) {
-			Log.warning("Could not add update default repository: " + uriDefault);
+			Log.warning(TXMUIMessages.CouldNotAddTheDefaultUpdateRepository + uriDefault);
 			Log.printStackTrace(e);
 		}
 		
@@ -321,20 +321,20 @@
 		else if ("BETA".equals(updateLevel)) {//$NON-NLS-1$
 			betaMode = true;
 		}
-		Log.fine("Update levels: dev=" + devMode + " alpha=" + alphaMode + " beta=" + betaMode);
+		Log.fine("Update levels: dev=" + devMode + " alpha=" + alphaMode + " beta=" + betaMode); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		
 		String uriDev = uriBase + "/dev";//$NON-NLS-1$
 		try {
 			URI repoUriDev = new URI(uriDev);
 			if (devMode) {
-				addURL(agent, repoUriDev, "dev");
+				addURL(agent, repoUriDev, "dev"); //$NON-NLS-1$
 			}
 			else {
 				removeURL(agent, repoUriDev);
 			}
 		}
 		catch (Exception e) {
-			Log.warning("Could not add update DEV repository: " + uriDev);
+			Log.warning(TXMUIMessages.CouldNotAddTheP0UpdateRepositoryP1 + uriDev);
 			e.printStackTrace();
 		}
 		
@@ -342,14 +342,14 @@
 		try {
 			URI repoUriAlpha = new URI(uriAlpha);
 			if (alphaMode) {
-				addURL(agent, repoUriAlpha, "alpha");
+				addURL(agent, repoUriAlpha, "alpha"); //$NON-NLS-1$
 			}
 			else {
 				removeURL(agent, repoUriAlpha);
 			}
 		}
 		catch (Exception e) {
-			Log.warning("Could not add update ALPHA repository: " + uriAlpha);
+			Log.warning(TXMUIMessages.CouldNotAddTheP0UpdateRepositoryP1 + uriAlpha);
 			e.printStackTrace();
 		}
 		
@@ -357,31 +357,31 @@
 		try {
 			URI repoUriBeta = new URI(uriBeta);
 			if (betaMode) {
-				addURL(agent, repoUriBeta, "beta");
+				addURL(agent, repoUriBeta, "beta"); //$NON-NLS-1$
 			}
 			else {
 				removeURL(agent, repoUriBeta);
 			}
 		}
 		catch (Exception e) {
-			Log.warning("Can not add update BETA repository: " + uriBeta);
+			Log.warning(TXMUIMessages.CouldNotAddTheP0UpdateRepositoryP1 + uriBeta);
 		}
 	}
 	
 	public static void addDefaultPluginSites(IProvisioningAgent agent) {
 		Version v = Activator.getDefault().getBundle().getVersion();
-		String version = "" + v.getMajor() + "." + v.getMinor() + "." + v.getMicro();
-		String uriBase = TBXPreferences.getInstance().getString(TBXPreferences.UPDATESITE) + "/" + version + "/ext";
+		String version = "" + v.getMajor() + "." + v.getMinor() + "." + v.getMicro(); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		String uriBase = TBXPreferences.getInstance().getString(TBXPreferences.UPDATESITE) + "/" + version + "/ext"; //$NON-NLS-1$ //$NON-NLS-2$
 		
-		String uriDefault = uriBase + "/stable";
+		String uriDefault = uriBase + "/stable"; //$NON-NLS-1$
 		try {
 			URI repoUriDefault = new URI(uriDefault);
-			addURL(agent, repoUriDefault, "stable");
+			addURL(agent, repoUriDefault, "stable"); //$NON-NLS-1$
 			// URI repoKepler = new URI("http://download.eclipse.org/releases/kepler");
 			// addURL(agent, repoKepler);
 		}
 		catch (Exception e) {
-			Log.warning("Could not add update default repository: " + uriDefault);
+			Log.warning(TXMUIMessages.CouldNotAddTheDefaultExtensionRepository + uriDefault);
 			Log.printStackTrace(e);
 		}
 		
@@ -398,20 +398,20 @@
 		else if ("BETA".equals(updateLevel)) {//$NON-NLS-1$
 			betaMode = true;
 		}
-		Log.fine("Update levels: dev=" + devMode + " alpha=" + alphaMode + " beta=" + betaMode);
+		Log.fine("Update levels: dev=" + devMode + " alpha=" + alphaMode + " beta=" + betaMode); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		
 		String uriDev = uriBase + "/dev";//$NON-NLS-1$
 		try {
 			URI repoUriDev = new URI(uriDev);
 			if (devMode) {
-				addURL(agent, repoUriDev, "dev");
+				addURL(agent, repoUriDev, "dev"); //$NON-NLS-1$
 			}
 			else {
 				removeURL(agent, repoUriDev);
 			}
 		}
 		catch (Exception e) {
-			Log.warning("Could not add update DEV repository: " + uriDev);
+			Log.warning(TXMUIMessages.CouldNotAddTheP0ExtensionsUpdateRepositoryP1 + uriDev);
 			e.printStackTrace();
 		}
 		
@@ -419,14 +419,14 @@
 		try {
 			URI repoUriAlpha = new URI(uriAlpha);
 			if (alphaMode) {
-				addURL(agent, repoUriAlpha, "alpha");
+				addURL(agent, repoUriAlpha, "alpha"); //$NON-NLS-1$
 			}
 			else {
 				removeURL(agent, repoUriAlpha);
 			}
 		}
 		catch (Exception e) {
-			Log.warning("Could not add update ALPHA repository: " + uriAlpha);
+			Log.warning(TXMUIMessages.CouldNotAddTheP0ExtensionsUpdateRepositoryP1 + uriAlpha);
 			e.printStackTrace();
 		}
 		
@@ -434,14 +434,14 @@
 		try {
 			URI repoUriBeta = new URI(uriBeta);
 			if (betaMode) {
-				addURL(agent, repoUriBeta, "beta");
+				addURL(agent, repoUriBeta, "beta"); //$NON-NLS-1$
 			}
 			else {
 				removeURL(agent, repoUriBeta);
 			}
 		}
 		catch (Exception e) {
-			Log.warning("Can not add update BETA repository: " + uriBeta);
+			Log.warning(TXMUIMessages.CouldNotAddTheP0ExtensionsUpdateRepositoryP1 + uriBeta);
 		}
 		
 	}
@@ -453,29 +453,29 @@
 				.getService(IArtifactRepositoryManager.SERVICE_NAME);
 		
 		if (manager == null) {
-			System.out.println("No metadata repository manager found");
+			System.out.println("No metadata repository manager found"); //$NON-NLS-1$
 			return false;
 		}
 		if (manager2 == null) {
-			System.out.println("No artifact repository manager found");
+			System.out.println("No artifact repository manager found"); //$NON-NLS-1$
 			return false;
 		}
 		
-		Log.fine("Adding update site URL: " + location + "...");
+		Log.fine("Adding update site URL: " + location + "..."); //$NON-NLS-1$ //$NON-NLS-2$
 		
 		try {
 			// manager.removeRepository(location)
 			manager.loadRepository(location, null);
 		}
 		catch (Exception e) {
-			Log.warning("No repo - create a newmetadata repo");
+			Log.warning("No repo - create a newmetadata repo"); //$NON-NLS-1$
 			// for convenience create and add a repository here
-			String repositoryName = location + " - metadata";
+			String repositoryName = location + " - metadata"; //$NON-NLS-1$
 			try {
 				manager.createRepository(location, repositoryName, IMetadataRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
 			}
 			catch (ProvisionException e2) {
-				Log.severe("Error while adding metadata repo: " + location);
+				Log.severe("Error while adding metadata repo: " + location); //$NON-NLS-1$
 				Log.printStackTrace(e);
 				return false;
 			}
@@ -488,14 +488,14 @@
 		}
 		catch (Exception e) {
 			// could not load a repo at that location so create one as a convenience
-			String repositoryName = location + " - artifacts";
+			String repositoryName = location + " - artifacts"; //$NON-NLS-1$
 			try {
-				Log.severe(NLS.bind("No {0} level update available.", level)); // Aucune mise à jour de niveau {0} n'est disponible.
+				Log.severe(NLS.bind("No {0} level update available.", level)); // Aucune mise à jour de niveau {0} n'est disponible. //$NON-NLS-1$
 				manager.createRepository(location, repositoryName, IArtifactRepositoryManager.TYPE_SIMPLE_REPOSITORY, null);
 				return true;
 			}
 			catch (Exception e2) {
-				Log.severe("Error while adding artifact repo: " + location);
+				Log.severe("Error while adding artifact repo: " + location); //$NON-NLS-1$
 				Log.printStackTrace(e);
 				return false;
 			}
@@ -509,11 +509,11 @@
 				.getService(IArtifactRepositoryManager.SERVICE_NAME);
 		
 		if (manager == null) {
-			Log.severe("No metadata repository manager found");
+			Log.severe("No metadata repository manager found"); //$NON-NLS-1$
 			return false;
 		}
 		if (manager2 == null) {
-			Log.severe("No artifact repository manager found");
+			Log.severe("No artifact repository manager found"); //$NON-NLS-1$
 			return false;
 		}
 		
@@ -525,21 +525,21 @@
 	
 	private static void patchProfile(File profileXMLFile) throws IOException {
 		
-		File tmpFile = File.createTempFile("tmp", ".profile", profileXMLFile.getParentFile());
+		File tmpFile = File.createTempFile("tmp", ".profile", profileXMLFile.getParentFile()); //$NON-NLS-1$ //$NON-NLS-2$
 		
-		BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(profileXMLFile), "UTF-8"));
-		BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(tmpFile), "UTF-8"));
+		BufferedReader br = new BufferedReader(new InputStreamReader(new FileInputStream(profileXMLFile), "UTF-8")); //$NON-NLS-1$
+		BufferedWriter writer = new BufferedWriter(new OutputStreamWriter(new FileOutputStream(tmpFile), "UTF-8")); //$NON-NLS-1$
 		
 		String line = br.readLine();
 		boolean firstLine = true;
 		while (line != null) {
 			if (!firstLine) {
-				writer.write("\n");
+				writer.write("\n"); //$NON-NLS-1$
 			}
 			
 			String trimedLine = line.trim();
-			if (trimedLine.startsWith("<property name='org.eclipse.equinox.p2.type.lock' value='")) {
-				writer.write("<property name='org.eclipse.equinox.p2.type.lock' value='0'/>");
+			if (trimedLine.startsWith("<property name='org.eclipse.equinox.p2.type.lock' value='")) { //$NON-NLS-1$
+				writer.write("<property name='org.eclipse.equinox.p2.type.lock' value='0'/>"); //$NON-NLS-1$
 			}
 			else {
 				writer.write(line);
@@ -551,7 +551,7 @@
 		br.close();
 		
 		if (!(profileXMLFile.delete() && tmpFile.renameTo(profileXMLFile))) {
-			throw new IOException("failed to rewrite profile file: " + profileXMLFile);
+			throw new IOException("failed to rewrite profile file: " + profileXMLFile); //$NON-NLS-1$
 		}
 	}
 	
@@ -560,7 +560,7 @@
 			
 			@Override
 			public boolean accept(File dir, String name) {
-				return name.toLowerCase().endsWith(".gz");
+				return name.toLowerCase().endsWith(".gz"); //$NON-NLS-1$
 			}
 		});
 		
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/UserPreferencePage.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/UserPreferencePage.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/UserPreferencePage.java	(revision 3445)
@@ -59,7 +59,7 @@
 				.getFieldEditorParent()));
 		
 		// Auto compute the result when a parameter changes
-		this.addField(new BooleanFieldEditor(RCPPreferences.AUTO_UPDATE_SUBRESULTS, "Automatically update sub-results", BooleanFieldEditor.SEPARATE_LABEL, this.getFieldEditorParent()));
+		this.addField(new BooleanFieldEditor(RCPPreferences.AUTO_UPDATE_SUBRESULTS, TXMUIMessages.AutomaticallyUpdateSubResults, BooleanFieldEditor.SEPARATE_LABEL, this.getFieldEditorParent()));
 		
 		// this.addField(new BooleanFieldEditor(RCPPreferences.AUTO_COMPUTE_ON_EDITOR_OPEN, "Compute when opening its window", BooleanFieldEditor.SEPARATE_LABEL, this.getFieldEditorParent()));
 		
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/DebugPreferencePage.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/DebugPreferencePage.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/DebugPreferencePage.java	(revision 3445)
@@ -20,7 +20,7 @@
 	public void createFieldEditors() {
 		// Show all result nodes in Corpora view
 		addField(new BooleanFieldEditor(TBXPreferences.SHOW_ALL_RESULT_NODES, TXMUIMessages.showAllResultNodesInCorporaView, getFieldEditorParent()));
-		addField(new StringFieldEditor(TBXPreferences.UPDATESITE, "Update site address", getFieldEditorParent()));
+		addField(new StringFieldEditor(TBXPreferences.UPDATESITE, TXMUIMessages.UpdateSiteAddress, getFieldEditorParent()));
 	}
 	
 	
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/DirectoryAndOpenFieldEditor.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/DirectoryAndOpenFieldEditor.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/DirectoryAndOpenFieldEditor.java	(revision 3445)
@@ -20,6 +20,7 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.DirectoryDialog;
 import org.txm.rcp.TxmPreferences;
+import org.txm.rcp.messages.TXMUIMessages;
 
 public class DirectoryAndOpenFieldEditor extends DirectoryFieldEditor {
     /**
@@ -87,7 +88,7 @@
     protected Button getOpenButton(Composite parent) {
         if (openButton == null) {
             openButton = new Button(parent, SWT.PUSH);
-            openButton.setText("Open");
+            openButton.setText(TXMUIMessages.Open);
             openButton.setFont(parent.getFont());
             openButton.addSelectionListener(new SelectionAdapter() {
                 @Override
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/AdvancedPreferencePage.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/AdvancedPreferencePage.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/AdvancedPreferencePage.java	(revision 3445)
@@ -98,7 +98,7 @@
 		addField(new BooleanFieldEditor(TBXPreferences.ADD_TECH_LOGS, TXMUIMessages.logInTheConsole, updateGroup));
 		
 		// Show dialog on severe error
-		addField(new BooleanFieldEditor(RCPPreferences.SHOW_SEVERE_DIALOG, "Show a dialog box when a severe error occurs", updateGroup));
+		addField(new BooleanFieldEditor(RCPPreferences.SHOW_SEVERE_DIALOG, TXMUIMessages.ShowADialogBoxWhenASevereErrorOccurs, updateGroup));
 		
 		// Log in file
 		addField(new BooleanFieldEditor(TBXPreferences.LOG_IN_FILE, TXMUIMessages.logInAFile, updateGroup));
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/ImportPreferencePage.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/ImportPreferencePage.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/ImportPreferencePage.java	(revision 3445)
@@ -79,7 +79,7 @@
 	@Override
 	protected void createFieldEditors() {
 		
-		update_editions = new BooleanFieldEditor(TBXPreferences.UPDATEEDITIONS, "Update editions when updating a corpus", getFieldEditorParent());
+		update_editions = new BooleanFieldEditor(TBXPreferences.UPDATEEDITIONS, TXMUIMessages.UpdateEditionsWhenUpdatingACorpus, getFieldEditorParent());
 		addField(update_editions);
 		
 		Set<String> encodings = java.nio.charset.Charset.availableCharsets().keySet();
@@ -140,7 +140,7 @@
 		defaultlang = new StringFieldEditor(TBXPreferences.CLIPBOARD_IMPORT_DEFAULT_LANG, TXMUIMessages.defaultLanguage, langGroup);
 		defaultlang.setEmptyStringAllowed(false);
 		
-		askdefaultlang = new BooleanFieldEditor(TBXPreferences.CLIPBOARD_IMPORT_ASK_LANG, "Ask lang when importing from clipboard", langGroup);
+		askdefaultlang = new BooleanFieldEditor(TBXPreferences.CLIPBOARD_IMPORT_ASK_LANG, TXMUIMessages.AskTheLanguageWhenImportingFromAClipboard, langGroup);
 		
 		Label l = new Label(langGroup, SWT.NONE);
 		l.setText(TXMUIMessages.noteColonUseValueToGuess);
@@ -149,7 +149,7 @@
 		l.setLayoutData(ldata);
 		addField(defaultlang);
 		
-		empty_code = new StringFieldEditor(TBXPreferences.EMPTY_PROPERTY_VALUE_CODE, "Empty property value code", getFieldEditorParent());
+		empty_code = new StringFieldEditor(TBXPreferences.EMPTY_PROPERTY_VALUE_CODE, TXMUIMessages.EmptyPropertyValuecode, getFieldEditorParent());
 		addField(empty_code);
 		
 	}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/RCPPreferences.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/RCPPreferences.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/preferences/RCPPreferences.java	(revision 3445)
@@ -42,7 +42,7 @@
 	public static final String AUTO_UPDATE_SUBRESULTS = "auto_update_subresults"; //$NON-NLS-1$
 	// public static final String AUTO_COMPUTE_ON_EDITOR_OPEN = "auto_compute_editor"; //$NON-NLS-1$
 	
-	public static final String SHOW_SEVERE_DIALOG = "show_severe_dialog";
+	public static final String SHOW_SEVERE_DIALOG = "show_severe_dialog"; //$NON-NLS-1$
 	
 	public static final String UPDATE_LEVEL = "update_level"; //$NON-NLS-1$
 	
@@ -77,7 +77,7 @@
 	public void initializeDefaultPreferences() {
 		
 		// FIXME: to store/merge and share all the prefs in the Core node
-		this.commandPreferencesNodeQualifier = "org.txm.core";
+		this.commandPreferencesNodeQualifier = "org.txm.core"; //$NON-NLS-1$
 		
 		// super.initializeDefaultPreferences();
 		Preferences preferences = this.getDefaultPreferencesNode();
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenBrowser.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenBrowser.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenBrowser.java	(revision 3445)
@@ -142,7 +142,7 @@
 	 * @return the txm browser
 	 */
 	static public TXMBrowserEditor open() {
-		return openfile("", null);
+		return openfile("", null); //$NON-NLS-1$
 	}
 	
 	/**
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/function/WordPropertiestoTable.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/function/WordPropertiestoTable.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/function/WordPropertiestoTable.java	(revision 3445)
@@ -11,6 +11,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 import org.txm.Toolbox;
 import org.txm.rcp.handlers.scripts.ExecuteGroovyMacro;
+import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.searchengine.cqp.corpus.MainCorpus;
 import org.txm.utils.logger.Log;
 
@@ -23,22 +24,22 @@
 		
 		Object first = selection.getFirstElement();
 		if (!(first instanceof MainCorpus)) {
-			Log.warning("Selection must be a corpus. Aborting");
+			Log.warning(TXMUIMessages.SelectionMustBeACorpusAborting);
 			return null;
 		}
 		
 		MainCorpus corpus = (MainCorpus)first;
 
-		File script = new File(Toolbox.getTxmHomePath(), "/scripts/groovy/user/org/txm/macro/annotation/ExportWordPropertiesToTableMacro.groovy");
+		File script = new File(Toolbox.getTxmHomePath(), "/scripts/groovy/user/org/txm/macro/annotation/ExportWordPropertiesToTableMacro.groovy"); //$NON-NLS-1$
 		//File parametersFile = new File(Toolbox.getTxmHomePath(), "/scripts/groovy/user/org/txm/macro/annotation/ExportWordPropertiesToTableMacro.properties");
 		
 		HashMap<String, Object> parameters = new HashMap<String, Object>();
 		
 		HashMap<String, Object> defaultParameters = new HashMap<String, Object>();
-		defaultParameters.put("properties", "frpos,frlemma");
-		defaultParameters.put("tsvFile", corpus.getName()+"_annotations.tsv");
+		defaultParameters.put("properties", "frpos,frlemma"); //$NON-NLS-1$ //$NON-NLS-2$
+		defaultParameters.put("tsvFile", corpus.getName()+"_annotations.tsv"); //$NON-NLS-1$ //$NON-NLS-2$
 		
-		ExecuteGroovyMacro.execute(script.getAbsolutePath(), part, selection, "", parameters, defaultParameters);
+		ExecuteGroovyMacro.execute(script.getAbsolutePath(), part, selection, "", parameters, defaultParameters); //$NON-NLS-1$
 		return null;
 	}
 }
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/function/WordPropertiesFromTable.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/function/WordPropertiesFromTable.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/function/WordPropertiesFromTable.java	(revision 3445)
@@ -11,6 +11,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 import org.txm.Toolbox;
 import org.txm.rcp.handlers.scripts.ExecuteGroovyMacro;
+import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.searchengine.cqp.corpus.MainCorpus;
 import org.txm.utils.logger.Log;
 
@@ -23,20 +24,20 @@
 		
 		Object first = selection.getFirstElement();
 		if (!(first instanceof MainCorpus)) {
-			Log.warning("Selection must be a corpus. Aborting");
+			Log.warning(TXMUIMessages.SelectionP0MustBeAcorpusAborting0);
 			return null;
 		}
 		
 		MainCorpus corpus = (MainCorpus)first;
 		
-		File script = new File(Toolbox.getTxmHomePath(),         "/scripts/groovy/user/org/txm/macro/annotation/ImportWordPropertiesFromTableMacro.groovy");
+		File script = new File(Toolbox.getTxmHomePath(),         "/scripts/groovy/user/org/txm/macro/annotation/ImportWordPropertiesFromTableMacro.groovy"); //$NON-NLS-1$
 		//File parametersFile = new File(Toolbox.getTxmHomePath(), "/scripts/groovy/user/org/txm/macro/annotation/ImportWordPropertiesFromTableMacro.properties");
 
 		HashMap<String, Object> defaultParameters = new HashMap<String, Object>();
-		defaultParameters.put("properties", "frpos,frlemma");
-		defaultParameters.put("tsvFile", corpus.getName()+"_annotations.tsv");
+		defaultParameters.put("properties", "frpos,frlemma"); //$NON-NLS-1$ //$NON-NLS-2$
+		defaultParameters.put("tsvFile", corpus.getName()+"_annotations.tsv"); //$NON-NLS-1$ //$NON-NLS-2$
 		
-		ExecuteGroovyMacro.execute(script.getAbsolutePath(), part, selection, "", null, defaultParameters);
+		ExecuteGroovyMacro.execute(script.getAbsolutePath(), part, selection, "", null, defaultParameters); //$NON-NLS-1$
 		return null;
 	}
 	
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/function/RenameResult.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/function/RenameResult.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/function/RenameResult.java	(revision 3445)
@@ -9,6 +9,7 @@
 import org.eclipse.ui.handlers.HandlerUtil;
 import org.txm.core.preferences.TXMPreferences;
 import org.txm.core.results.TXMResult;
+import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.swt.dialog.TextDialog;
 import org.txm.rcp.views.corpora.CorporaView;
 import org.txm.utils.logger.Log;
@@ -26,7 +27,7 @@
 			final TXMResult r = (TXMResult)first;
 			
 			final IWorkbenchWindow window = HandlerUtil.getActiveWorkbenchWindow(event);
-			TextDialog dialog = new TextDialog(window.getShell(), "Rename " + r, "Enter the new name to show in the Corpus view", r.getCurrentName());
+			TextDialog dialog = new TextDialog(window.getShell(), TXMUIMessages.RenameP0 + r, TXMUIMessages.EnterTheNewNameToShowInTheCorpusView, r.getCurrentName());
 			if (dialog.open() == TextDialog.OK) {
 				String newName = dialog.getText();
 				//if (newName.length() > 0) {
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenTestEditor.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenTestEditor.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenTestEditor.java	(revision 3445)
@@ -69,13 +69,13 @@
 
 		IWorkbenchPage page = window.getActivePage();
 		try {
-			StatusLine.setMessage("Open...");
+			StatusLine.setMessage(TXMUIMessages.OpenTestEditor_0);
 			TestEditor testEditor = (TestEditor) page
 					.openEditor(editorInput,
 							"org.txm.rcp.editors.TestEditor"); //$NON-NLS-1$
 			//conceditor.setFocus(""); //$NON-NLS-1$
 		} catch (PartInitException e) {
-			System.err.println("Error: "+e.getLocalizedMessage());
+			System.err.println("Error: "+e.getLocalizedMessage()); //$NON-NLS-1$
 		}
 
 		return null;
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenWelcomePage.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenWelcomePage.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenWelcomePage.java	(revision 3445)
@@ -63,11 +63,11 @@
 		int idx = version.lastIndexOf("."); //$NON-NLS-1$
 		if (idx > 0) version = version.substring(0, idx); // remove the "qualifier" part
 		
-		if ("fr".equals(locale)) {
+		if ("fr".equals(locale)) { //$NON-NLS-1$
 			return OpenBrowser.openfile(WELCOME + version + "/welcome") != null; //$NON-NLS-1$ $NON-NLS-2$
 		}
 		else {
-			return OpenBrowser.openfile(OpenLocalizedWebPage.getValidURL(WELCOME + version + "/" + locale + "/welcome", (WELCOME + version + "/welcome"))) != null; //$NON-NLS-1$ $NON-NLS-2$ $NON-NLS-3$
+			return OpenBrowser.openfile(OpenLocalizedWebPage.getValidURL(WELCOME + version + "/" + locale + "/welcome", (WELCOME + version + "/welcome"))) != null; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ $NON-NLS-2$ $NON-NLS-3$
 		}
 	}
 }
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/RestartTXM.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/RestartTXM.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/RestartTXM.java	(revision 3445)
@@ -63,11 +63,11 @@
 	public Object execute(ExecutionEvent event) throws ExecutionException {
 		
 		if (!JobHandler.areAllTXMJobsDone()) {
-			Log.warning("Wait for all jobs to end and retry");
+			Log.warning(TXMUIMessages.WaitForAllJobsToEndAndRetry);
 			return null;
 		}
 		
-		JobHandler jobhandler = new JobHandler("Restarting...") {
+		JobHandler jobhandler = new JobHandler(TXMUIMessages.RestartingTXM) {
 			
 			@Override
 			protected IStatus run(IProgressMonitor monitor) {
@@ -79,7 +79,7 @@
 						Log.info(TXMUIMessages.info_txmIsReady);
 					}
 					else {
-						Log.warning("TXM not restarted normally.");
+						Log.warning(TXMUIMessages.TXMWasNotRestartedNormally);
 					}
 					
 					monitor.worked(95);
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/CloseCorpus.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/CloseCorpus.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/CloseCorpus.java	(revision 3445)
@@ -67,7 +67,7 @@
 				});
 			}
 		}
-		JobHandler job = new JobHandler("Closing corpus "+corpora) {
+		JobHandler job = new JobHandler(TXMUIMessages.ClosingTheP0Corpus+corpora) {
 
 			@Override
 			protected IStatus run(IProgressMonitor monitor) {
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/DownloadCorpus.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/DownloadCorpus.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/DownloadCorpus.java	(revision 3445)
@@ -10,6 +10,7 @@
 import org.eclipse.core.commands.ExecutionException;
 import org.txm.Toolbox;
 import org.txm.objects.Project;
+import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.utils.JobHandler;
 import org.txm.utils.Download;
 
@@ -32,9 +33,9 @@
 
 	public static Project downloadAndLoad(String urlString) throws InterruptedException, ExecutionException, IOException {
 		URL url = new URL(urlString);
-		File binFile = new File(Toolbox.getTxmHomePath(), "results/"+new File(url.getFile()).getName());
-		if (!binFile.getName().endsWith(".txm")) {
-			System.out.println("The downloaded file is not a TXM corpus.");
+		File binFile = new File(Toolbox.getTxmHomePath(), "results/"+new File(url.getFile()).getName()); //$NON-NLS-1$
+		if (!binFile.getName().endsWith(".txm")) { //$NON-NLS-1$
+			System.out.println(TXMUIMessages.TheDownloadedFileIsNotATXMCorpus);
 			return null;
 		}
 		Download.download(url, binFile);
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/Load080BinaryCorpus.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/Load080BinaryCorpus.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/Load080BinaryCorpus.java	(revision 3445)
@@ -51,7 +51,7 @@
 	
 	public static boolean canLoad(File zipFile) {
 		String basedirname = Zip.getRoot(zipFile);
-		return Zip.hasEntries(zipFile, basedirname + "/.settings/", basedirname + "/.project", basedirname + "/data/", basedirname + "/txm/", basedirname + "/HTML/", basedirname + "/registry/");
+		return Zip.hasEntries(zipFile, basedirname + "/.settings/", basedirname + "/.project", basedirname + "/data/", basedirname + "/txm/", basedirname + "/HTML/", basedirname + "/registry/"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$
 	}
 	
 	/**
@@ -74,7 +74,7 @@
 			return null;
 		}
 		
-		Log.info(NLS.bind(TXMUIMessages.theP0BinaryCorpusVersionIsP1, zipFile.getName(), "0.8.0"));
+		Log.info(NLS.bind(TXMUIMessages.theP0BinaryCorpusVersionIsP1, zipFile.getName(), "0.8.0")); //$NON-NLS-1$
 		
 		String basedirname = Zip.getRoot(zipFile);
 		
@@ -115,7 +115,7 @@
 		
 		
 		// test with CQP MainCorpus name
-		File dataDirectory = new File(corpusDirectory, "data");
+		File dataDirectory = new File(corpusDirectory, "data"); //$NON-NLS-1$
 		File[] mainCorpusDirs = dataDirectory.listFiles();
 		if (mainCorpusDirs != null && mainCorpusDirs.length > 0) {
 			String mainCorpusName = mainCorpusDirs[0].getName();
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/ConvertCorpus.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/ConvertCorpus.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/ConvertCorpus.java	(revision 3445)
@@ -42,7 +42,7 @@
 		final File outdir = new File(corpora, indir.getName() + 6);
 		DeleteDir.deleteDirectory(outdir);
 
-		jobhandler = new JobHandler("Converting...") {
+		jobhandler = new JobHandler(TXMUIMessages.ConvertingEtc) {
 			@Override
 			protected IStatus run(IProgressMonitor monitor) {
 				this.runInit(monitor);
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/OpenCorpus.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/OpenCorpus.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/OpenCorpus.java	(revision 3445)
@@ -16,6 +16,7 @@
 import org.txm.objects.Project;
 import org.txm.rcp.commands.CloseEditorsUsing;
 import org.txm.rcp.commands.RestartTXM;
+import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.utils.JobHandler;
 import org.txm.rcp.views.corpora.CorporaView;
 import org.txm.searchengine.cqp.corpus.MainCorpus;
@@ -49,7 +50,7 @@
 			d = Display.getDefault();
 		}
 		
-		JobHandler job = new JobHandler("Opening corpus "+iproject.getName()) {
+		JobHandler job = new JobHandler(TXMUIMessages.OpeningTheP0Corpus+iproject.getName()) {
 
 			@Override
 			protected IStatus run(IProgressMonitor monitor) {
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/UpdateCorpus.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/UpdateCorpus.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/UpdateCorpus.java	(revision 3445)
@@ -20,6 +20,7 @@
 import org.txm.rcp.commands.CloseEditorsUsing;
 import org.txm.rcp.commands.OpenImportForm;
 import org.txm.rcp.commands.RestartTXM;
+import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.swt.dialog.UpdateCorpusDialog;
 import org.txm.rcp.utils.JobHandler;
 import org.txm.searchengine.cqp.corpus.MainCorpus;
@@ -44,7 +45,7 @@
 		
 		UpdateCorpusDialog dialog = new UpdateCorpusDialog(HandlerUtil.getActiveShell(event));
 		dialog.setDoUpdateEdition(TBXPreferences.getInstance().getBoolean(TBXPreferences.UPDATEEDITIONS));
-		dialog.setDoForceUpdate("true".equals(event.getParameter("org.txm.rcp.commands.workspace.UpdateCorpus.force")));
+		dialog.setDoForceUpdate("true".equals(event.getParameter("org.txm.rcp.commands.workspace.UpdateCorpus.force"))); //$NON-NLS-1$ //$NON-NLS-2$
 		
 		if (dialog.open() != Window.OK) {
 			return null;
@@ -99,15 +100,15 @@
 			});
 		}
 		
-		File txmDir = new File(project.getProjectDirectory(), "txm");
+		File txmDir = new File(project.getProjectDirectory(), "txm"); //$NON-NLS-1$
 		if (!txmDir.exists()) {
-			Log.warning(NLS.bind("Error: Can't update the corpus: no 'txm' directory found: {0}", txmDir.getAbsolutePath()));
+			Log.warning(NLS.bind(TXMUIMessages.ErrorCantUpdateTheCorpusNoTXMDirectoryFoundP0, txmDir.getAbsolutePath()));
 			return null;
 		}
 		
 		File txmCorpusDirectory = new File(txmDir, corpus.getID());
 		if (!txmCorpusDirectory.exists()) {
-			Log.warning(NLS.bind("Error: Can't update the corpus: no 'txm/{0}' directory found: {1}", corpus.getID(), txmCorpusDirectory.getAbsolutePath()));
+			Log.warning(NLS.bind(TXMUIMessages.ErrorCantUpdateTheCorpusNoTXTSlashP0DirectoryFoundP1, corpus.getID(), txmCorpusDirectory.getAbsolutePath()));
 			return null;
 		}
 		
@@ -115,10 +116,10 @@
 			
 			@Override
 			public boolean accept(File arg0) {
-				return arg0.isFile() && arg0.getName().endsWith(".xml");
+				return arg0.isFile() && arg0.getName().endsWith(".xml"); //$NON-NLS-1$
 			}
 		}).length == 0) {
-			Log.warning(NLS.bind("Error: Can't update the corpus: no XML files found in {0}", txmCorpusDirectory.getAbsolutePath()));
+			Log.warning(NLS.bind(TXMUIMessages.ErrorCantUpdateTheCorpusNoXMLFilesFoundInP0, txmCorpusDirectory.getAbsolutePath()));
 			return null;
 		}
 		
@@ -127,11 +128,11 @@
 		project.setDoMultiThread(false); // too soon
 		project.setDoUpdate(true, updateEdition);
 		String currentModule = project.getImportModuleName();
-		if (!(currentModule.equals("xtz") || currentModule.equals("transcriber"))) {
-			project.setImportModuleName("xtz");
+		if (!(currentModule.equals("xtz") || currentModule.equals("transcriber"))) { //$NON-NLS-1$ //$NON-NLS-2$
+			project.setImportModuleName("xtz"); //$NON-NLS-1$
 		}
 		
-		JobHandler job = new JobHandler("Updating corpus " + corpus + " using " + project) {
+		JobHandler job = new JobHandler(TXMUIMessages.UpdateTheP0CorpusUsingP1 + corpus + " using " + project) { //$NON-NLS-2$
 			
 			@Override
 			protected IStatus run(IProgressMonitor monitor) {
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/LoadBinaryCorporaDirectory.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/LoadBinaryCorporaDirectory.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/LoadBinaryCorporaDirectory.java	(revision 3445)
@@ -88,7 +88,7 @@
 		Shell shell = HandlerUtil.getActiveWorkbenchWindowChecked(event).getShell();
 		DirectoryDialog dialog = new DirectoryDialog(shell, SWT.OPEN);
 		if (LastOpened.getFile(ID) != null) {
-			dialog.setFilterPath(LastOpened.getFolder(ID) + "/" + LastOpened.getFile(ID));
+			dialog.setFilterPath(LastOpened.getFolder(ID) + "/" + LastOpened.getFile(ID)); //$NON-NLS-1$
 		}
 
 		if (dialog.open() != null) {
@@ -238,7 +238,7 @@
 			@Override
 			public Image getImage(Object element) {
 				File f = (File) element;
-				if (f.getName().endsWith(".txm")) {
+				if (f.getName().endsWith(".txm")) { //$NON-NLS-1$
 					return IImageKeys.getImage(IImageKeys.TXM1616);
 				}
 				else if (f.isDirectory()) {
@@ -291,8 +291,8 @@
 				@Override
 				public boolean accept(File arg0) {
 					return IOUtils.HIDDENFILE_FILTER.accept(arg0) &&
-							((arg0.isDirectory() && (new File(arg0, "import.xml").exists() || new File(arg0, ".settings").exists()))
-									|| arg0.getName().endsWith(".txm")
+							((arg0.isDirectory() && (new File(arg0, "import.xml").exists() || new File(arg0, ".settings").exists())) //$NON-NLS-1$ //$NON-NLS-2$
+									|| arg0.getName().endsWith(".txm") //$NON-NLS-1$
 
 									);
 				}
@@ -393,7 +393,7 @@
 					}
 				}
 				catch (Exception e2) {
-					Log.warning("Could not load corpus from " + corpusDirectory + ": " + e2);
+					Log.warning(TXMUIMessages.CouldNotLoadThecorpusFromtheP0DirectoryP1 + corpusDirectory + ": " + e2); //$NON-NLS-2$
 					Log.printStackTrace(e2);
 				}
 			}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/Load079BinaryCorpus.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/Load079BinaryCorpus.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/Load079BinaryCorpus.java	(revision 3445)
@@ -49,7 +49,7 @@
 	
 	public static boolean canLoad(File zipFile) {
 		String basedirname = Zip.getRoot(zipFile);
-		return Zip.hasEntries(zipFile, basedirname + "/import.xml", basedirname + "/data/", basedirname + "/txm/", basedirname + "/HTML/", basedirname + "/registry/");
+		return Zip.hasEntries(zipFile, basedirname + "/import.xml", basedirname + "/data/", basedirname + "/txm/", basedirname + "/HTML/", basedirname + "/registry/"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
 	}
 	
 	/**
@@ -74,7 +74,7 @@
 			return null;
 		}
 		
-		System.out.println(NLS.bind(TXMUIMessages.theP0BinaryCorpusVersionIsP1, zipFile.getName(), "0.7.9"));
+		System.out.println(NLS.bind(TXMUIMessages.theP0BinaryCorpusVersionIsP1, zipFile.getName(), "0.7.9")); //$NON-NLS-1$
 		
 		String basedirname = Zip.getRoot(zipFile);
 		
@@ -148,7 +148,7 @@
 		}
 		
 		MainCorpus c = new MainCorpus(project);
-		BaseOldParameters params = new BaseOldParameters(new File(binCorpusDirectory, "import.xml"));
+		BaseOldParameters params = new BaseOldParameters(new File(binCorpusDirectory, "import.xml")); //$NON-NLS-1$
 		params.load();
 		c._load(params.getCorpusElement());
 		c.setDirty();
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/LoadBinaryCorpus.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/LoadBinaryCorpus.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/workspace/LoadBinaryCorpus.java	(revision 3445)
@@ -228,7 +228,7 @@
 							Log.info(NLS.bind(TXMUIMessages.P0CorpusLoaded, newProject2));
 						}
 						else {
-							System.out.println("Error: no project loaded.");
+							System.out.println(TXMUIMessages.ErrorNoProjectLoaded);
 						}
 					}
 				});
@@ -272,11 +272,11 @@
 				project = Load079BinaryCorpus.loadBinaryCorpusArchive(zipFile, monitor, replace);
 			}
 			else {
-				Log.warning(NLS.bind("The {0} archive is not a TXM corpus.", zipFile));
+				Log.warning(NLS.bind(TXMUIMessages.TheP0ArchiveIsNotATXMCorpus, zipFile));
 				return null;
 			}
 			if (project == null) {
-				Log.warning(NLS.bind("Failed to load the {0} corpus.", zipFile));
+				Log.warning(NLS.bind(TXMUIMessages.FailedToLoadTheP0Corpus, zipFile));
 				return null;
 			}
 		}
@@ -335,7 +335,7 @@
 		}
 		
 		// test with CQP MainCorpus name
-		File dataDirectory = new File(corpusDirectory, "data");
+		File dataDirectory = new File(corpusDirectory, "data"); //$NON-NLS-1$
 		File[] mainCorpusDirs = dataDirectory.listFiles();
 		if (mainCorpusDirs != null && mainCorpusDirs.length > 0) {
 			String mainCorpusName = mainCorpusDirs[0].getName();
@@ -354,11 +354,11 @@
 		}
 		
 		Project project = null;
-		File paramFile = new File(destDir, ".settings");
-		File importXMLFile = new File(destDir, "import.xml");
-		File dotProjectFile = new File(destDir, ".project");
+		File paramFile = new File(destDir, ".settings"); //$NON-NLS-1$
+		File importXMLFile = new File(destDir, "import.xml"); //$NON-NLS-1$
+		File dotProjectFile = new File(destDir, ".project"); //$NON-NLS-1$
 		if (paramFile.exists() && paramFile.isDirectory() && dotProjectFile.exists() && dotProjectFile.isFile()) {
-			Log.info(NLS.bind(TXMUIMessages.theP0BinaryCorpusVersionIsP1, destDir, "0.8.0"));
+			Log.info(NLS.bind(TXMUIMessages.theP0BinaryCorpusVersionIsP1, destDir, "0.8.0")); //$NON-NLS-1$
 			project = Load080BinaryCorpus.loadBinaryCorpusAsDirectory(destDir);
 		}
 		else if (importXMLFile.exists()) {
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/ExportXMLTXMFiles.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/ExportXMLTXMFiles.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/ExportXMLTXMFiles.java	(revision 3445)
@@ -12,6 +12,7 @@
 import org.txm.core.results.TXMResult;
 import org.txm.objects.Project;
 import org.txm.rcp.handlers.BaseAbstractHandler;
+import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.utils.ConsoleProgressBar;
 import org.txm.utils.logger.Log;
 import org.txm.utils.zip.Zip;
@@ -28,25 +29,25 @@
 			Shell shell = HandlerUtil.getActiveWorkbenchWindowChecked(event).getShell();
 			
 			FileDialog d = new FileDialog(shell, SWT.SAVE);
-			d.setFilterExtensions(new String[] {"*.zip"});
+			d.setFilterExtensions(new String[] {"*.zip"}); //$NON-NLS-1$
 			
 			String path = d.open();
 			if (path != null) {
 				File targetZipFile = new File(path);
-				File txmDir = new File(p.getProjectDirectory(), "txm/"+p.getName());
+				File txmDir = new File(p.getProjectDirectory(), "txm/"+p.getName()); //$NON-NLS-1$
 				try {
 					File[] files = txmDir.listFiles();
 					if (files == null) {
-						Log.warning("Warning: no 'txm' directory: "+txmDir);
+						Log.warning(TXMUIMessages.WarningNoTXMDirectoryP0+txmDir);
 						return false;
 					}
 					int s = files.length;
 					if (s == 0) {
-						Log.warning("Warning: no XML-TXM files in directory: "+txmDir);
+						Log.warning(TXMUIMessages.WarningNoXMLTXMFilesDirectoryP0+txmDir);
 						return false;
 					}
 					Zip.compress(txmDir, targetZipFile, new ConsoleProgressBar(s));
-					Log.info("XML-TXM files exported in: "+targetZipFile);
+					Log.info(TXMUIMessages.XMLTXMFilesExportedInP0+targetZipFile);
 				}
 				catch (IOException e) {
 					Log.printStackTrace(e);
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenImportForm.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenImportForm.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenImportForm.java	(revision 3445)
@@ -56,11 +56,11 @@
 	public Object execute(ExecutionEvent event) throws ExecutionException {
 
 		File script = null;
-		if (event.getParameters().containsKey("org.txm.rcp.commands.importscript")) {
+		if (event.getParameters().containsKey("org.txm.rcp.commands.importscript")) { //$NON-NLS-1$
 			String filename = event.getParameter("org.txm.rcp.commands.importscript"); //$NON-NLS-1$
 			script = new File (filename);
 		}
-		Boolean updateMode = "true".equals(event.getParameter("org.txm.rcp.commands.importupdatemode")); //$NON-NLS-1$
+		Boolean updateMode = "true".equals(event.getParameter("org.txm.rcp.commands.importupdatemode")); //$NON-NLS-1$ //$NON-NLS-2$
 		open(script, updateMode);
 		return null;
 	}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenLocalizedWebPage.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenLocalizedWebPage.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenLocalizedWebPage.java	(revision 3445)
@@ -55,17 +55,17 @@
 	/** The Constant ID. */
 	public final static String ID = "org.txm.rcp.commands.OpenLocalizedWebPage"; //$NON-NLS-1$
 	
-	public static final String GITPAGES = "https://txm.gitpages.huma-num.fr/";
+	public static final String GITPAGES = "https://txm.gitpages.huma-num.fr/"; //$NON-NLS-1$
 	
-	public static final String URL_TEXTOMETRIE = GITPAGES + "textometrie/";
+	public static final String URL_TEXTOMETRIE = GITPAGES + "textometrie/"; //$NON-NLS-1$
 	
-	public static final String URL_TXMMANUAL = GITPAGES + "txm-manual/";
+	public static final String URL_TXMMANUAL = GITPAGES + "txm-manual/"; //$NON-NLS-1$
 	
-	public static final String URL_TXMDEPOT = GITPAGES + "txm-software/";
+	public static final String URL_TXMDEPOT = GITPAGES + "txm-software/"; //$NON-NLS-1$
 	
-	public static final String HTMLPAGES = URL_TEXTOMETRIE + "html/";
+	public static final String HTMLPAGES = URL_TEXTOMETRIE + "html/"; //$NON-NLS-1$
 	
-	public static final String FILESPAGES = URL_TEXTOMETRIE + "files/";
+	public static final String FILESPAGES = URL_TEXTOMETRIE + "files/"; //$NON-NLS-1$
 	
 	public static final String TEXTOMETRIE = "textometrie"; //$NON-NLS-1$
 	
@@ -123,7 +123,7 @@
 	static public String getValidURL(String urltoTest, String alternativeUrl) {
 		try {
 			URL url = new URL(urltoTest);
-			if (url.getProtocol().equals("https")) {
+			if (url.getProtocol().equals("https")) { //$NON-NLS-1$
 				
 				// ts.setCertificateEntry(UUID.randomUUID(), cert);
 				HttpsURLConnection connection = (HttpsURLConnection) url.openConnection();
@@ -150,7 +150,7 @@
 					
 					// Install the all-trusting trust manager for this connection ONLY
 					try {
-						SSLContext sc = SSLContext.getInstance("SSL");
+						SSLContext sc = SSLContext.getInstance("SSL"); //$NON-NLS-1$
 						sc.init(null, trustAllCerts, new java.security.SecureRandom());
 						connection.setSSLSocketFactory(sc.getSocketFactory());
 					}
@@ -160,7 +160,7 @@
 				}
 				
 				if (connection.getResponseCode() != HttpsURLConnection.HTTP_OK) {
-					Log.fine(NLS.bind("HTTP Error while testing the \"{0}\" web page: {1}", urltoTest, connection.getResponseCode()));
+					Log.fine(NLS.bind("HTTP Error while testing the \"{0}\" web page: {1}", urltoTest, connection.getResponseCode())); //$NON-NLS-1$
 					connection.disconnect();
 					return alternativeUrl;
 				}
@@ -172,7 +172,7 @@
 			
 		}
 		catch (Exception e) {
-			Log.fine(NLS.bind("Error while testing the \"{0}\" web page: {1}", urltoTest, e.getMessage()));
+			Log.fine(NLS.bind("Error while testing the \"{0}\" web page: {1}", urltoTest, e.getMessage())); //$NON-NLS-1$
 			return alternativeUrl;
 		}
 		return urltoTest;
@@ -208,10 +208,10 @@
 		}
 		else if (SF_DOCS.equals(key)) {
 			if ("fr".equals(locale)) { //$NON-NLS-1$
-				return OpenBrowser.openfile(URL_TEXTOMETRIE + "Documentation/#txm-manual");
+				return OpenBrowser.openfile(URL_TEXTOMETRIE + "Documentation/#txm-manual"); //$NON-NLS-1$
 			}
 			else {
-				return OpenBrowser.openfile(getValidURL(URL_TEXTOMETRIE + locale + "Documentation/#txm-manual", URL_TEXTOMETRIE + "en/Documentation/#txm-manual")); //$NON-NLS-1$
+				return OpenBrowser.openfile(getValidURL(URL_TEXTOMETRIE + locale + "Documentation/#txm-manual", URL_TEXTOMETRIE + "en/Documentation/#txm-manual")); //$NON-NLS-1$ //$NON-NLS-2$
 			}
 		}
 		else if (SF.equals(key)) {
@@ -224,15 +224,15 @@
 		}
 		else if (TEXTOMETRIE_DOCS.equals(key)) {
 			if ("fr".equals(locale)) { //$NON-NLS-1$
-				return OpenBrowser.openfile(URL_TEXTOMETRIE + "Documentation");
+				return OpenBrowser.openfile(URL_TEXTOMETRIE + "Documentation"); //$NON-NLS-1$
 			}
 			else {
-				return OpenBrowser.openfile(getValidURL(URL_TEXTOMETRIE + locale + "/Documentation", URL_TEXTOMETRIE + "en/Documentation")); //$NON-NLS-1$
+				return OpenBrowser.openfile(getValidURL(URL_TEXTOMETRIE + locale + "/Documentation", URL_TEXTOMETRIE + "en/Documentation")); //$NON-NLS-1$ //$NON-NLS-2$
 			}
 		}
 		else if (TREETAGGER.equals(key)) {
 			if ("fr".equals(locale)) { //$NON-NLS-1$
-				return OpenBrowser.openfile(URL_TEXTOMETRIE + "InstallTreeTagger");
+				return OpenBrowser.openfile(URL_TEXTOMETRIE + "InstallTreeTagger"); //$NON-NLS-1$
 			}
 			else {
 				return OpenBrowser.openfile(getValidURL(URL_TEXTOMETRIE + locale + "/InstallTreeTagger/", URL_TEXTOMETRIE + "en/InstallTreeTagger")); //$NON-NLS-1$ //$NON-NLS-2$
@@ -248,10 +248,10 @@
 		}
 		else if (CORPORA.equals(key)) {
 			if ("fr".equals(locale)) { //$NON-NLS-1$
-				return OpenBrowser.openfile(FILESPAGES + "corpora");
+				return OpenBrowser.openfile(FILESPAGES + "corpora"); //$NON-NLS-1$
 			}
 			else {
-				return OpenBrowser.openfile(getValidURL(FILESPAGES + "corpora/" + locale, FILESPAGES + "corpora/en")); //$NON-NLS-1$
+				return OpenBrowser.openfile(getValidURL(FILESPAGES + "corpora/" + locale, FILESPAGES + "corpora/en")); //$NON-NLS-1$ //$NON-NLS-2$
 			}
 		}
 		else if (PDFREFMAN.equals(key)) {
@@ -288,7 +288,7 @@
 	}
 	
 	public static void main(String args[]) {
-		String s = getValidURL("https://txm.gitpages.huma-num.fr/textometrie/files/software/TXM/0.8.2beta/", "https://txm.gitpages.huma-num.fr/textometrie/files/software/TXM/0.8.2beta");
+		String s = getValidURL("https://txm.gitpages.huma-num.fr/textometrie/files/software/TXM/0.8.2beta/", "https://txm.gitpages.huma-num.fr/textometrie/files/software/TXM/0.8.2beta"); //$NON-NLS-1$ //$NON-NLS-2$
 		System.out.println(s);
 	}
 }
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/ShowSelected.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/ShowSelected.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/ShowSelected.java	(revision 3445)
@@ -57,9 +57,9 @@
 			if (elem instanceof File) {
 				File f = (File)elem;
 				System.out.println(TXMUIMessages.fileColon);
-				System.out.println(" path="+f.getAbsolutePath());
-				System.out.println(" size="+f.length()/1000+" kb");
-				System.out.println(" rights: read="+f.canRead()+" write="+f.canWrite()+" execute="+f.canExecute());
+				System.out.println(" path="+f.getAbsolutePath()); //$NON-NLS-1$
+				System.out.println(" size="+f.length()/1000+" kb"); //$NON-NLS-1$ //$NON-NLS-2$
+				System.out.println(" rights: read="+f.canRead()+" write="+f.canWrite()+" execute="+f.canExecute()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 			} else {
 				System.out.println(elem);
 			}
@@ -68,7 +68,7 @@
 	}
 	
 	public static void print(IStructuredSelection structSelection) {
-		if (structSelection == null) System.out.println("no selection.");
+		if (structSelection == null) System.out.println("no selection."); //$NON-NLS-1$
 		
 		for (Object elem : structSelection.toList()) {
 			print(elem);
@@ -79,9 +79,9 @@
 		if (elem instanceof File) {
 			File f = (File)elem;
 			System.out.println(TXMUIMessages.fileColon);
-			System.out.println(" path="+f.getAbsolutePath());
-			System.out.println(" size="+f.length()/1000+" kb");
-			System.out.println(" rights: read="+f.canRead()+" write="+f.canWrite()+" execute="+f.canExecute());
+			System.out.println(" path="+f.getAbsolutePath()); //$NON-NLS-1$
+			System.out.println(" size="+f.length()/1000+" kb"); //$NON-NLS-1$ //$NON-NLS-2$
+			System.out.println(" rights: read="+f.canRead()+" write="+f.canWrite()+" execute="+f.canExecute()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		} else {
 			System.out.println(elem);
 		}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/ChangeTXMWorkspace.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/ChangeTXMWorkspace.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/ChangeTXMWorkspace.java	(revision 3445)
@@ -72,7 +72,7 @@
 	@Override
 	public Object execute(ExecutionEvent event) throws ExecutionException {
 
-		JobHandler jobhandler = new JobHandler("Changing working directory...") { 
+		JobHandler jobhandler = new JobHandler(TXMUIMessages.ChangingTheWorkingDirectory) { 
 			@Override
 			protected IStatus run(IProgressMonitor monitor) {
 				try {
@@ -105,7 +105,7 @@
 		ChooseWorkspaceData launchData = new ChooseWorkspaceData(defaultValue);
 		DirectoryDialog dialog = new DirectoryDialog(Display.getCurrent().getActiveShell());
 		dialog.setText(TXMUIMessages.selectWorkingDirectory);
-		dialog.setMessage("This will restart TXM.");
+		dialog.setMessage(TXMUIMessages.ThisWillRestartTXM);
 		dialog.setFilterPath(defaultValue);
 		String path = dialog.open();
 		if (path == null || defaultValue.equals(path)) {
@@ -117,13 +117,13 @@
 		
 		// Switch workspace :
 		try {
-			URL url = new URL("file", "", path);
+			URL url = new URL("file", "", path); //$NON-NLS-1$ //$NON-NLS-2$
 			
 			launchData.writePersistedData();
 			ChooseWorkspaceData.setShowDialogValue(false);
 			PlatformUI.getWorkbench().restart(); // need to restart TXM to apply changes
 		} catch (MalformedURLException e1) {
-			Log.warning("Workspace path could not be found.");
+			Log.warning(TXMUIMessages.WorkspacePathCouldNotBeFound);
 			return false;
 		}
 		
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/ImportClipboardText.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/ImportClipboardText.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/ImportClipboardText.java	(revision 3445)
@@ -75,7 +75,7 @@
 	public Object execute(ExecutionEvent event) throws ExecutionException {
 		String result = org.txm.rcp.utils.IOClipboard.read();
 		if (result == null || result.length() == 0) {
-			System.out.println("No copied text. Aborting.");
+			System.out.println(TXMUIMessages.NoCopiedTextAborting);
 			return null;
 		}
 		System.out.println(TXMUIMessages.importClipboardText);
@@ -84,7 +84,7 @@
 			String corpusName = TXMUIMessages.clipboard_2.toUpperCase()+(nextclipcorpus++);
 			File wl = Toolbox.workspace.getLocation();
 			if (wl == null) {
-				System.err.println("Error: Toolbox is not correctly initialized. Clipboard import aborted.");
+				System.err.println("Error: Toolbox is not correctly initialized. Clipboard import aborted."); //$NON-NLS-1$
 				return null;
 			}
 			while (new File(wl, corpusName).exists()) {
@@ -93,7 +93,7 @@
 			
 			String lang = TBXPreferences.getInstance().getString(TBXPreferences.CLIPBOARD_IMPORT_DEFAULT_LANG);
 			boolean askLang = TBXPreferences.getInstance().getBoolean(TBXPreferences.CLIPBOARD_IMPORT_ASK_LANG);
-			TextDialog dialog = new TextDialog(HandlerUtil.getActiveShell(event), "Select the import language to use", "What language must be used to import the clipboard content?", lang);
+			TextDialog dialog = new TextDialog(HandlerUtil.getActiveShell(event), TXMUIMessages.SelectTheImportLanguageToUse, TXMUIMessages.WhatLanguageMustBeUsedToImportTheClipboardContent, lang);
 			if (askLang) {
 				if (dialog.open() == TextDialog.CANCEL) return null;
 				lang = dialog.getText();
@@ -157,8 +157,8 @@
 		project.setImportModuleName("txt"); //$NON-NLS-1$
 		project.setEncoding("UTF-8"); //$NON-NLS-1$
 		project.getEditionDefinition("default").setBuildEdition(true); //$NON-NLS-1$
-		project.getCommandPreferences("concordance").set("view_reference_pattern", 
-				ReferencePattern.referenceToString(Arrays.asList("lbn"), null));
+		project.getCommandPreferences("concordance").set("view_reference_pattern",  //$NON-NLS-1$ //$NON-NLS-2$
+				ReferencePattern.referenceToString(Arrays.asList("lbn"), null)); //$NON-NLS-1$
 		
 		if (lang.length() == 0) lang = Locale.getDefault().getLanguage();
 		if ("??".equals(lang)) { //$NON-NLS-1$
@@ -171,7 +171,7 @@
 		
 		String ttpath = TreeTaggerPreferences.getInstance().getString(TreeTaggerPreferences.INSTALL_PATH);
 		
-		if (ttpath != null && ttpath.length() > 0 && new File(ttpath, "bin").isDirectory()) {
+		if (ttpath != null && ttpath.length() > 0 && new File(ttpath, "bin").isDirectory()) { //$NON-NLS-1$
 			project.setAnnotate(true);
 		}
 		
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenManual.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenManual.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/commands/OpenManual.java	(revision 3445)
@@ -47,10 +47,10 @@
 public class OpenManual extends AbstractHandler {
 
 	public static final HashMap<String, String> files = new HashMap<String, String>();
-	public static final String default_locale = "fr";
+	public static final String default_locale = "fr"; //$NON-NLS-1$
 	static {
-		files.put("fr", "Manuel de TXM 0.8 FR.pdf");
-		files.put("en", "TXM Manual 0.8 EN.pdf");
+		files.put("fr", "Manuel de TXM 0.8 FR.pdf"); //$NON-NLS-1$ //$NON-NLS-2$
+		files.put("en", "TXM Manual 0.8 EN.pdf"); //$NON-NLS-1$ //$NON-NLS-2$
 	}
 
 	/** The Constant ID. */
@@ -73,24 +73,24 @@
 			String file = files.get(locale);
 			if (file == null) file = files.get(default_locale);
 
-			File man = new File(installdir, "doc/"+file);
+			File man = new File(installdir, "doc/"+file); //$NON-NLS-1$
 			if (!man.exists()) {
-				man = new File(installdir, "doc/"+files.get(default_locale));
+				man = new File(installdir, "doc/"+files.get(default_locale)); //$NON-NLS-1$
 			}
 
 			if (man.exists()) {
-				Log.info("Opening file: "+man);
+				Log.info("Opening file: "+man); //$NON-NLS-1$
 				try {
 					Desktop.getDesktop().open(man);
 				} catch (IOException e) {
-					Log.severe("Error: manual not opened: "+e);
+					Log.severe("Error: manual not opened: "+e); //$NON-NLS-1$
 					Log.printStackTrace(e);
 				}
 			} else {
-				Log.severe("Error: manual not found: "+man.getAbsolutePath());
+				Log.severe("Error: manual not found: "+man.getAbsolutePath()); //$NON-NLS-1$
 			}
 		} catch (Throwable e) {
-			Log.severe("Error: manual not opened: "+e);
+			Log.severe("Error: manual not opened: "+e); //$NON-NLS-1$
 			Log.printStackTrace(e);
 		}
 	}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchWindowAdvisor.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchWindowAdvisor.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchWindowAdvisor.java	(revision 3445)
@@ -114,7 +114,7 @@
 				// Team
 				// if ("org.eclipse.team.svn.ui.SVNTeamPreferences".equals(next.getElementId())) continue;
 				if ("group.editor".equals(next.getElementId())) continue; //$NON-NLS-1$
-				if ("SearchField".equals(next.getElementId())) continue;
+				if ("SearchField".equals(next.getElementId())) continue; //$NON-NLS-1$
 				// if ("PerspectiveSpacer".equals(next.getElementId())) continue;
 				// if ("Spacer Glue".equals(next.getElementId())) continue;
 				// if ("Search-PS Glue".equals(next.getElementId())) continue;
@@ -145,7 +145,7 @@
 		
 		IContributionItem[] mItems, mSubItems;
 		IMenuManager mm = getWindowConfigurer().getActionBarConfigurer().getMenuManager();
-		mm.remove("org.eclipse.ui.run");
+		mm.remove("org.eclipse.ui.run"); //$NON-NLS-1$
 		// mItems = mm.getItems ();
 		// for (int i = 0; i < mItems.length; i++)
 		// {
@@ -189,27 +189,27 @@
 		
 		if (altered.size() > 0) {
 			StringBuilder mess = new StringBuilder();
-			mess.append("Some result have been manually modified: ");
+			mess.append(TXMUIMessages.SomeResultHaveBeenMannuallyModified);
 			for (TXMResult result : altered) {
-				mess.append("\n- "+result.getName()+ " ("+result.getResultType()+") : "+result.getSimpleDetails());
+				mess.append("\n- "+result.getName()+ " ("+result.getResultType()+") : "+result.getSimpleDetails()); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 			}
-			mess.append("\n\n"+"You're going to lost those modifications if not already exported. Continue?"); //$NON-NLS-1$
-			return MessageDialog.openConfirm(this.getWindowConfigurer().getWindow().getShell(), "Some result have been manually modified", mess.toString());
+			mess.append("\n\n"+TXMUIMessages.YouReGoingToLostThoseModificationsIfNotAlreadyExportedContinue); //$NON-NLS-1$
+			return MessageDialog.openConfirm(this.getWindowConfigurer().getWindow().getShell(), TXMUIMessages.SomeResultHaveBeenManuallyModified, mess.toString());
 		}
 		
 		AnnotationEnginesManager aem = (AnnotationEnginesManager) Toolbox.getEngineManager(EngineType.ANNOTATION);
 		HashMap<CorpusBuild, ArrayList<AnnotationEngine>> notSaved = aem.getEnginesWithSaveNeededPerCorpus();
 		if (notSaved.size() > 0) {
 			StringBuilder mess = new StringBuilder();
-			mess.append( "Some annotations are not saved and will be lost after TXM is closed:");
+			mess.append( TXMUIMessages.SomeAnnotationsAreNotSavedAndWillBeLostAfterTXMIsClosed);
 			for (CorpusBuild corpus : notSaved.keySet())  {
-				mess.append("\n- "+corpus.getName()+": "+corpus.getSimpleDetails());
+				mess.append("\n- "+corpus.getName()+": "+corpus.getSimpleDetails()); //$NON-NLS-1$ //$NON-NLS-2$
 				for (AnnotationEngine a: notSaved.get(corpus)) {
-					mess.append("\n  - "+a.getName());
+					mess.append("\n  - "+a.getName()); //$NON-NLS-1$
 				}
 			}
-			mess.append("\n\nContinue and lost the unsaved annotations ");
-			if(!MessageDialog.openConfirm(this.getWindowConfigurer().getWindow().getShell(), "Some annotations are not saved", mess.toString())) {
+			mess.append(TXMUIMessages.ContinueAndLostTheUnsavedAnnotations);
+			if(!MessageDialog.openConfirm(this.getWindowConfigurer().getWindow().getShell(), TXMUIMessages.SomeAnnotationsAreNotSaved, mess.toString())) {
 				return false;
 			}
 		}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/IImageKeys.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/IImageKeys.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/IImageKeys.java	(revision 3445)
@@ -240,21 +240,21 @@
 	
 	public static final String ACTION_REMOVE = "icons/remove.png";//$NON-NLS-1$
 	
-	public static final String WORLD = "icons/world.png";
+	public static final String WORLD = "icons/world.png"; //$NON-NLS-1$
 	
-	public static final String TXM_ICON = "icons/logo/TXM_logo.png";
+	public static final String TXM_ICON = "icons/logo/TXM_logo.png"; //$NON-NLS-1$
 	
-	public static final String TXM = "icons/logo/TXM_logo_64x64.png";
+	public static final String TXM = "icons/logo/TXM_logo_64x64.png"; //$NON-NLS-1$
 	
-	public static final String TXM1616 = "icons/logo/TXM_logo_16x16.png";
+	public static final String TXM1616 = "icons/logo/TXM_logo_16x16.png"; //$NON-NLS-1$
 	
-	public static final String SPLASH = "splash.bmp";
+	public static final String SPLASH = "splash.bmp"; //$NON-NLS-1$
 	
-	public static final String OPEN_DECORATOR = "icons/decorators/bullet_arrow_down.png";
+	public static final String OPEN_DECORATOR = "icons/decorators/bullet_arrow_down.png"; //$NON-NLS-1$
 	
-	public static final String CLOSE_DECORATOR = "icons/decorators/bullet_arrow_up.png";
+	public static final String CLOSE_DECORATOR = "icons/decorators/bullet_arrow_up.png"; //$NON-NLS-1$
 	
-	public static final String TXM_FLAT_LOGO = "icons/logo/TXM_flat_logo.png";
+	public static final String TXM_FLAT_LOGO = "icons/logo/TXM_flat_logo.png"; //$NON-NLS-1$
 	
 	public static final String FILE_IMAGE = "icons/objects/file_image.png"; //$NON-NLS-1$ ;
 	
@@ -325,7 +325,7 @@
 			ImageDescriptor imgg = AbstractUIPlugin.imageDescriptorFromPlugin(pluginId, imagekey);
 			if (imgg == null) {
 				Log.severe("Warning: image not found in '" + pluginId + "' -> '" + imagekey + "'");
-				return getImage("icons/null.png");
+				return getImage("icons/null.png"); //$NON-NLS-1$
 			}
 			
 			images.put(imagekey, new Image(null, imgg.getImageData()));
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditorToolBar.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditorToolBar.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditorToolBar.java	(revision 3445)
@@ -178,7 +178,7 @@
 		if (this.groups.containsKey(groupTitle)) {
 			return (GLComposite) this.groups.get(groupTitle);
 		}
-		final GLComposite comp = new GLComposite(subWidgetComposite, SWT.NONE, "Group: " + groupTitle);
+		final GLComposite comp = new GLComposite(subWidgetComposite, SWT.NONE, "Group: " + groupTitle); //$NON-NLS-1$
 		comp.getLayout().horizontalSpacing = 1;
 		comp.getLayout().numColumns = numColumns;
 		comp.getLayout().makeColumnsEqualWidth = makeColumnsEqualWidth;
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/TableKeyListener.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/TableKeyListener.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/TableKeyListener.java	(revision 3445)
@@ -53,7 +53,7 @@
 	 */
 	public static void searchInLines(TableViewer[] viewers) {
 		
-		InputDialog dialog = new InputDialog(viewers[0].getTable().getShell(), "Compute", TXMUIMessages.common_enterRegularExpressionOfYourSearch, "", null);  //$NON-NLS-1$
+		InputDialog dialog = new InputDialog(viewers[0].getTable().getShell(), "Compute", TXMUIMessages.common_enterRegularExpressionOfYourSearch, "", null);  //$NON-NLS-1$ //$NON-NLS-2$
 		if (dialog.open() == Window.OK) {
 			for (TableViewer viewer : viewers) {
 				
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/ImportFormEditor.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/ImportFormEditor.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/ImportFormEditor.java	(revision 3445)
@@ -232,7 +232,7 @@
 		
 		if (main != null && project != null) {
 			if (updateMode) {
-				return TXMUIMessages.bind("Update {0} ({1} import)", project.getName(), importName);
+				return TXMUIMessages.bind(TXMUIMessages.UpdateP0P1Import, project.getName(), importName);
 			} else {
 				return TXMUIMessages.bind(TXMUIMessages.p0ImportWithP1, project.getName(), importName);
 			}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/StructuresSection.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/StructuresSection.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/StructuresSection.java	(revision 3445)
@@ -23,9 +23,9 @@
 	private Text projectionsText;
 	
 	public StructuresSection(ImportFormEditor editor, FormToolkit toolkit2, ScrolledForm form2, Composite parent, int style) {
-		super(editor, toolkit2, form2, parent, style, "structures");
+		super(editor, toolkit2, form2, parent, style, "structures"); //$NON-NLS-1$
 		
-		this.section.setText("Structures");
+		this.section.setText(TXMUIMessages.Structures);
 		TableWrapLayout layout = new TableWrapLayout();
 		layout.makeColumnsEqualWidth = true;
 		this.section.setLayout(layout);
@@ -54,7 +54,7 @@
 		TableWrapData gdata = getTextGridData();
 		milestoneElementsText.setLayoutData(gdata);
 		
-		Label label = toolkit.createLabel(sectionClient, "CQP Structure properties projections", SWT.WRAP);
+		Label label = toolkit.createLabel(sectionClient, TXMUIMessages.CQPStructurePropertiesProjection, SWT.WRAP);
 		gdata = getLabelGridData();
 		gdata.colspan = 2;
 		label.setLayoutData(gdata);
@@ -70,8 +70,8 @@
 	@Override
 	public void updateFields(Project project) {
 		if (this.section != null && !section.isDisposed()) {
-			milestoneElementsText.setText(project.getTextualPlan("MileStones"));
-			projectionsText.setText(project.getTextualPlan("Projections"));
+			milestoneElementsText.setText(project.getTextualPlan("MileStones")); //$NON-NLS-1$
+			projectionsText.setText(project.getTextualPlan("Projections")); //$NON-NLS-1$
 		}
 	}
 	
@@ -79,9 +79,9 @@
 	public boolean saveFields(Project project) {
 		if (this.section != null && !section.isDisposed()) {
 			
-			project.setTextualPlan("MileStones", milestoneElementsText.getText().trim());
+			project.setTextualPlan("MileStones", milestoneElementsText.getText().trim()); //$NON-NLS-1$
 			
-			project.setTextualPlan("Projections", projectionsText.getText().trim());
+			project.setTextualPlan("Projections", projectionsText.getText().trim()); //$NON-NLS-1$
 			
 			return true;
 		}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/TextualPlansSection.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/TextualPlansSection.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/TextualPlansSection.java	(revision 3445)
@@ -24,7 +24,7 @@
 	private Text outsideTextElementsToEditText;
 	
 	public TextualPlansSection(ImportFormEditor editor, FormToolkit toolkit2, ScrolledForm form2, Composite parent, int style) {
-		super(editor, toolkit2, form2, parent, style, "textualplans");
+		super(editor, toolkit2, form2, parent, style, "textualplans"); //$NON-NLS-1$
 		
 		this.section.setText(TXMUIMessages.textualPlanes);
 		TableWrapLayout layout = new TableWrapLayout();
@@ -68,8 +68,8 @@
 	@Override
 	public void updateFields(Project project) {
 		if (this.section != null && !section.isDisposed()) {
-			outsideTextElementsText.setText(project.getTextualPlan("OutSideTextTags"));
-			outsideTextElementsToEditText.setText(project.getTextualPlan("OutSideTextTagsAndKeepContent"));
+			outsideTextElementsText.setText(project.getTextualPlan("OutSideTextTags")); //$NON-NLS-1$
+			outsideTextElementsToEditText.setText(project.getTextualPlan("OutSideTextTagsAndKeepContent")); //$NON-NLS-1$
 		}
 	}
 	
@@ -77,9 +77,9 @@
 	public boolean saveFields(Project project) {
 		if (this.section != null && !section.isDisposed()) {
 			
-			project.setTextualPlan("OutSideTextTags", outsideTextElementsText.getText().trim());
+			project.setTextualPlan("OutSideTextTags", outsideTextElementsText.getText().trim()); //$NON-NLS-1$
 			
-			project.setTextualPlan("OutSideTextTagsAndKeepContent", outsideTextElementsToEditText.getText().trim());
+			project.setTextualPlan("OutSideTextTagsAndKeepContent", outsideTextElementsToEditText.getText().trim()); //$NON-NLS-1$
 			
 			return true;
 		}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/EncodingSection.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/EncodingSection.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/EncodingSection.java	(revision 3445)
@@ -33,7 +33,7 @@
 	Combo encodingCombo;
 	
 	public EncodingSection(ImportFormEditor editor, FormToolkit toolkit2, ScrolledForm form2, Composite parent, int style) {
-		super(editor, toolkit2, form2, parent, style, "encoding");
+		super(editor, toolkit2, form2, parent, style, "encoding"); //$NON-NLS-1$
 		
 		this.section.setText(TXMUIMessages.sourceCharactersEncoding);
 		TableWrapLayout layout = new TableWrapLayout();
@@ -83,11 +83,11 @@
 			}
 		});
 		encodingCombo.removeAll();
-		encodingCombo.setToolTipText("Source files encoding code (only the most used are shown)");
+		encodingCombo.setToolTipText(TXMUIMessages.AvailableSourceFilesEncodingCodeOnlyMostUsedAreShown);
 	}
 	
-	String[] commonCharsets = { "UTF-8", "Windows-1252", "MacOSX", "x-MacRoman", "ISO-8859-1", "Windows-1251", "UTF-16", "UTF-32", "GB2312", "EUC-KR", "GBK", "ISO-8859-2", "EUC-JP", "Windows-1250",
-			"ISO-8859-15", "Big5", "Windows-1256", "ISO-8859-9" };
+	String[] commonCharsets = { "UTF-8", "Windows-1252", "MacOSX", "x-MacRoman", "ISO-8859-1", "Windows-1251", "UTF-16", "UTF-32", "GB2312", "EUC-KR", "GBK", "ISO-8859-2", "EUC-JP", "Windows-1250", //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ //$NON-NLS-13$ //$NON-NLS-14$
+			"ISO-8859-15", "Big5", "Windows-1256", "ISO-8859-9" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 	
 	@Override
 	public void updateFields(Project project) {
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/FontSection.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/FontSection.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/FontSection.java	(revision 3445)
@@ -20,12 +20,12 @@
 	
 	private static final int SECTION_SIZE = 1;
 	
-	public static final String DEFAULTFONT = "";
+	public static final String DEFAULTFONT = ""; //$NON-NLS-1$
 	
 	Combo fontCombo;
 	
 	public FontSection(ImportFormEditor editor, FormToolkit toolkit2, ScrolledForm form2, Composite parent, int style) {
-		super(editor, toolkit2, form2, parent, style, "font");
+		super(editor, toolkit2, form2, parent, style, "font"); //$NON-NLS-1$
 		
 		this.section.setText(TXMUIMessages.displayFont);
 		TableWrapLayout layout = new TableWrapLayout();
@@ -84,7 +84,7 @@
 			fontCombo.setText(value);
 		}
 		else {
-			fontCombo.setText("");
+			fontCombo.setText(""); //$NON-NLS-1$
 		}
 	}
 	
@@ -92,7 +92,7 @@
 	public boolean saveFields(Project project) {
 		if (!this.section.isDisposed()) {
 			String value = fontCombo.getText();
-			if (DEFAULTFONT.equals(value)) value = "";
+			if (DEFAULTFONT.equals(value)) value = ""; //$NON-NLS-1$
 			
 			project.setFont(value); // $NON-NLS-1$
 			return true;
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/TRSSection.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/TRSSection.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/TRSSection.java	(revision 3445)
@@ -40,7 +40,7 @@
 	 */
 	public TRSSection(ImportFormEditor editor, FormToolkit toolkit2, ScrolledForm form2, Composite parent, int style) {
 		
-		super(editor, toolkit2, form2, parent, style, "Transcriptions");
+		super(editor, toolkit2, form2, parent, style, TXMUIMessages.Transcriptions);
 		
 		TableWrapLayout layout = new TableWrapLayout();
 		layout.makeColumnsEqualWidth = true;
@@ -71,19 +71,19 @@
 		displayLocutorsButton.setLayoutData(gdata2);
 		
 		// build text edition or not button
-		indexInterviewerButton = toolkit.createButton(sectionClient, "Index interviewer speech", SWT.CHECK);
+		indexInterviewerButton = toolkit.createButton(sectionClient, TXMUIMessages.IndexInterviewerSpeech, SWT.CHECK);
 		gdata2 = getButtonLayoutData();
 		gdata2.colspan = 4; // one line
 		indexInterviewerButton.setLayoutData(gdata2);
 		
 		// build text edition or not button
-		createPagesForSectionsButton = toolkit.createButton(sectionClient, "Create pages for sections", SWT.CHECK);
+		createPagesForSectionsButton = toolkit.createButton(sectionClient, TXMUIMessages.CreatePagesForSections, SWT.CHECK);
 		gdata2 = getButtonLayoutData();
 		gdata2.colspan = 4; // one line
 		createPagesForSectionsButton.setLayoutData(gdata2);
 		
 		// build text edition or not button
-		indexTranscriberMetadataButton = toolkit.createButton(sectionClient, "Index Transcriber transcription metadata", SWT.CHECK);
+		indexTranscriberMetadataButton = toolkit.createButton(sectionClient, TXMUIMessages.IndexTranscriberTranscriptionMetadata, SWT.CHECK);
 		gdata2 = getButtonLayoutData();
 		gdata2.colspan = 4; // one line
 		indexTranscriberMetadataButton.setLayoutData(gdata2);
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/EditionSection.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/EditionSection.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/EditionSection.java	(revision 3445)
@@ -27,7 +27,7 @@
 
 public class EditionSection extends ImportEditorSection {
 	
-	String ID = "org.txm.rcp.editors.imports.sections.EditionSection";
+	String ID = "org.txm.rcp.editors.imports.sections.EditionSection"; //$NON-NLS-1$
 	
 	private static final int SECTION_SIZE = 1;
 	
@@ -60,7 +60,7 @@
 	 * @param importName temporary parameter to detect if import module is xtzLoader.groovy
 	 */
 	public EditionSection(ImportFormEditor editor, FormToolkit toolkit2, ScrolledForm form2, Composite parent, int style, HashMap<String, Boolean> moduleParams, String importName) {
-		super(editor, toolkit2, form2, parent, style, "edition");
+		super(editor, toolkit2, form2, parent, style, "edition"); //$NON-NLS-1$
 		
 		this.section.setText(TXMUIMessages.editions);
 		TableWrapLayout layout = new TableWrapLayout();
@@ -92,14 +92,14 @@
 		gdata2.colspan = 4; // one line
 		buildDefaultEditionButton.setLayoutData(gdata2);
 		
-		collapsibleMetadataDefaultEditionButton = toolkit.createButton(sectionClient, "Enable collapsible metadata", SWT.CHECK);
+		collapsibleMetadataDefaultEditionButton = toolkit.createButton(sectionClient, TXMUIMessages.EnableCollapsibleMetadata, SWT.CHECK);
 		// collapsibleMetadataDefaultEditionButton.setSelection(true);
 		gdata2 = getButtonLayoutData();
 		gdata2.colspan = 4; // one line
 		gdata2.indent = 20;
 		collapsibleMetadataDefaultEditionButton.setLayoutData(gdata2);
 		
-		paginateDefaultEditionButton = toolkit.createButton(sectionClient, "Paginate", SWT.CHECK);
+		paginateDefaultEditionButton = toolkit.createButton(sectionClient, TXMUIMessages.Paginate, SWT.CHECK);
 		// paginateDefaultEditionButton.setSelection(true);
 		gdata2 = getButtonLayoutData();
 		gdata2.colspan = 4; // one line
@@ -128,10 +128,10 @@
 			pageBreakText.setLayoutData(gdata);
 		}
 		
-		if (importName.startsWith("xtz")) {
+		if (importName.startsWith("xtz")) { //$NON-NLS-1$
 			
-			Label tmpLabel3 = toolkit.createLabel(sectionClient, "Note elements");
-			tmpLabel3.setToolTipText("Note elements that encodes ponctual notes");
+			Label tmpLabel3 = toolkit.createLabel(sectionClient, TXMUIMessages.NoteElements);
+			tmpLabel3.setToolTipText(TXMUIMessages.NoteElementsThatEncodePonctualNotes);
 			TableWrapData gdata3 = getLabelGridData();
 			gdata3.indent = 40;
 			tmpLabel3.setLayoutData(gdata3);
@@ -142,7 +142,7 @@
 			noteElementsText.setLayoutData(gdata3);
 			
 			// build text edition or not button
-			buildFacsEditionCheckButton = toolkit.createButton(sectionClient, "Build 'facs' edition", SWT.CHECK);
+			buildFacsEditionCheckButton = toolkit.createButton(sectionClient, TXMUIMessages.BuildFacsEdition, SWT.CHECK);
 			buildFacsEditionCheckButton.setSelection(false);
 			TableWrapData gdata22 = getButtonLayoutData();
 			gdata22.colspan = 4; // one line
@@ -159,7 +159,7 @@
 				public void widgetDefaultSelected(SelectionEvent e) {}
 			});
 			// image directory
-			tmpLabel = toolkit.createLabel(sectionClient, "Images directory ");
+			tmpLabel = toolkit.createLabel(sectionClient, TXMUIMessages.ImageDirectory);
 			TableWrapData gdata = getLabelGridData();
 			gdata.indent = 60;
 			tmpLabel.setLayoutData(gdata);
@@ -170,7 +170,7 @@
 			imageDirectoryText.setLayoutData(gdata);
 			imageDirectoryText.setEnabled(false);
 			
-			Button selectImageDirectoryButton = toolkit.createButton(sectionClient, "...", SWT.PUSH);
+			Button selectImageDirectoryButton = toolkit.createButton(sectionClient, "...", SWT.PUSH); //$NON-NLS-1$
 			gdata = getButtonLayoutData();
 			selectImageDirectoryButton.setLayoutData(gdata);
 			selectImageDirectoryButton.addSelectionListener(new SelectionListener() {
@@ -186,7 +186,7 @@
 					}
 					if (dialog.open() != null) {
 						File imgDirectory = new File(dialog.getFilterPath());
-						LastOpened.set(ID, imgDirectory.getParent(), "");
+						LastOpened.set(ID, imgDirectory.getParent(), ""); //$NON-NLS-1$
 						imageDirectoryText.setText(imgDirectory.getAbsolutePath());
 					}
 				}
@@ -195,12 +195,12 @@
 				public void widgetDefaultSelected(SelectionEvent e) {}
 			});
 			
-			tmpLabel = toolkit.createLabel(sectionClient, "Default edition ");
+			tmpLabel = toolkit.createLabel(sectionClient, TXMUIMessages.DefaultEdition);
 			gdata = getLabelGridData();
 			gdata.indent = 20;
 			tmpLabel.setLayoutData(gdata);
 			
-			defaultEditions = toolkit.createText(sectionClient, "", SWT.BORDER);
+			defaultEditions = toolkit.createText(sectionClient, "", SWT.BORDER); //$NON-NLS-1$
 			gdata = getTextGridData();
 			gdata.colspan = 2;
 			defaultEditions.setLayoutData(gdata);
@@ -276,11 +276,11 @@
 		if (this.section.isDisposed()) return;
 		if (project == null) return;
 		
-		buildDefaultEditionButton.setSelection(!project.hasEditionDefinition("default"));
+		buildDefaultEditionButton.setSelection(!project.hasEditionDefinition("default")); //$NON-NLS-1$
 		
-		if (project.hasEditionDefinition("default")) {
+		if (project.hasEditionDefinition("default")) { //$NON-NLS-1$
 			
-			EditionDefinition edition_params = project.getEditionDefinition("default");
+			EditionDefinition edition_params = project.getEditionDefinition("default"); //$NON-NLS-1$
 			boolean be = edition_params.getBuildEdition();
 			buildDefaultEditionButton.setSelection(be);
 			
@@ -293,14 +293,14 @@
 			int wppt = edition_params.getWordsPerPage();
 			wordsPerPageText.setText("" + wppt); //$NON-NLS-1$
 			
-			if (noteElementsText != null) noteElementsText.setText(project.getTextualPlan("Note"));
+			if (noteElementsText != null) noteElementsText.setText(project.getTextualPlan("Note")); //$NON-NLS-1$
 			
 			String pbt = edition_params.getPageElement();
 			if (pageBreakText != null)
 				pageBreakText.setText(pbt);
 		}
 		
-		EditionDefinition edition_params = project.getEditionDefinition("facs");
+		EditionDefinition edition_params = project.getEditionDefinition("facs"); //$NON-NLS-1$
 		boolean bfe = edition_params.getBuildEdition();
 		if (buildFacsEditionCheckButton != null && edition_params != null) {
 			buildFacsEditionCheckButton.setSelection(bfe);
@@ -322,7 +322,7 @@
 	public boolean saveFields(Project project) {
 		if (this.section != null && !this.section.isDisposed()) {
 			
-			String page_break_tag = "pb";
+			String page_break_tag = "pb"; //$NON-NLS-1$
 			
 			if (pageBreakText != null) {
 				page_break_tag = pageBreakText.getText();
@@ -335,30 +335,30 @@
 			boolean build = buildDefaultEditionButton.getSelection();
 			boolean paginate = paginateDefaultEditionButton.getSelection();
 			boolean collapsible = collapsibleMetadataDefaultEditionButton.getSelection();
-			EditionDefinition edition_params = project.getEditionDefinition("default");
-			edition_params.setName("default");
+			EditionDefinition edition_params = project.getEditionDefinition("default"); //$NON-NLS-1$
+			edition_params.setName("default"); //$NON-NLS-1$
 			edition_params.setPageBreakTag(page_break_tag);
 			edition_params.setWordsPerPage(words_per_page);
 			edition_params.setBuildEdition(build);
 			edition_params.setPaginateEdition(paginate);
 			edition_params.setEnableCollapsible(collapsible);
 			
-			if (noteElementsText != null) project.setTextualPlan("Note", noteElementsText.getText());
+			if (noteElementsText != null) project.setTextualPlan(TXMUIMessages.Note, noteElementsText.getText());
 			
 			if (buildFacsEditionCheckButton != null) {
 				
-				String images_directory = "";
+				String images_directory = ""; //$NON-NLS-1$
 				if (imageDirectoryText != null)
 					images_directory = imageDirectoryText.getText();
 				
 				build = buildFacsEditionCheckButton.getSelection();
 				
-				EditionDefinition edition_params2 = project.getEditionDefinition("facs");
+				EditionDefinition edition_params2 = project.getEditionDefinition("facs"); //$NON-NLS-1$
 				edition_params2.setBuildEdition(build);
 				edition_params2.setImagesDirectory(images_directory);
 			}
 			else {
-				EditionDefinition edition_params2 = project.getEditionDefinition("facs");
+				EditionDefinition edition_params2 = project.getEditionDefinition("facs"); //$NON-NLS-1$
 				edition_params2.setBuildEdition(false);
 			}
 			
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/OptionsSection.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/OptionsSection.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/OptionsSection.java	(revision 3445)
@@ -11,6 +11,7 @@
 import org.eclipse.ui.forms.widgets.TableWrapLayout;
 import org.txm.objects.Project;
 import org.txm.rcp.editors.imports.ImportFormEditor;
+import org.txm.rcp.messages.TXMUIMessages;
 
 public class OptionsSection extends ImportEditorSection {
 	
@@ -20,9 +21,9 @@
 	// private Button multithreadButton;
 	
 	public OptionsSection(ImportFormEditor editor, FormToolkit toolkit2, ScrolledForm form2, Composite parent, int style) {
-		super(editor, toolkit2, form2, parent, style, "misc");
+		super(editor, toolkit2, form2, parent, style, "misc"); //$NON-NLS-1$
 		
-		this.section.setText("Options");
+		this.section.setText(TXMUIMessages.Options);
 		TableWrapLayout layout = new TableWrapLayout();
 		layout.makeColumnsEqualWidth = true;
 		this.section.setLayout(layout);
@@ -43,7 +44,7 @@
 		sectionClient.setLayout(slayout);
 		this.section.setClient(sectionClient);
 		
-		cleanButton = toolkit.createButton(sectionClient, "Remove temporary directories", SWT.CHECK);
+		cleanButton = toolkit.createButton(sectionClient, TXMUIMessages.RemoveTemporarydirectories, SWT.CHECK);
 		TableWrapData gdata = getTextGridData();
 		gdata.grabHorizontal = true;
 		gdata.colspan = 2;
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/InfosSection.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/InfosSection.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/InfosSection.java	(revision 3445)
@@ -23,7 +23,7 @@
 	private Text descText;
 	
 	public InfosSection(ImportFormEditor editor, FormToolkit toolkit2, ScrolledForm form2, Composite parent, int style) {
-		super(editor, toolkit2, form2, parent, style, "infos");
+		super(editor, toolkit2, form2, parent, style, "infos"); //$NON-NLS-1$
 		
 		// this = toolkit.createSection(form.getBody(), ExpandableComposite.TITLE_BAR|ExpandableComposite.TWISTIE);
 		this.section.setText(TXMUIMessages.description);
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/WordsSection.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/WordsSection.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/WordsSection.java	(revision 3445)
@@ -54,9 +54,9 @@
 	private HashMap<String, Boolean> moduleParams;
 	
 	public WordsSection(ImportFormEditor editor, FormToolkit toolkit2, ScrolledForm form2, Composite parent, int style, HashMap<String, Boolean> moduleParams) {
-		super(editor, toolkit2, form2, parent, style, "words");
+		super(editor, toolkit2, form2, parent, style, "words"); //$NON-NLS-1$
 		this.moduleParams = moduleParams;
-		this.section.setText("Words");
+		this.section.setText(TXMUIMessages.Words);
 		TableWrapLayout layout = new TableWrapLayout();
 		layout.makeColumnsEqualWidth = true;
 		this.section.setLayout(layout);
@@ -115,7 +115,7 @@
 		gdata.colspan = 3;
 		doRetokenizeStepButton.setLayoutData(gdata);
 		
-		doBuildWordIDsButton = toolkit.createButton(sectionClient, "Build word identifiers", SWT.CHECK);
+		doBuildWordIDsButton = toolkit.createButton(sectionClient, TXMUIMessages.BuildWordIdentifiers, SWT.CHECK);
 		doBuildWordIDsButton.setToolTipText(TXMUIMessages.performWordSegmentationWithinWord);
 		doBuildWordIDsButton.setSelection(true);
 		doBuildWordIDsButton.setVisible(moduleParams.get(ImportModuleCustomization.ADVANCEDTOKENIZER));
@@ -136,7 +136,7 @@
 		gdata.indent = 40;
 		l1.setLayoutData(gdata);
 		
-		textWhiteSpaces = toolkit.createText(sectionClient, "", SWT.BORDER);
+		textWhiteSpaces = toolkit.createText(sectionClient, "", SWT.BORDER); //$NON-NLS-1$
 		gdata = getLongTextGridData();
 		textWhiteSpaces.setLayoutData(gdata);
 		
@@ -146,7 +146,7 @@
 		gdata.indent = 40;
 		l2.setLayoutData(gdata);
 		
-		textPuncts = toolkit.createText(sectionClient, "", SWT.BORDER);
+		textPuncts = toolkit.createText(sectionClient, "", SWT.BORDER); //$NON-NLS-1$
 		gdata = getLongTextGridData();
 		textPuncts.setLayoutData(gdata);
 		
@@ -156,7 +156,7 @@
 		gdata.indent = 20;
 		l4.setLayoutData(gdata);
 		
-		textElisions = toolkit.createText(sectionClient, "", SWT.BORDER);
+		textElisions = toolkit.createText(sectionClient, "", SWT.BORDER); //$NON-NLS-1$
 		gdata = getLongTextGridData();
 		textElisions.setLayoutData(gdata);
 		
@@ -166,7 +166,7 @@
 		gdata.indent = 20;
 		l3.setLayoutData(gdata);
 		
-		textPunctsStrong = toolkit.createText(sectionClient, "", SWT.BORDER);
+		textPunctsStrong = toolkit.createText(sectionClient, "", SWT.BORDER); //$NON-NLS-1$
 		gdata = getLongTextGridData();
 		textPunctsStrong.setLayoutData(gdata);
 		
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/FrontXSLSection.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/FrontXSLSection.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/FrontXSLSection.java	(revision 3445)
@@ -50,7 +50,7 @@
 	TableViewer xsltParamsViewer;
 	
 	public FrontXSLSection(ImportFormEditor editor, FormToolkit toolkit2, ScrolledForm form2, Composite parent, int style) {
-		super(editor, toolkit2, form2, parent, style, "xslt");
+		super(editor, toolkit2, form2, parent, style, "xslt"); //$NON-NLS-1$
 		
 		this.section.setText(TXMUIMessages.frontXSL);
 		TableWrapLayout layout = new TableWrapLayout();
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/ImportEditorSection.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/ImportEditorSection.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/ImportEditorSection.java	(revision 3445)
@@ -80,7 +80,7 @@
 	 */
 	public ImportEditorSection(ImportFormEditor editor, FormToolkit toolkit, ScrolledForm form, Composite parent, int style, String name) {
 		
-		if (name == null) throw new IllegalArgumentException("Section name must not be null or empty.");
+		if (name == null) throw new IllegalArgumentException("Section name must not be null or empty."); //$NON-NLS-1$
 		
 		section = toolkit.createSection(parent, style);
 		this.editor = editor;
@@ -158,16 +158,16 @@
 	 */
 	public boolean save(Document document) {
 		
-		NodeList sectionList = document.getElementsByTagName("section");
+		NodeList sectionList = document.getElementsByTagName("section"); //$NON-NLS-1$
 		Element sectionElement = null;
 		for (int i = 0; i < sectionList.getLength(); i++) {
-			if (name.equals(sectionList.item(i).getAttributes().getNamedItem("name").getNodeValue())) {
+			if (name.equals(sectionList.item(i).getAttributes().getNamedItem("name").getNodeValue())) { //$NON-NLS-1$
 				sectionElement = (Element) sectionList.item(i);
 			}
 		}
 		if (sectionElement == null) {
-			sectionElement = document.createElement("section");
-			sectionElement.setAttribute("name", name);
+			sectionElement = document.createElement("section"); //$NON-NLS-1$
+			sectionElement.setAttribute("name", name); //$NON-NLS-1$
 		}
 		
 		for (Field f : BeanParameters.getAllFields(this)) {
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/LangSection.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/LangSection.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/sections/LangSection.java	(revision 3445)
@@ -47,7 +47,7 @@
 	Combo langcombo;
 	
 	public LangSection(ImportFormEditor editor, FormToolkit toolkit2, ScrolledForm form2, Composite parent, int style) {
-		super(editor, toolkit2, form2, parent, style, "lang");
+		super(editor, toolkit2, form2, parent, style, "lang"); //$NON-NLS-1$
 		
 		this.section.setText(TXMUIMessages.mainLanguage);
 		TableWrapLayout layout = new TableWrapLayout();
@@ -92,7 +92,7 @@
 		langcombo = new Combo(sectionClient, SWT.BORDER);
 		gdata = getTextGridData();
 		langcombo.setLayoutData(gdata);
-		langcombo.setToolTipText("Sources lang (show only the TreeTagger common language)");
+		langcombo.setToolTipText(TXMUIMessages.CommonSourcesLangOfTreeTaggerModels);
 		// if widget selected change the radio buttons value
 		langcombo.addSelectionListener(new SelectionListener() {
 			
@@ -114,7 +114,7 @@
 		File files[] = new File(modelsDir).listFiles(IOUtils.HIDDENFILE_FILTER);
 		if (files != null && files.length > 0) {
 			for (File model : files) {
-				if (!model.getName().endsWith(".par")) continue;
+				if (!model.getName().endsWith(".par")) continue; //$NON-NLS-1$
 				String lang = FileUtils.stripExtension(model);
 				langcombo.add(lang);
 				if (locale.equals(lang)) {
@@ -124,7 +124,7 @@
 			}
 		}
 		if (added == 0) {
-			String[] langs = { "bg", "cat", "zh", "cop", "cs", "dk", "nl", "en", "ee", "fi ", "fr", "gl", "gr", "de", "ne", "it", "kr", "lat", "mn", "pl", "pt", "ro", "ru", "sk", "sl", "es", "tz" };
+			String[] langs = { "bg", "cat", "zh", "cop", "cs", "dk", "nl", "en", "ee", "fi ", "fr", "gl", "gr", "de", "ne", "it", "kr", "lat", "mn", "pl", "pt", "ro", "ru", "sk", "sl", "es", "tz" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$ //$NON-NLS-6$ //$NON-NLS-7$ //$NON-NLS-8$ //$NON-NLS-9$ //$NON-NLS-10$ //$NON-NLS-11$ //$NON-NLS-12$ //$NON-NLS-13$ //$NON-NLS-14$ //$NON-NLS-15$ //$NON-NLS-16$ //$NON-NLS-17$ //$NON-NLS-18$ //$NON-NLS-19$ //$NON-NLS-20$ //$NON-NLS-21$ //$NON-NLS-22$ //$NON-NLS-23$ //$NON-NLS-24$ //$NON-NLS-25$ //$NON-NLS-26$ //$NON-NLS-27$
 			Arrays.sort(langs);
 			langToSelectIndex = Arrays.binarySearch(langs, locale);
 			langcombo.setItems(langs);
@@ -155,7 +155,7 @@
 			annotateEngineCombo = new Combo(sectionClient, SWT.BORDER);
 			gdata = getTextGridData();
 			annotateEngineCombo.setLayoutData(gdata);
-			annotateEngineCombo.setToolTipText("Annotation engines");
+			annotateEngineCombo.setToolTipText(TXMUIMessages.AnnotationsEngines);
 			annotateEngineCombo.setItems(engines.toArray(new String[engines.size()]));
 			annotateEngineCombo.setText(annotateEngineCombo.getItem(0));
 		}
@@ -199,7 +199,7 @@
 		btnSelectAnnotate.setSelection(annotate);
 		
 		if (annotateEngineCombo != null) {
-			annotateEngineCombo.setText(project.getImportParameters().node("annotate").get("engine", "TreeTagger"));
+			annotateEngineCombo.setText(project.getImportParameters().node("annotate").get("engine", "TreeTagger")); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		}
 	}
 	
@@ -222,7 +222,7 @@
 			project.setLang(lang);
 			
 			if (annotateEngineCombo != null) {
-				project.getImportParameters().node("annotate").put("engine", annotateEngineCombo.getText());
+				project.getImportParameters().node("annotate").put("engine", annotateEngineCombo.getText()); //$NON-NLS-1$ //$NON-NLS-2$
 			}
 			
 			return true;
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/CorpusPage.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/CorpusPage.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/CorpusPage.java	(revision 3445)
@@ -744,7 +744,7 @@
 		if (editor.project == null) {
 			titleLabel.setText(NLS.bind(TXMUIMessages.importParametersOfP0, editor.getImportName()));
 		} else {
-			titleLabel.setText(NLS.bind("Update parameters for the {0} import module", editor.getImportName()));
+			titleLabel.setText(NLS.bind(TXMUIMessages.UpdateParametersForTheP0ImportModule, editor.getImportName()));
 		}
 		
 		FontData[] fD = titleLabel.getFont().getFontData();
@@ -820,7 +820,7 @@
 			RowLayout hLayout = new RowLayout();
 			hLayout.center = true;
 			line1.setLayout(hLayout);
-			toolkit.createLabel(line1, ""+(n++)+".", SWT.WRAP);
+			toolkit.createLabel(line1, ""+(n++)+".", SWT.WRAP); //$NON-NLS-1$ //$NON-NLS-2$
 			
 			Hyperlink hyperlink1 = toolkit.createHyperlink(line1, TXMUIMessages.selectTheSourceDirectory, SWT.WRAP);
 			hyperlink1.addHyperlinkListener(selectDirHListener);
@@ -837,7 +837,7 @@
 		RowLayout hLayout = new RowLayout();
 		hLayout.center = true;
 		line2.setLayout(hLayout);
-		toolkit.createLabel(line2, ""+(n++)+".", SWT.WRAP);
+		toolkit.createLabel(line2, ""+(n++)+".", SWT.WRAP); //$NON-NLS-1$ //$NON-NLS-2$
 		toolkit.createLabel(line2, TXMUIMessages.setImportParametersInTheSectionsBelow, SWT.WRAP);
 		
 		Composite line4 = toolkit.createComposite(form.getBody());
@@ -847,10 +847,10 @@
 		hLayout = new RowLayout();
 		hLayout.center = true;
 		line4.setLayout(hLayout);
-		toolkit.createLabel(line4, ""+(n++)+".", SWT.WRAP);
+		toolkit.createLabel(line4, ""+(n++)+".", SWT.WRAP); //$NON-NLS-1$ //$NON-NLS-2$
 		Hyperlink hyperlink3 = toolkit.createHyperlink(line4, TXMUIMessages.startCorpusImport, SWT.WRAP);
 		if (editor.project == null) {
-			hyperlink3.setText("Start corpus update");
+			hyperlink3.setText(TXMUIMessages.StartCorpusUpdate);
 		}
 		hyperlink3.addHyperlinkListener(startImportListener);
 		ImageHyperlink startImportLink2 = toolkit.createImageHyperlink(line4, SWT.NULL);
@@ -956,7 +956,7 @@
 		Log.info(TXMUIMessages.savingImportParameters);
 		
 		if (editor.project == null || editor.project.getRCPProject() == null || !editor.project.getRCPProject().exists()) {
-			Log.warning("The corpus has been deleted since. Please re-open the import form.");
+			Log.warning(TXMUIMessages.TheCorpushasBeenDeletedSincePleaseReOpenTheImportForm);
 			this.getEditor().close(false);
 			return false;
 		}
@@ -1007,7 +1007,7 @@
 			doSave = doSave & additionalSection.check();
 		}
 		if (!doSave) {
-			System.out.println("Some fields are not correctly filled.");
+			System.out.println(TXMUIMessages.SomeFieldsAreNotCorrectlyFilled);
 			return false;
 		}
 		
@@ -1061,7 +1061,7 @@
 			
 			return true;
 		}
-		System.out.println("Error while saving parameters.");
+		System.out.println(TXMUIMessages.ErrorWhileSavingParameters);
 		return false;
 		
 	}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/ImportModuleCustomization.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/ImportModuleCustomization.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/imports/ImportModuleCustomization.java	(revision 3445)
@@ -47,11 +47,11 @@
 	
 	public static final String OPTIONS = "options"; //$NON-NLS-1$
 	
-	public static final String TEXTUALPLANS = "textualplans";
+	public static final String TEXTUALPLANS = "textualplans"; //$NON-NLS-1$
 	
-	public static final String STRUCTURES = "structures";
+	public static final String STRUCTURES = "structures"; //$NON-NLS-1$
 	
-	public static final String IMPORT_NAME = "import_name";
+	public static final String IMPORT_NAME = "import_name"; //$NON-NLS-1$
 	
 	protected static HashMap<String, HashMap<String, Boolean>> sectionsPerImportModule = new HashMap<>();
 	
@@ -341,7 +341,7 @@
 		sectionsPerImportModule.put("xtzLoader.groovy", params); //$NON-NLS-1$
 		names.put("xtzLoader.groovy", "XML-TEI Zero + CSV"); //$NON-NLS-1$ //$NON-NLS-2$
 		
-		IConfigurationElement[] contributions = RegistryFactory.getRegistry().getConfigurationElementsFor("org.txm.rcp.importsection");
+		IConfigurationElement[] contributions = RegistryFactory.getRegistry().getConfigurationElementsFor("org.txm.rcp.importsection"); //$NON-NLS-1$
 			
 		for (int i = 0; i < contributions.length; i++) {
 			try {
@@ -349,16 +349,16 @@
 				@SuppressWarnings("unchecked")
 				ImportEditorSectionConfigurator iesc = (ImportEditorSectionConfigurator) contributions[i].createExecutableExtension("class"); //$NON-NLS-1$
 				
-				Log.fine(TXMCoreMessages.bind("Initializing import section with: {0}...", iesc));
+				Log.fine(TXMCoreMessages.bind("Initializing import section with: {0}...", iesc)); //$NON-NLS-1$
 				
 				iesc.installSections();
 			}
 			catch (Exception e) {
-				Log.severe("Error: failed to instantiate " + contributions[i].getName() + ".");
+				Log.severe("Error: failed to instantiate " + contributions[i].getName() + "."); //$NON-NLS-1$ //$NON-NLS-2$
 				e.printStackTrace();
 			}
 		}	
-		additionalSections.put("transcriberLoader.groovy", TRSSection.class);
+		additionalSections.put("transcriberLoader.groovy", TRSSection.class); //$NON-NLS-1$
 	}
 	
 	/**
@@ -370,8 +370,8 @@
 		if (sectionsPerImportModule.containsKey(importscript)) {
 			return sectionsPerImportModule.get(importscript);
 		}
-		else if (sectionsPerImportModule.containsKey(importscript+"Loader.groovy")) {
-			return sectionsPerImportModule.get(importscript+"Loader.groovy");
+		else if (sectionsPerImportModule.containsKey(importscript+"Loader.groovy")) { //$NON-NLS-1$
+			return sectionsPerImportModule.get(importscript+"Loader.groovy"); //$NON-NLS-1$
 		} 
 		else {
 			HashMap<String, Boolean> params = new HashMap<>();
@@ -399,8 +399,8 @@
 		if (sectionsPerImportModule.containsKey(importscript)) {
 			return names.get(importscript);
 		}
-		if (sectionsPerImportModule.containsKey(importscript+"Loader.groovy")) {
-			return names.get(importscript+"Loader.groovy");
+		if (sectionsPerImportModule.containsKey(importscript+"Loader.groovy")) { //$NON-NLS-1$
+			return names.get(importscript+"Loader.groovy"); //$NON-NLS-1$
 		}else {
 			return importscript;
 		}
@@ -413,7 +413,7 @@
 	 */
 	public static Class<? extends ImportEditorSection> getAdditionalSection(String importName) {
 		if (!additionalSections.containsKey(importName)) {
-			return additionalSections.get(importName+"Loader.groovy");
+			return additionalSections.get(importName+"Loader.groovy"); //$NON-NLS-1$
 		}
 		return additionalSections.get(importName);
 	}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/input/ImportFormEditorInput.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/input/ImportFormEditorInput.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/input/ImportFormEditorInput.java	(revision 3445)
@@ -75,7 +75,7 @@
 			String name = ImportModuleCustomization.getName(scriptFile.getName());
 			return name;
 		} else {
-			return "";
+			return ""; //$NON-NLS-1$
 		}
 	}
 	
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMEditor.java	(revision 3445)
@@ -591,7 +591,7 @@
 			catch (Throwable e) {
 				// errors.add(ext);
 				
-				Log.warning(TXMCoreMessages.bind("Can't notify of {0} the \"{1}\" extension: {2}.", step, ext.getName() + " " + ext.getClass(), e));
+				Log.warning(TXMCoreMessages.bind(TXMCoreMessages.CantNotifyOfP0TheP1Extension, step, ext.getName() + TXMCoreMessages.P0DblDotP1 + ext.getClass(), e));
 				Log.printStackTrace(e);
 			}
 			// }
@@ -904,7 +904,7 @@
 		
 		// restrict the computing Job to one at time
 		if (this.computingJob != null && this.computingJob.getResult() == null) {
-			Log.finer(NLS.bind("Editor is already computing {0}. Please wait or abort the computing job ({1}).", this.result, this.computingJob.getName()));
+			Log.finer(NLS.bind("Editor is already computing {0}. Please wait or abort the computing job ({1}).", this.result, this.computingJob.getName())); //$NON-NLS-1$
 			return this.computingJob;
 		}
 		
@@ -956,11 +956,11 @@
 								}
 								
 								// subclasses manual result updating from editor fields
-								Log.finest("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": manually updating result from editor."); //$NON-NLS-1$
+								Log.finest("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": manually updating result from editor."); //$NON-NLS-1$ //$NON-NLS-2$
 								updateResultFromEditor();
 								
 								// auto updating result parameters from parameter annotations of editor
-								Log.finest("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": auto updating result from editor."); //$NON-NLS-1$
+								Log.finest("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": auto updating result from editor."); //$NON-NLS-1$ //$NON-NLS-2$
 								autoUpdateResultFromEditorParameters();
 								
 								
@@ -994,7 +994,7 @@
 					notifyExtensions("notifyStartOfCompute"); //$NON-NLS-1$
 					
 					if (!TXMEditor.this.getResult().compute(subMonitor.split(50))) {
-						Log.fine("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": computing failed.");
+						Log.fine("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": computing failed."); //$NON-NLS-1$ //$NON-NLS-2$
 					}
 					
 					notifyExtensions("notifyEndOfCompute"); //$NON-NLS-1$
@@ -1023,7 +1023,7 @@
 								// resultArea.setVisible(true);
 							}
 							catch (Exception e) {
-								Log.finer("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": Error while refreshing the editor: " + e); //$NON-NLS-1$
+								Log.finer("TXMEditor.compute(): " + TXMEditor.this.getClass().getSimpleName() + ": Error while refreshing the editor: " + e); //$NON-NLS-1$ //$NON-NLS-2$
 								Log.printStackTrace(e);
 							}
 						}
@@ -1036,7 +1036,7 @@
 				}
 				catch (Exception e) {
 					TXMEditor.this.getResult().resetComputingState();
-					Log.warning(NLS.bind("Error while computing {0}: {1}.", this.getResultObject(), e.getMessage()));
+					Log.warning(NLS.bind(TXMCoreMessages.ErrorWhileComputingP1DbldotP1, this.getResultObject(), e.getMessage()));
 					Log.printStackTrace(e);
 				}
 				finally {
@@ -1121,7 +1121,7 @@
 				
 			}
 			else {
-				Log.severe(NLS.bind("Failed to open editor {0}.", editorId)); // $NON-NLS-1$
+				Log.severe(NLS.bind(TXMCoreMessages.FailedToOpenTheP0Editor, editorId)); // $NON-NLS-1$
 				return null;
 			}
 			
@@ -1192,7 +1192,7 @@
 		String title = result.getName();
 		// limit tab title length
 		if (title.length() > MAX_NAME_LENGTH) {
-			title = title.substring(0, MAX_NAME_LENGTH - 1) + "...";
+			title = title.substring(0, MAX_NAME_LENGTH - 1) + "..."; //$NON-NLS-1$
 		}
 		this.setPartName(title);
 		// this.firePropertyChange(TXMEditor.PROP_DIRTY);
@@ -1204,10 +1204,10 @@
 		
 		this.initializeEditorFieldsFromResult(update);
 		
-		Log.finest("TXMEditor.refresh(): " + className + ": auto updating editor from result: " + this.getResult().getClass().getSimpleName() + "."); //$NON-NLS-1$
+		Log.finest("TXMEditor.refresh(): " + className + ": auto updating editor from result: " + this.getResult().getClass().getSimpleName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		this.autoUpdateEditorFieldsFromResult(update); // auto update from Parameter annotations
 		
-		Log.finest("TXMEditor.refresh(): " + className + ": updating subclass editor from result: " + this.getResult().getClass().getSimpleName() + "."); //$NON-NLS-1$ //$NON-NLS-2$
+		Log.finest("TXMEditor.refresh(): " + className + ": updating subclass editor from result: " + this.getResult().getClass().getSimpleName() + "."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		this.updateEditorFromResult(update); // subclasses manual settings
 		// }
 		
@@ -1241,7 +1241,7 @@
 			Set<ITXMResultEditor<TXMResult>> editors = SWTEditorsUtils.getEditors(results.get(i));
 			
 			// FIXME: Debug
-			Log.finest("TXMEditor.refresh(): " + className + ": child result = " + results.get(i).getClass().getSimpleName() + " / editors to refresh = " + editors + "."); //$NON-NLS-1$
+			Log.finest("TXMEditor.refresh(): " + className + ": child result = " + results.get(i).getClass().getSimpleName() + " / editors to refresh = " + editors + "."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 			// $NON-NLS-2$
 			
 			for (ITXMResultEditor<TXMResult> txmEditor : editors) {
@@ -1464,7 +1464,7 @@
 						f.set(this, value);
 					}
 					catch (Exception e) {
-						Log.fine(TXMCoreMessages.bind("Warning: can't assignate new value={0} to editor member={1} which have current value={2}.", value, f, object));
+						Log.fine(TXMCoreMessages.bind("Warning: can't assignate new value={0} to editor member={1} which have current value={2}.", value, f, object)); //$NON-NLS-1$
 					}
 				}
 				
@@ -1611,7 +1611,7 @@
 				this.getResult().setParameter(parameter.key(), value, true);
 			}
 			catch (IllegalArgumentException e) {
-				Log.severe("Error while auto-updating field " + parameter.key()+ " : "+e); //$NON-NLS-1$
+				Log.severe("Error while auto-updating field " + parameter.key()+ " : "+e); //$NON-NLS-1$ //$NON-NLS-2$
 				Log.printStackTrace(e);
 			}
 			catch (IllegalAccessException e) {
@@ -1636,7 +1636,7 @@
 			return this.getEditorInput().deleteResult();
 		}
 		catch (Exception e) {
-			Log.severe(TXMCoreMessages.bind("** Could not delete result {0}.", this.getResult()));
+			Log.severe(TXMCoreMessages.bind(TXMCoreMessages.CouldNotDeleteTheP0Result, this.getResult()));
 			Log.printStackTrace(e);
 			return false;
 		}
@@ -2248,7 +2248,7 @@
 					f.set(bean, value);
 				}
 				catch (Exception e) {
-					Log.fine(TXMCoreMessages.bind("Warning: can't assignate new value={0} to editor member={1} which have current value={2}.", value, f, object));
+					Log.fine(TXMCoreMessages.bind("Warning: can't assignate new value={0} to editor member={1} which have current value={2}.", value, f, object)); //$NON-NLS-1$
 				}
 			}
 			
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/SWTResourceManager.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/SWTResourceManager.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/SWTResourceManager.java	(revision 3445)
@@ -232,7 +232,7 @@
 	 */
 	public static Image decorateImage(final Image baseImage, final Image decorator, final int corner) {
 		if (corner <= 0 || corner >= LAST_CORNER_KEY) {
-			throw new IllegalArgumentException("Wrong decorate corner");
+			throw new IllegalArgumentException("Wrong decorate corner"); //$NON-NLS-1$
 		}
 		Map<Image, Map<Image, Image>> cornerDecoratedImageMap = m_decoratedImageMap[corner];
 		if (cornerDecoratedImageMap == null) {
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/RCPCommand.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/RCPCommand.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/RCPCommand.java	(revision 3445)
@@ -27,6 +27,6 @@
 	}
 	
 	public String toString() {
-		return super.toString()+" -> "+editor_id;
+		return super.toString()+" -> "+editor_id; //$NON-NLS-1$
 	}
 }
\ No newline at end of file
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMBrowserEditor.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMBrowserEditor.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/TXMBrowserEditor.java	(revision 3445)
@@ -113,8 +113,8 @@
 			@Override
 			public void completed(ProgressEvent event) {
 				
-				Object o = TXMBrowserEditor.this.getBrowser().evaluate("return typeof " + CommandLink.FCT + ";");
-				if ("undefined".equals(o)) {
+				Object o = TXMBrowserEditor.this.getBrowser().evaluate("return typeof " + CommandLink.FCT + ";"); //$NON-NLS-1$ //$NON-NLS-2$
+				if ("undefined".equals(o)) { //$NON-NLS-1$
 					if (cmdLink != null) {
 						cmdLink.dispose();
 					}
@@ -142,7 +142,7 @@
 				new MenuItem(menu, SWT.SEPARATOR);
 				
 				MenuItem copyItem = new MenuItem(menu, SWT.NONE);
-				copyItem.setText("Copy");
+				copyItem.setText(TXMUIMessages.Copy);
 				copyItem.addSelectionListener(new SelectionListener() {
 					
 					@Override
@@ -161,7 +161,7 @@
 				copyItem.setEnabled(text != null && text.length() > 0);
 				
 				MenuItem reloadItem = new MenuItem(menu, SWT.NONE);
-				reloadItem.setText("Reload");
+				reloadItem.setText(TXMUIMessages.Reload);
 				reloadItem.addSelectionListener(new SelectionListener() {
 					
 					@Override
@@ -174,7 +174,7 @@
 					public void widgetDefaultSelected(SelectionEvent e) {}
 				});
 				MenuItem backItem = new MenuItem(menu, SWT.NONE);
-				backItem.setText("Back");
+				backItem.setText(TXMUIMessages.Back);
 				backItem.addSelectionListener(new SelectionListener() {
 					
 					@Override
@@ -187,7 +187,7 @@
 					public void widgetDefaultSelected(SelectionEvent e) {}
 				});
 				MenuItem forwardItem = new MenuItem(menu, SWT.NONE);
-				forwardItem.setText("Forward");
+				forwardItem.setText(TXMUIMessages.Forward);
 				forwardItem.addSelectionListener(new SelectionListener() {
 					
 					@Override
@@ -201,7 +201,7 @@
 				});
 				
 				MenuItem propertiesItem = new MenuItem(menu, SWT.NONE);
-				propertiesItem.setText("Properties");
+				propertiesItem.setText(TXMUIMessages.Properties);
 				propertiesItem.addSelectionListener(new SelectionListener() {
 					
 					@Override
@@ -693,51 +693,51 @@
 		// System.out.println("Browser menu: "+getBrowser().getMenu());
 	}
 	
-	static String SCRIPT01 = "var html = \"\";" +
-			"if (typeof window.getSelection != \"undefined\") {" + // modern Web browsers
-			"var sel = window.getSelection();" +
-			"if (sel.rangeCount) {" +
-			"var container = document.createElement(\"div\");" +
-			"for (var i = 0, len = sel.rangeCount; i < len; ++i) {" +
-			"container.appendChild(sel.getRangeAt(i).cloneContents());" +
-			"}" +
-			"html = container.innerHTML;" +
-			"}" +
-			"} else if (typeof document.selection != \"undefined\") {" + // for IE < 11
-			"if (document.selection.type == \"Text\") {" +
-			"html = document.selection.createRange().htmlText;" +
-			"}" +
-			"}" +
-			"return html";
+	static String SCRIPT01 = "var html = \"\";" + //$NON-NLS-1$
+			"if (typeof window.getSelection != \"undefined\") {" + // modern Web browsers //$NON-NLS-1$
+			"var sel = window.getSelection();" + //$NON-NLS-1$
+			"if (sel.rangeCount) {" + //$NON-NLS-1$
+			"var container = document.createElement(\"div\");" + //$NON-NLS-1$
+			"for (var i = 0, len = sel.rangeCount; i < len; ++i) {" + //$NON-NLS-1$
+			"container.appendChild(sel.getRangeAt(i).cloneContents());" + //$NON-NLS-1$
+			"}" + //$NON-NLS-1$
+			"html = container.innerHTML;" + //$NON-NLS-1$
+			"}" + //$NON-NLS-1$
+			"} else if (typeof document.selection != \"undefined\") {" + // for IE < 11 //$NON-NLS-1$
+			"if (document.selection.type == \"Text\") {" + //$NON-NLS-1$
+			"html = document.selection.createRange().htmlText;" + //$NON-NLS-1$
+			"}" + //$NON-NLS-1$
+			"}" + //$NON-NLS-1$
+			"return html"; //$NON-NLS-1$
 	
 	// return the span@id of the current selection
-	static String SCRIPT02 = "function getChildren(node) {\n"
-			+ "if (node.children != \"undefined\")\n"
-			+ "	return node.children;\n"
-			+ "else \n"
-			+ "return node.ChildNodes;\n"
-			+ "}\n"
-			+ "findSpans = function findSpans(c, a) {\n" +
-			"    for (var i = 0 ; i < c.length ; i++) {\n" +
-			"        if (c.item(i).tagName == \"SPAN\") {\n" +
-			"            var id = c.item(i).getAttribute(\"id\")\n" +
-			"            if (id.indexOf(\"w_\") == 0)\n" +
-			"                a.push(id);\n" +
-			"        } else if (c.item(i).nodeType == 1) {\n" +
-			"            findSpans(c.item(i).children, a);\n" +
-			"        }\n" +
-			"    }\n" +
-			"}\n" +
-			"    var all = [];" +
-			"    var sel = window.getSelection();" +
-			"    if (sel.rangeCount == 0){" +
-			"        return all;" +
-			"    }" +
-			"\n" +
-			"    var range = sel.getRangeAt(0);" +
-			"    var frag = range.cloneContents();alert(frag);alert(frag.children);" +
-			"    findSpans(frag.children, all);" +
-			"    return all;";
+	static String SCRIPT02 = "function getChildren(node) {\n" //$NON-NLS-1$
+			+ "if (node.children != \"undefined\")\n" //$NON-NLS-1$
+			+ "	return node.children;\n" //$NON-NLS-1$
+			+ "else \n" //$NON-NLS-1$
+			+ "return node.ChildNodes;\n" //$NON-NLS-1$
+			+ "}\n" //$NON-NLS-1$
+			+ "findSpans = function findSpans(c, a) {\n" + //$NON-NLS-1$
+			"    for (var i = 0 ; i < c.length ; i++) {\n" + //$NON-NLS-1$
+			"        if (c.item(i).tagName == \"SPAN\") {\n" + //$NON-NLS-1$
+			"            var id = c.item(i).getAttribute(\"id\")\n" + //$NON-NLS-1$
+			"            if (id.indexOf(\"w_\") == 0)\n" + //$NON-NLS-1$
+			"                a.push(id);\n" + //$NON-NLS-1$
+			"        } else if (c.item(i).nodeType == 1) {\n" + //$NON-NLS-1$
+			"            findSpans(c.item(i).children, a);\n" + //$NON-NLS-1$
+			"        }\n" + //$NON-NLS-1$
+			"    }\n" + //$NON-NLS-1$
+			"}\n" + //$NON-NLS-1$
+			"    var all = [];" + //$NON-NLS-1$
+			"    var sel = window.getSelection();" + //$NON-NLS-1$
+			"    if (sel.rangeCount == 0){" + //$NON-NLS-1$
+			"        return all;" + //$NON-NLS-1$
+			"    }" + //$NON-NLS-1$
+			"\n" + //$NON-NLS-1$
+			"    var range = sel.getRangeAt(0);" + //$NON-NLS-1$
+			"    var frag = range.cloneContents();alert(frag);alert(frag.children);" + //$NON-NLS-1$
+			"    findSpans(frag.children, all);" + //$NON-NLS-1$
+			"    return all;"; //$NON-NLS-1$
 	
 	public String getTextSelectionDOM() {
 		return ((String) getBrowser().evaluate(SCRIPT01));
@@ -750,7 +750,7 @@
 	
 	public String getTextSelection() {
 		//System.out.println("DOM=" + getTextSelectionDOM());
-		String rez = getTextSelectionDOM().replaceAll("<[^>]+>", "");
+		String rez = getTextSelectionDOM().replaceAll("<[^>]+>", ""); //$NON-NLS-1$ //$NON-NLS-2$
 		//System.out.println("STR=" + rez);
 		return rez;
 	}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/BaseAbstractComputeListener.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/BaseAbstractComputeListener.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/listeners/BaseAbstractComputeListener.java	(revision 3445)
@@ -20,7 +20,7 @@
 public abstract class BaseAbstractComputeListener {
 
 	
-	public final static String IGNORE_EVENT = "ignoreEvent";
+	public final static String IGNORE_EVENT = "ignoreEvent"; //$NON-NLS-1$
 	
 	
 	/**
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/CommandLink.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/CommandLink.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/CommandLink.java	(revision 3445)
@@ -26,7 +26,7 @@
 
 public class CommandLink extends BrowserFunction {
 	
-	String data = "";
+	String data = ""; //$NON-NLS-1$
 	
 	Browser browser;
 	
@@ -34,7 +34,7 @@
 	
 	IEditorPart editor;
 	
-	public static final String FCT = "txmcommand";
+	public static final String FCT = "txmcommand"; //$NON-NLS-1$
 
 	public CommandLink(IEditorPart editor, Browser browser) {
 		super(browser, FCT); //$NON-NLS-1$
@@ -45,7 +45,7 @@
 	@Override
 	public synchronized Object function(Object[] arguments) {
 		//System.out.println("CALL: "+Arrays.toString(arguments));
-		Log.finer("txmcommand() called: "+Arrays.toString(arguments));
+		Log.finer("txmcommand() called: "+Arrays.toString(arguments)); //$NON-NLS-1$
 		if (editor != null) {
 			try { // TODO add option (or another browser command) to not force activated editor
 				editor.getSite().getPage().activate(editor);
@@ -81,7 +81,7 @@
 			params.put(arguments[i].toString(), arguments[i + 1].toString());
 		}
 		
-		Log.finer("txmcommand parameters: "+params);
+		Log.finer("txmcommand parameters: "+params); //$NON-NLS-1$
 		String id = params.get("id"); //$NON-NLS-1$
 		if (id != null) {
 			params.remove("id"); //$NON-NLS-1$
@@ -90,7 +90,7 @@
 			return callTXMCommand(id, params);
 		}
 		else {
-			Log.warning(NLS.bind("Cannot call a TXM command without ID (parameters={0}).", params));
+			Log.warning(NLS.bind(TXMCoreMessages.CannotCallATXMCommandWithoutIDParametersP0, params));
 		}
 		return arguments;
 	}
@@ -101,7 +101,7 @@
 	 *
 	 */
 	public static Object callTXMCommand(String id, HashMap<String, String> params) {
-		Log.finer(NLS.bind("Calling the {0} command with {1}", id, params));
+		Log.finer(NLS.bind(TXMCoreMessages.CallingTheP0CommandWithTheP1Parameters, id, params));
 		
 		IWorkbenchWindow window = PlatformUI.getWorkbench().getActiveWorkbenchWindow();
 		ICommandService cmdService = window.getService(ICommandService.class);
@@ -131,7 +131,7 @@
 			return handlerService.executeCommand(pc, null);
 		}
 		catch (Exception e) {
-			Log.warning(TXMCoreMessages.bind("** Failed to call the ''{0}'' hyperlinked command with ''{1}'' and the ''{2}'' parameters.", id, parameters, failedParameters));
+			Log.warning(TXMCoreMessages.bind(TXMCoreMessages.FailedToCallTheP0HyperlinkedCommandWithP1AndTheP2Parameters, id, parameters, failedParameters));
 			// Log.printStackTrace(e);
 		}
 		return null;
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/RCPCommandsAPI.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/RCPCommandsAPI.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/editors/RCPCommandsAPI.java	(revision 3445)
@@ -4,6 +4,7 @@
 import org.txm.core.results.TXMResult;
 import org.txm.functions.Command;
 import org.txm.functions.CommandsAPI;
+import org.txm.rcp.messages.TXMUIMessages;
 
 
 /**
@@ -26,7 +27,7 @@
 
 		Command command = cmds.get(cmd);
 		if (command == null) {
-			System.out.println("No command found with name: "+cmd);
+			System.out.println(TXMUIMessages.NoCommandFoundWithNameP0+cmd);
 			return null;
 		}
 
@@ -36,7 +37,7 @@
 			TXMResult result = null;
 
 			if (rcpcommand.editor_id == null) {
-				System.out.println("Failed to open editor: no context given.");
+				System.out.println(TXMUIMessages.FailedToOpenTheEditorNoContextGiven);
 				return null;
 			}
 
@@ -59,7 +60,7 @@
 			return result;
 		} else {
 			Object result = super.call(cmd, source, parameters);
-			System.out.println("Done: " + result);
+			System.out.println(TXMUIMessages.DoneP0 + result);
 			return result;
 		}
 	}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/splashHandlers/TXMSplashHandler.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/splashHandlers/TXMSplashHandler.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/splashHandlers/TXMSplashHandler.java	(revision 3445)
@@ -92,7 +92,7 @@
 		
 		// here you could check some condition on which decoration to show
 		
-		version = "TXM "+ApplicationWorkbenchAdvisor.getTXMVersion();
+		version = "TXM "+ApplicationWorkbenchAdvisor.getTXMVersion(); //$NON-NLS-1$
 		
 		String build_date =  ApplicationWorkbenchAdvisor.getBuildDate(ApplicationWorkbenchAdvisor.getBuildVersion());
 		
@@ -102,16 +102,16 @@
 		
 		greenTXM = new Color(splash.getDisplay(), 109,139,0);
 		redTXM = new Color(splash.getDisplay(), 255,0,0);
-		font = new Font(splash.getDisplay(), "Arial", 17, SWT.BOLD);
+		font = new Font(splash.getDisplay(), "Arial", 17, SWT.BOLD); //$NON-NLS-1$
 		
 		if (txm_date.equals(build_date)) {
 			infos = build_date;
 		}
 		else {
-			infos = "update " + txm_date + " - build " + build_date;
+			infos = "update " + txm_date + " - build " + build_date; //$NON-NLS-1$ //$NON-NLS-2$
 		}
 		
-		if ("STABLE".equals(level)) {
+		if ("STABLE".equals(level)) { //$NON-NLS-1$
 			level = null;
 		}
 		
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/StatusLine.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/StatusLine.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/StatusLine.java	(revision 3445)
@@ -77,7 +77,7 @@
 			public void run() {
 				if (statusLine != null) {
 					if (message != null && message.length() > MAX) {
-						statusLine.setMessage(null, message.substring(0, MAX)+"...");
+						statusLine.setMessage(null, message.substring(0, MAX)+"..."); //$NON-NLS-1$
 					} else {
 						statusLine.setMessage(null, message);
 					}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/CGUMessageDialog.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/CGUMessageDialog.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/CGUMessageDialog.java	(revision 3445)
@@ -154,7 +154,7 @@
 		GridData gdata = new GridData(GridData.FILL, GridData.FILL, true, true);
 		bar.setLayoutData(gdata);
 		
-		String defaultPath = System.getProperty("user.home")+"/TXM";
+		String defaultPath = System.getProperty("user.home")+"/TXM"; //$NON-NLS-1$ //$NON-NLS-2$
 		if (launchData != null) {
 			defaultPath = launchData.getInitialDefault();
 		}
@@ -209,7 +209,7 @@
 	}
 
 	public static void main(String[] args) {
-		System.out.println("Opening CGU dialog...");
+		System.out.println("Opening CGU dialog..."); //$NON-NLS-1$
 		Display display = new Display();
 	    Shell shell = new Shell(display);
 		CGUMessageDialog dialog = new CGUMessageDialog(shell, null);
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/SinglePropertySelectionDialog.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/SinglePropertySelectionDialog.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/SinglePropertySelectionDialog.java	(revision 3445)
@@ -191,7 +191,7 @@
 	 */
 	public void reload() {
 		if (allProperties == null) {
-			System.out.println("Error: the available properties list is NULL.");
+			System.out.println("Error: the available properties list is NULL."); //$NON-NLS-1$
 			return;
 		}
 		availablePropertiesView.removeAll();
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/ConfirmDialog.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/ConfirmDialog.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/ConfirmDialog.java	(revision 3445)
@@ -9,6 +9,7 @@
 import org.eclipse.swt.widgets.Composite;
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Shell;
+import org.txm.rcp.messages.TXMUIMessages;
 
 /**
  * A confirm Dialog with a check box to not ask again
@@ -20,8 +21,8 @@
 
 	public final static String[] dialogButtonLabels = { IDialogConstants.OK_LABEL,
 		IDialogConstants.CANCEL_LABEL };
-	public final static String TRUE = "true";
-	public final static String ROOT = "org.txm.confirmdialog.history.";
+	public final static String TRUE = "true"; //$NON-NLS-1$
+	public final static String ROOT = "org.txm.confirmdialog.history."; //$NON-NLS-1$
 
 	protected String id;
 	public ConfirmDialog(Shell parentShell, String id, String dialogTitle, String dialogMessage) {
@@ -35,7 +36,7 @@
 	protected Control createDialogArea(Composite parent) {
 		Composite container = (Composite) super.createDialogArea(parent);
 		checkDefault = new Button(container, SWT.CHECK);
-		checkDefault.setText("Don't ask again");
+		checkDefault.setText(TXMUIMessages.DontAskAgain);
 		boolean b = TRUE.equals(System.getProperty(ROOT+id));
 		checkDefault.setSelection(b);
 
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/UsernamePasswordDialog.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/UsernamePasswordDialog.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/UsernamePasswordDialog.java	(revision 3445)
@@ -120,10 +120,10 @@
 	protected void buttonPressed(int buttonId) {
 		if (buttonId == RESET_ID) {
 			if (must[0]) {
-				usernameField.setText("");
+				usernameField.setText(""); //$NON-NLS-1$
 			}
 			if (must[1]) {
-				passwordField.setText("");
+				passwordField.setText(""); //$NON-NLS-1$
 			}
 		}
 		else {
@@ -185,7 +185,7 @@
 			
 			Shell shell = Display.getCurrent().getActiveShell();
 			if (shell == null) {
-				System.out.println("Error: could not open crendetial dialog on current Thread.");
+				System.out.println("Error: could not open crendetial dialog on current Thread."); //$NON-NLS-1$
 				return false;
 			}
 			
@@ -199,7 +199,7 @@
 				return true;
 			}
 			else {
-				System.out.println("Cancel credential settings");
+				System.out.println(TXMUIMessages.CancelCredentialSettings);
 				return false;
 			}
 		}
@@ -213,7 +213,7 @@
 		
 		monitor.syncExec(new Runnable() {
 			public void run() {
-				System.out.println("Opening credential dialog...");
+				System.out.println(TXMUIMessages.OpeningCredentialDialog);
 				try {
 					ret[0] = initializeCredentials(userKey, passwordKey, target, title, details);
 				} catch(Throwable t) {
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/ReferencePatternSelectionDialog.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/ReferencePatternSelectionDialog.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/ReferencePatternSelectionDialog.java	(revision 3445)
@@ -71,7 +71,7 @@
 	protected Control createDialogArea(Composite parent) {
 		Composite mainArea = (Composite) super.createDialogArea(parent);
 		
-		GLComposite line = new GLComposite(mainArea, SWT.NONE, "motif line");
+		GLComposite line = new GLComposite(mainArea, SWT.NONE, "motif line"); //$NON-NLS-1$
 		line.setLayoutData(new GridData(SWT.WRAP, SWT.WRAP, true, true, 4, 1));
 		line.getLayout().numColumns = 2;
 		line.getLayout().horizontalSpacing = 3;
@@ -79,7 +79,7 @@
 		// "properties"
 		patternLabel = new Label(line, SWT.NONE);
 		patternLabel.setText(TXMUIMessages.pattern);
-		patternLabel.setToolTipText("you need to set as many %s printf marks as selected properties.");
+		patternLabel.setToolTipText(TXMUIMessages.YouNeedToSetAsManyPercentSPrintfMarksAsSelectedProperties);
 		patternLabel.setLayoutData(new GridData(SWT.WRAP, SWT.CENTER, true, true));
 		
 		// "properties"
@@ -134,18 +134,18 @@
 		
 		String s = pattern;
 		int nPercents = 0;
-		int index = s.indexOf("%");
+		int index = s.indexOf("%"); //$NON-NLS-1$
 		while (index >= 0) {
 			s = s.substring(index + 1);
-			index = s.indexOf("%");
+			index = s.indexOf("%"); //$NON-NLS-1$
 			nPercents++;
 		}
 		
 		if (nPercents < this.getSelectedProperties().size()) {
 			Color a = new Color(patternText.getDisplay(), 255, 0, 0);
 			patternText.setBackground(a);
-			String s2 = StringUtils.join(getSelectedProperties(), ", ");
-			patternText.setToolTipText(NLS.bind("not enough ''%'' pattern in ''{0}'' for the ''{1}'' properties.", pattern, s2));
+			String s2 = StringUtils.join(getSelectedProperties(), ", "); //$NON-NLS-1$
+			patternText.setToolTipText(NLS.bind(TXMUIMessages.ThereIsNotEnoughPercentMarksInP0ForTheP1Properties, pattern, s2));
 			return false;
 		}
 		else {
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/MultipleChoiceDialog.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/MultipleChoiceDialog.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/MultipleChoiceDialog.java	(revision 3445)
@@ -79,7 +79,7 @@
 		super(parentShell);
 		
 		if (values == null || values.length == 0) {
-			throw new IllegalStateException("Available values must be set and not empty");
+			throw new IllegalStateException("Available values must be set and not empty"); //$NON-NLS-1$
 		}
 		
 		this.parentShell = parentShell;
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/MultiplePropertySelectionDialog.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/MultiplePropertySelectionDialog.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/MultiplePropertySelectionDialog.java	(revision 3445)
@@ -307,7 +307,7 @@
 	 */
 	public void reload() {
 		if (availableProperties == null) {
-			System.out.println("Error: the available properties list is NULL.");
+			System.out.println(TXMUIMessages.ErrorTheAvailablePropertiesListIsNULL);
 			return;
 		}
 		availablePropertiesView.removeAll();
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/HTMLMessageDialog.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/HTMLMessageDialog.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/HTMLMessageDialog.java	(revision 3445)
@@ -156,7 +156,7 @@
 		if (message != null) {
 			messageLabel = new Browser(composite, getMessageLabelStyle());
 			Color color = composite.getBackground();
-			messageLabel.setText("<body style=\"background-color:rgb("+color.getRed()+", "+color.getGreen()+", "+color.getBlue()+")\">\n"+message+"\n</body>", true);
+			messageLabel.setText("<body style=\"background-color:rgb("+color.getRed()+", "+color.getGreen()+", "+color.getBlue()+")\">\n"+message+"\n</body>", true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$ //$NON-NLS-5$
 			//System.out.println("set message: "+message);
 			GridDataFactory
 					.fillDefaults()
@@ -177,7 +177,7 @@
 			@Override
 			public void open(WindowEvent e) {
 			    Shell shell = new Shell(e.display);
-			    shell.setText("New Window");
+			    shell.setText("New Window"); //$NON-NLS-1$
 			    shell.setLayout(new FillLayout());
 			    Browser browser1 = new Browser(shell, SWT.NONE);
 			    initialize(e.display, browser1);
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/UpdateCorpusDialog.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/UpdateCorpusDialog.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/dialog/UpdateCorpusDialog.java	(revision 3445)
@@ -9,12 +9,13 @@
 import org.eclipse.swt.widgets.Control;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Shell;
+import org.txm.rcp.messages.TXMUIMessages;
 
 public class UpdateCorpusDialog extends Dialog {
 
-	protected String title = "Update corpus";
-	protected String topMessage = "Update the corpus from its XML-TXM files";
-	protected String bottomMessage = "All editors using this corpus will be closed. And the corpus will be update.\n\nContinue?";
+	protected String title = TXMUIMessages.UpdateCorpus;
+	protected String topMessage = TXMUIMessages.UpdateTheCorpusFromItsXMLTXMFiles;
+	protected String bottomMessage = TXMUIMessages.AllEditorsUsingThisCorpusWillBeClosedandtheCorpusWillBeUpdatedContinue;
 	
 	protected Button openCorpusParameters;
 	protected Button updateEditionsCheck;
@@ -60,22 +61,22 @@
 		openCorpusParameters = new Button(comp, SWT.CHECK);
 		data = new GridData(GridData.FILL_HORIZONTAL);
 		openCorpusParameters.setLayoutData(data);
-		openCorpusParameters.setText("Open more update parameters before updating");
-		openCorpusParameters.setToolTipText("Use this to change the corpus parameters before updating the corpus");
+		openCorpusParameters.setText(TXMUIMessages.ShowMoreUpdateParametersBeforeUpdating);
+		openCorpusParameters.setToolTipText(TXMUIMessages.UseThisToChangeTheCorpusParametersBeforeUpdatingTheCorpus);
 		openCorpusParameters.setSelection(doOpenCorpusParameters);
 
 		updateEditionsCheck = new Button(comp, SWT.CHECK);
 		data = new GridData(GridData.FILL_HORIZONTAL);
 		updateEditionsCheck.setLayoutData(data);
-		updateEditionsCheck.setText("update the edition pages");
-		updateEditionsCheck.setToolTipText("If not checked, the edition pages are not updated and might not reflect exactly the corpus content.");
+		updateEditionsCheck.setText(TXMUIMessages.UpdateTheEditionPages);
+		updateEditionsCheck.setToolTipText(TXMUIMessages.IfNotCheckedTheEditionPagesAreNotUpdatedAndMightNotReflectThechanges);
 		updateEditionsCheck.setSelection(doUpdateEditions);
 		
 		forceUpdateCheck = new Button(comp, SWT.CHECK);
 		data = new GridData(GridData.FILL_HORIZONTAL);
 		forceUpdateCheck.setLayoutData(data);
-		forceUpdateCheck.setText("Force update of non-modified texts");
-		forceUpdateCheck.setToolTipText("when checked this option make TXM update all indexes & editions of all texts even if their XML-TXM file is not modified (it takes more time to update).");
+		forceUpdateCheck.setText(TXMUIMessages.ForceUpdateOfNonModifiedTexts);
+		forceUpdateCheck.setToolTipText(TXMUIMessages.WhenCheckedThisOptionMakeTXMUpdateAllIndexesAndEditionsOfAllTexts);
 		forceUpdateCheck.setSelection(doForceUpdate);
 	}
 
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/PropertiesSelector.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/PropertiesSelector.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/PropertiesSelector.java	(revision 3445)
@@ -176,14 +176,14 @@
 				buffer.append(p.getName());
 			}
 			else {
-				buffer.append(p.getName()+ "("+p.getSearchEngine().getName()+")");
+				buffer.append(p.getName()+ "("+p.getSearchEngine().getName()+")"); //$NON-NLS-1$ //$NON-NLS-2$
 			}
 		}
 		if (buffer.length() > 0) {
 			int l = buffer.length();
 			String s = buffer.substring(0, buffer.length());
 			if (l > MAX_LABEL_LENGHT) {
-				s = s.substring(0, MAX_LABEL_LENGHT) + "...";
+				s = s.substring(0, MAX_LABEL_LENGHT) + "..."; //$NON-NLS-1$
 			}
 			propertiesLabel.setText(s);
 			propertiesLabel.getParent().layout();
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/NavigationWidget.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/NavigationWidget.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/NavigationWidget.java	(revision 3445)
@@ -76,7 +76,7 @@
 	 * @param style the style
 	 */
 	public NavigationWidget(Composite parent, int style) {
-		super(parent, style, "Navigation");
+		super(parent, style, "Navigation"); //$NON-NLS-1$
 		this.getLayout().numColumns = 6;
 		this.getLayout().makeColumnsEqualWidth = false;
 
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/AssistedChoiceQueryWidget.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/AssistedChoiceQueryWidget.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/widget/AssistedChoiceQueryWidget.java	(revision 3445)
@@ -101,7 +101,7 @@
 				if (defaultEngineName.equals(engine.getName())) {
 					iDefault = i;
 				}
-				if ("CQP".equals(engine.getName())) {
+				if ("CQP".equals(engine.getName())) { //$NON-NLS-1$
 					iSuperDefault = i;
 				}
 			}
@@ -118,7 +118,7 @@
 		}
 		
 		selectedEngineLabel = new Label(this, SWT.NONE);
-		selectedEngineLabel.setText("");
+		selectedEngineLabel.setText(""); //$NON-NLS-1$
 		GridData gdata = new GridData(GridData.FILL, GridData.CENTER, false, false);
 		selectedEngineLabel.setLayoutData(gdata);
 		
@@ -135,7 +135,7 @@
 					for (SearchEngine se : engines) {
 						values.add(se.getName());
 					}
-					ComboDialog dialog = new ComboDialog(e.display.getActiveShell(), "Engines", values, querywidget.getSearchEngine().getName());
+					ComboDialog dialog = new ComboDialog(e.display.getActiveShell(), "Engines", values, querywidget.getSearchEngine().getName()); //$NON-NLS-1$
 					if (dialog.open() == ComboDialog.OK) {
 						String name = dialog.getSelectedValue();
 						for (SearchEngine se : engines) {
@@ -171,7 +171,7 @@
 			public void widgetDefaultSelected(SelectionEvent e) {}
 		});
 		
-		setMagicEnabled("CQP".equals(initialEngine.getName()));
+		setMagicEnabled("CQP".equals(initialEngine.getName())); //$NON-NLS-1$
 		
 		querywidget = new QueryWidget(this, style, initialEngine);
 		querywidget.setLayoutData(new GridData(GridData.FILL, GridData.CENTER, true, false));
@@ -185,14 +185,14 @@
 		// querywidget.layout();
 		// relayout();
 		
-		setMagicEnabled("CQP".equals(se.getName()));
+		setMagicEnabled("CQP".equals(se.getName())); //$NON-NLS-1$
 		
 		String defaultEngineName = SearchEnginePreferences.getInstance().getString(SearchEnginePreferences.DEFAULT_SEARCH_ENGINE);
 		if (defaultEngineName.equals(se.getName())) {
-			selectedEngineLabel.setText("");
+			selectedEngineLabel.setText(""); //$NON-NLS-1$
 		}
 		else {
-			selectedEngineLabel.setText(" " + se.getName() + " ");
+			selectedEngineLabel.setText(" " + se.getName() + " "); //$NON-NLS-1$ //$NON-NLS-2$
 		}
 		selectedEngineLabel.getParent().layout();
 	}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/GLComposite.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/GLComposite.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/GLComposite.java	(revision 3445)
@@ -44,7 +44,7 @@
 	 * Warning : this composite layout cannot be changed
 	 */
 	public final void setLayout(Layout layout) {
-		System.out.println("Warning: GLComposite.setLayout is called without effect: "+name);
+		System.out.println("Warning: GLComposite.setLayout is called without effect: "+name); //$NON-NLS-1$
 		Thread.dumpStack();
 		//super.setLayout(layout);
 	}
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/SelectDirectoryWidget.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/SelectDirectoryWidget.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/swt/SelectDirectoryWidget.java	(revision 3445)
@@ -11,6 +11,7 @@
 import org.eclipse.swt.widgets.DirectoryDialog;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
+import org.txm.rcp.messages.TXMUIMessages;
 
 /**
  * Composite to select a directory:
@@ -26,7 +27,7 @@
 	String path;
 	
 	public SelectDirectoryWidget(Composite parent, int style, String initialDefault, String label) {
-		super(parent, style, "CGU");
+		super(parent, style, "Select Directory"); //$NON-NLS-1$
 		this.path = initialDefault;
 		
 		this.getLayout().numColumns = 2;
@@ -57,7 +58,7 @@
 			public void widgetSelected(SelectionEvent e) {
 				
 				DirectoryDialog dialog = new DirectoryDialog(e.display.getActiveShell());
-				dialog.setMessage("Select working directory");
+				dialog.setMessage(TXMUIMessages.SelectADirectory);
 				dialog.setText(t.getText());
 				String tpath = dialog.open();
 				if (tpath != null) {
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchAdvisor.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchAdvisor.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/ApplicationWorkbenchAdvisor.java	(revision 3445)
@@ -236,16 +236,16 @@
 						}
 						
 						// CREATE THE CLOSE CONTROL FILE
-						if (new File("txm_was_not_closed_correctly.lock").exists()) { // the close control file was not deleted
+						if (new File("txm_was_not_closed_correctly.lock").exists()) { // the close control file was not deleted //$NON-NLS-1$
 							
-							File checkupResultFile = new File("startup_diagnostic_"+Toolbox.dateformat.format(new Date())+".txt");
+							File checkupResultFile = new File("startup_diagnostic_"+Toolbox.dateformat.format(new Date())+".txt"); //$NON-NLS-1$ //$NON-NLS-2$
 							this.syncExec(new Runnable() {
 								@Override
 								public void run() {
 									int choice = MessageDialog.open(MessageDialog.QUESTION_WITH_CANCEL, Display.getDefault().getActiveShell(),
-											"TXM was not correctly stopped", 
-											NLS.bind("Do you want to start a diagnostic of your corpora?\n\n(the diagnostic will be saved in the ''{0}'' file, the path will be copied in the clipboard)", checkupResultFile)
-											, SWT.NONE, new String[] {"Cancel", "OK", "OK, open the diagnostic file"});
+											TXMUIMessages.TXMWasNotCorrectlyStopped, 
+											NLS.bind(TXMUIMessages.DoYouWantToStartADiagnosticOfYourCorporaEtc, checkupResultFile)
+											, SWT.NONE, new String[] {TXMUIMessages.Cancel, TXMUIMessages.OK, TXMUIMessages.OKOpenTheDiagnosticFile});
 									
 									if (choice != 0) {
 										Toolbox.writeStartupCorporaDiagnostics(checkupResultFile);
@@ -257,9 +257,9 @@
 									
 								}
 							});
-							new File("txm_was_not_closed_correctly.lock").delete();
+							new File("txm_was_not_closed_correctly.lock").delete(); //$NON-NLS-1$
 						}
-						new File("txm_was_not_closed_correctly.lock").createNewFile();
+						new File("txm_was_not_closed_correctly.lock").createNewFile(); //$NON-NLS-1$
 						
 						Log.info(TXMUIMessages.info_txmIsReady);
 						monitor.done();
@@ -322,7 +322,7 @@
 	
 	public static String getTXMVersion() {
 		Version version = Activator.getDefault().getBundle().getVersion();
-		return version.getMajor() + "." + version.getMinor() + "." + version.getMicro();
+		return version.getMajor() + "." + version.getMinor() + "." + version.getMicro(); //$NON-NLS-1$ //$NON-NLS-2$
 	}
 	
 	public static String getTXMVersionPrettyString() {
@@ -335,11 +335,11 @@
 		
 		if (txm_date.equals(build_date)) {
 			return (NLS.bind(TXMUIMessages.prettyVersionP0P1,
-					version.getMajor() + "." + version.getMinor() + "." + version.getMicro(), build_date));
+					version.getMajor() + "." + version.getMinor() + "." + version.getMicro(), build_date)); //$NON-NLS-1$ //$NON-NLS-2$
 		}
 		else {
 			return (NLS.bind(TXMUIMessages.prettyVersionP0P1,
-					version.getMajor() + "." + version.getMinor() + "." + version.getMicro(), "install " + build_date + " - update " + txm_date));
+					version.getMajor() + "." + version.getMinor() + "." + version.getMicro(), "install " + build_date + " - update " + txm_date)); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 		}
 	}
 	
@@ -352,20 +352,20 @@
 			File installDirectory = new File(path);
 			// println "installDirectory=$installDirectory"
 			if (installDirectory.exists()) {
-				File artifacts = new File(installDirectory, "p2/org.eclipse.equinox.p2.core/cache/artifacts.xml");
+				File artifacts = new File(installDirectory, "p2/org.eclipse.equinox.p2.core/cache/artifacts.xml"); //$NON-NLS-1$
 				// println "artifacts=$artifacts"
 				if (artifacts.exists() && artifacts.canRead()) {
 					try {
 						String content = IOUtils.getText(artifacts);
-						String ARTIFACT = "<artifact classifier='binary' id='org.txm.rcp.app_root";
+						String ARTIFACT = "<artifact classifier='binary' id='org.txm.rcp.app_root"; //$NON-NLS-1$
 						int start = content.indexOf(ARTIFACT);
 						// println "start=$start"
 						if (start > 0) {
-							String VERSION = "version='";
+							String VERSION = "version='"; //$NON-NLS-1$
 							int versionStart = content.indexOf(VERSION, start + ARTIFACT.length());
 							// println "versionStart=$versionStart"
 							if (versionStart > 0) {
-								int versionEnd = content.indexOf("'", versionStart + VERSION.length());
+								int versionEnd = content.indexOf("'", versionStart + VERSION.length()); //$NON-NLS-1$
 								if (versionEnd > 0) {
 									version = content.substring(versionStart + VERSION.length(), versionEnd);
 									// System.out.println("VERSION="+version);
@@ -395,7 +395,7 @@
 	
 	public static String getUpdateDate() {
 		Version version = Activator.getDefault().getBundle().getVersion();
-		return version.getQualifier().replaceAll("(....)(..)(..)(..)(..)", "$1-$2-$3 $4h$5");
+		return version.getQualifier().replaceAll("(....)(..)(..)(..)(..)", "$1-$2-$3 $4h$5"); //$NON-NLS-1$ //$NON-NLS-2$
 	}
 	
 	private void setPreferencesConfiguration() {
@@ -550,7 +550,7 @@
 		
 		callStopScript();
 		
-		new File("txm_was_not_closed_correctly.lock").delete();
+		new File("txm_was_not_closed_correctly.lock").delete(); //$NON-NLS-1$
 	}
 	
 	/**
@@ -874,7 +874,7 @@
 		}
 		corporaDir = new File(txmhomedir, "corpora"); //$NON-NLS-1$
 		
-		String previousVersions[] = { "0.8.1", "0.8.0", "0.7.9" };
+		String previousVersions[] = { "0.8.1", "0.8.0", "0.7.9" }; //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 		String previousVersionLabels[] = new String[previousVersions.length];
 		File previousVersionCorporaDirectories[] = new File[previousVersions.length];
 		
@@ -883,18 +883,18 @@
 			
 			previousVersionLabels[i] = TXMUIMessages.bind(TXMUIMessages.corporaOfPreviousTXMP0, v);
 			
-			File dir = new File(System.getProperty("user.home"), "TXM-" + v + "/corpora");
-			if ("0.7.9".equals(v)) {
-				dir = new File(System.getProperty("user.home"), "TXM/corpora");
+			File dir = new File(System.getProperty("user.home"), "TXM-" + v + "/corpora"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+			if ("0.7.9".equals(v)) { //$NON-NLS-1$
+				dir = new File(System.getProperty("user.home"), "TXM/corpora"); //$NON-NLS-1$ //$NON-NLS-2$
 			}
 			previousVersionCorporaDirectories[i] = dir;
 		}
 		
 		Version v = Activator.getDefault().getBundle().getVersion();
 		String vv = v.getMajor() + "." + v.getMinor() + "." + v.getMicro(); //$NON-NLS-1$ //$NON-NLS-2$ $NON-NLS-2$
-		String SAMPLES = "1. " + TXMUIMessages.bind(TXMUIMessages.sampleCorporaOfCurrentTXMP0, vv);
+		String SAMPLES = "1. " + TXMUIMessages.bind(TXMUIMessages.sampleCorporaOfCurrentTXMP0, vv); //$NON-NLS-1$
 		int n = 2;
-		String vCURRENT = "2. " + TXMUIMessages.bind(TXMUIMessages.corporaOfPreviousTXMP0, vv);
+		String vCURRENT = "2. " + TXMUIMessages.bind(TXMUIMessages.corporaOfPreviousTXMP0, vv); //$NON-NLS-1$
 		
 		
 		final ArrayList<Object> selectedCorporaDirs = new ArrayList<>();
@@ -908,11 +908,11 @@
 		for (int i = 0; i < previousVersions.length; i++) {
 			if (previousVersionCorporaDirectories[i].exists()
 					&& previousVersionCorporaDirectories[i].listFiles(IOUtils.HIDDENFILE_FILTER).length > 0) {
-				selectedCorporaDirs.add("" + (n++) + ". " + previousVersionLabels[i]);
+				selectedCorporaDirs.add("" + (n++) + ". " + previousVersionLabels[i]); //$NON-NLS-1$ //$NON-NLS-2$
 			}
 		}
 		
-		String OTHER = "" + (n++) + ". " + TXMUIMessages.selectAnotherTXMCorporaToRestore;
+		String OTHER = "" + (n++) + ". " + TXMUIMessages.selectAnotherTXMCorporaToRestore; //$NON-NLS-1$ //$NON-NLS-2$
 		selectedCorporaDirs.add(OTHER);
 		
 		final ArrayList<Object> initialSelectionCorporaDirs = new ArrayList<>();
@@ -1236,14 +1236,14 @@
 
 	public static String getVersionLevel() {
 		try {
-			URL url = Activator.getDefault().getBundle().getResource("SUBVERSION");
-			String subversion = IOUtils.getText(url, "UTF-8");
+			URL url = Activator.getDefault().getBundle().getResource("SUBVERSION"); //$NON-NLS-1$
+			String subversion = IOUtils.getText(url, "UTF-8"); //$NON-NLS-1$
 			return subversion;
 		}
 		catch (IOException e) {
 			// TODO Auto-generated catch block
 			e.printStackTrace();
 		}
-		return "STABLE";
+		return "STABLE"; //$NON-NLS-1$
 	}
 }
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/CorporaSourceProvider.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/CorporaSourceProvider.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/CorporaSourceProvider.java	(revision 3445)
@@ -10,7 +10,7 @@
 
 public class CorporaSourceProvider extends AbstractSourceProvider {
 	
-	public static final String NAME = "corporaSelection";
+	public static final String NAME = "corporaSelection"; //$NON-NLS-1$
 	public static final String[] NAMES = {NAME};
 	HashMap<String, ISelection> currentState = new HashMap<String, ISelection>();
 	
@@ -29,7 +29,7 @@
 		if (instance != null) {
 			instance.currentState.put(NAME, selection);
 			instance.fireSourceChanged(1, NAME, selection);
-			Log.fine("UPDATE SOURCE: "+selection);
+			Log.fine("UPDATE SOURCE: "+selection); //$NON-NLS-1$
 		}
 	}
 	
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/Application.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/Application.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/Application.java	(revision 3445)
@@ -99,16 +99,16 @@
 		// in Release mode only : platform workspace selection on startup
 		// then restart if needed (on workspace error...)
 		
-		System.out.println("instance location=" + Platform.getInstanceLocation().getURL());
+		System.out.println("instance location=" + Platform.getInstanceLocation().getURL()); //$NON-NLS-1$
 		if (Platform.getInstanceLocation().getURL() == null) {
 			
 			Integer ret = openCGU();
 			if (ret == IApplication.EXIT_RESTART) {
-				System.out.println("** Working directory set by user.");
+				System.out.println("** Working directory set by user."); //$NON-NLS-1$
 				return IApplication.EXIT_RESTART;
 			}
 			else if (ret == IApplication.EXIT_OK) {
-				System.out.println("** Fail to open CGU or set working directory.");
+				System.out.println("** Fail to open CGU or set working directory."); //$NON-NLS-1$
 				return IApplication.EXIT_OK; // an error occurred or user canceled
 			}
 			else {
@@ -120,24 +120,24 @@
 		// ---------------------------
 		
 		if (Platform.getInstanceLocation().getURL() == null) {
-			System.out.println("** Working directory not set.");
+			System.out.println("** Working directory not set."); //$NON-NLS-1$
 			return IApplication.EXIT_OK;
 		}
 		
 		
 		// load JVM fonts in SWT env
-		if (System.getProperty("os.name").contains("Linux")) { // $NON-NLS-1$ $NON-NLS-2$
-			File javaFontsPath = new File(System.getProperty("java.home")
-					+ System.getProperty("file.separator") + "lib"
-					+ System.getProperty("file.separator") + "fonts"
-					+ System.getProperty("file.separator"));
+		if (System.getProperty("os.name").contains("Linux")) { // $NON-NLS-1$ $NON-NLS-2$ //$NON-NLS-1$ //$NON-NLS-2$
+			File javaFontsPath = new File(System.getProperty("java.home") //$NON-NLS-1$
+					+ System.getProperty("file.separator") + "lib" //$NON-NLS-1$ //$NON-NLS-2$
+					+ System.getProperty("file.separator") + "fonts" //$NON-NLS-1$ //$NON-NLS-2$
+					+ System.getProperty("file.separator")); //$NON-NLS-1$
 			
 			String[] fontFiles = javaFontsPath.list();
 			if (fontFiles != null) {
 				for (int i = 0; i < fontFiles.length; i++) {
 					if (fontFiles[i].endsWith(".ttf")) { //$NON-NLS-1$
 						File fontFile = new File(javaFontsPath, fontFiles[i]);
-						Log.finest("Loading Java font to SWT Device from file " + fontFile + "...");
+						Log.finest("Loading Java font to SWT Device from file " + fontFile + "..."); //$NON-NLS-1$ //$NON-NLS-2$
 						// Load the font in SWT
 						Display.getDefault().loadFont(fontFile.getAbsolutePath());
 					}
@@ -161,7 +161,7 @@
 			Toolbox.setPreference(TBXPreferences.LOG_STACKTRACE, true);
 		}
 		if (argsList.contains("-run")) { //$NON-NLS-1$
-			System.out.println("Running TXM");
+			System.out.println("Running TXM"); //$NON-NLS-1$
 			// FIXME: need to check that all has been well moved in Workspace class or build.properties
 			// } else if (argsList.contains("-standalone")) { //$NON-NLS-1$
 			// File userhomeDirectory = new File("workspace").getAbsoluteFile(); // eclipse default workspace directory
@@ -256,15 +256,15 @@
 			
 			// run the application mainloop
 			awa = new ApplicationWorkbenchAdvisor();
-			System.out.println("Running TXM workbench.");
+			System.out.println("Running TXM workbench."); //$NON-NLS-1$
 			int returnCode = PlatformUI.createAndRunWorkbench(display, awa);
 			
 			if (returnCode == PlatformUI.RETURN_RESTART) {
-				System.out.println("Restarting TXM.");
+				System.out.println("Restarting TXM."); //$NON-NLS-1$
 				return IApplication.EXIT_RESTART;
 			}
 			
-			System.out.println("Exiting TXM.");
+			System.out.println("Exiting TXM."); //$NON-NLS-1$
 			return IApplication.EXIT_OK;
 		}
 		finally {
@@ -278,15 +278,15 @@
 			
 			Version v = BundleUtils.getBundleVersion("org.txm.rcp");//$NON-NLS-1$
 			if (v == null) {
-				System.out.println("Error: no 'org.txm.rcp' version found.");
+				System.out.println("Error: no 'org.txm.rcp' version found."); //$NON-NLS-1$
 				return IApplication.EXIT_OK;
 			}
-			String version = v.getMajor() + "." + v.getMinor() + "." + v.getMicro();
+			String version = v.getMajor() + "." + v.getMinor() + "." + v.getMicro(); //$NON-NLS-1$ //$NON-NLS-2$
 			if (org.eclipse.core.runtime.Platform.inDevelopmentMode()) {
-				System.out.println("RUNNING TXM FROM ECLIPSE - DEV MODE ACTIVATED");
-				version += "-dev";
+				System.out.println("RUNNING TXM FROM ECLIPSE - DEV MODE ACTIVATED"); //$NON-NLS-1$
+				version += "-dev"; //$NON-NLS-1$
 			}
-			System.out.println("Version=" + version);
+			System.out.println("Version=" + version); //$NON-NLS-1$
 			
 			File txmhomedir = new File(System.getProperty("user.home"), "TXM-" + version); //$NON-NLS-1$ //$NON-NLS-2$
 			
@@ -295,7 +295,7 @@
 			// System.out.println("CGU="+ConfigurationScope.INSTANCE.getNode(IDEWorkbenchPlugin.IDE_WORKBENCH).getBoolean(RCPPreferences.CGU, false));
 			if (!ConfigurationScope.INSTANCE.getNode(IDEWorkbenchPlugin.IDE_WORKBENCH).getBoolean(RCPPreferences.CGU, false)) {
 				ChooseWorkspaceData launchData = new ChooseWorkspaceData(txmhomedir.getAbsolutePath());
-				System.out.println("Opening CGU dialog...");
+				System.out.println("Opening CGU dialog..."); //$NON-NLS-1$
 				CGUMessageDialog dialog = new CGUMessageDialog(Display.getCurrent().getActiveShell(), launchData) {
 				};
 				boolean ret = (dialog.open() == MessageDialog.OK) && dialog.hasCheckBeenPressed();
@@ -305,8 +305,8 @@
 					// check choosen path
 					String path = launchData.getSelection();
 					if (path != null) { // reset the letadata file
-						File metadataFile = new File(path, ".metadata");
-						File metadataFilePrevious = new File(path, ".metadata-previous");
+						File metadataFile = new File(path, ".metadata"); //$NON-NLS-1$
+						File metadataFilePrevious = new File(path, ".metadata-previous"); //$NON-NLS-1$
 						metadataFilePrevious.delete();
 						metadataFile.renameTo(metadataFilePrevious);
 					}
@@ -318,7 +318,7 @@
 					// validate Current as default Workspace, save configuration & history
 					
 					launchData.writePersistedData();
-					System.out.println("save workspace location: " + launchData.getSelection());
+					System.out.println("save workspace location: " + launchData.getSelection()); //$NON-NLS-1$
 					ChooseWorkspaceData.setShowDialogValue(false);
 					
 					Preferences node = ConfigurationScope.INSTANCE.getNode(IDEWorkbenchPlugin.IDE_WORKBENCH);
@@ -351,7 +351,7 @@
 			}
 		}
 		catch (Exception e) {
-			System.out.println("Error: can't open CGU dialog: " + e);
+			System.out.println("Error: can't open CGU dialog: " + e); //$NON-NLS-1$
 			e.printStackTrace();
 			return IApplication.EXIT_OK;
 		}
@@ -360,17 +360,17 @@
 	private Integer setInstanceLocation(ChooseWorkspaceData launchData) {
 		String selWS = launchData.getSelection();
 		if (selWS == null) {
-			System.out.println("** No workspace set in configuration scope.");
+			System.out.println("** No workspace set in configuration scope."); //$NON-NLS-1$
 			return IApplication.EXIT_OK;// user cancelled (no restart)
 		}
 		
 		// Switch workspace :
 		URL url = null;
 		try {
-			url = new URL("file", "", selWS);
+			url = new URL("file", "", selWS); //$NON-NLS-1$ //$NON-NLS-2$
 		}
 		catch (MalformedURLException e1) {
-			showWorkspaceError("Workspace path could not be found.");
+			showWorkspaceError("Workspace path could not be found."); //$NON-NLS-1$
 			return IApplication.EXIT_OK;
 		}
 		
@@ -380,7 +380,7 @@
 			}
 			
 			if (!Platform.getInstanceLocation().set(url, true)) {
-				showWorkspaceError("TXM is already running. Exiting...");
+				showWorkspaceError("TXM is already running. Exiting..."); //$NON-NLS-1$
 				ChooseWorkspaceData.setShowDialogValue(false);
 				return IApplication.EXIT_OK;
 			}
@@ -389,12 +389,12 @@
 			}
 		}
 		catch (IllegalStateException e) {
-			showWorkspaceError("Workspace is in an illegal state: " + e);
+			showWorkspaceError("Workspace is in an illegal state: " + e); //$NON-NLS-1$
 			ChooseWorkspaceData.setShowDialogValue(true);
 			return IApplication.EXIT_OK;
 		}
 		catch (IOException e) {
-			showWorkspaceError("Workspace could not be found on disk: " + e);
+			showWorkspaceError("Workspace could not be found on disk: " + e); //$NON-NLS-1$
 			ChooseWorkspaceData.setShowDialogValue(true);
 			return IApplication.EXIT_OK;
 		}
@@ -457,7 +457,7 @@
 	
 	private static void showWorkspaceError(String message) {
 		MessageBox messageBox = new MessageBox(new Shell(), SWT.DIALOG_TRIM | SWT.ERROR);
-		messageBox.setText("TXM starting error");
+		messageBox.setText(TXMUIMessages.TXTStartingError);
 		messageBox.setMessage(message);
 		messageBox.open();
 	}
@@ -476,7 +476,7 @@
 	 * Activates the proxy service and sets the network connection active provider as native.
 	 */
 	private void activateProxyService() {
-		String systemProxyHost = System.getProperty("http.proxyHost"); // must be called before IProxyService is used
+		String systemProxyHost = System.getProperty("http.proxyHost"); // must be called before IProxyService is used //$NON-NLS-1$
 		
 		Bundle bundle = Platform.getBundle("org.eclipse.ui.ide"); //$NON-NLS-1$
 		IProxyService proxyService = null;
@@ -492,7 +492,7 @@
 			// System.out.println("FIRST RUN TEST RESULT: "+ApplicationWorkbenchAdvisor.firstLaunchAfterInstallation());
 			// force active provider as "Manual" on Mac OS X
 			if (Util.isMac() && systemProxyHost != null && ApplicationWorkbenchAdvisor.testTXMHOMEPreferenceAndDirectory()) {
-				System.out.println("System proxy detected. Force network provider to manual with proxy_host=" + systemProxyHost);
+				System.out.println("System proxy detected. Force network provider to manual with proxy_host=" + systemProxyHost); //$NON-NLS-1$
 				proxyService.setProxiesEnabled(true);
 			}
 			
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/perspective/LabPerspective.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/perspective/LabPerspective.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/perspective/LabPerspective.java	(revision 3445)
@@ -46,7 +46,7 @@
  */
 public class LabPerspective implements IPerspectiveFactory {
 	
-	public final static String ID = "org.txm.rcp.perspective.LabPerspective";
+	public final static String ID = "org.txm.rcp.perspective.LabPerspective"; //$NON-NLS-1$
 	/* (non-Javadoc)
 	 * @see org.eclipse.ui.IPerspectiveFactory#createInitialLayout(org.eclipse.ui.IPageLayout)
 	 */
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ImportWizard.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ImportWizard.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ImportWizard.java	(revision 3445)
@@ -47,7 +47,7 @@
 				
 				IProject rcpProject = ResourcesPlugin.getWorkspace().getRoot().getProject(name);
 				if (rcpProject.exists() && !rcpProject.isOpen()) {
-					rcpProject.open(new LogMonitor("Opening corpus for import"));
+					rcpProject.open(new LogMonitor("Opening corpus for import")); //$NON-NLS-1$
 				}
 				project = null;
 				
@@ -71,9 +71,9 @@
 				}
 				boolean newProject = (project == null);
 				if (newProject) { // it's a new project configuration
-					File settingsDirectory = new File(path, "parameters");
+					File settingsDirectory = new File(path, "parameters"); //$NON-NLS-1$
 					if (settingsDirectory.exists()) {
-						File settingsCopy = new File(Toolbox.workspace.getLocation(), name + "/.settings");
+						File settingsCopy = new File(Toolbox.workspace.getLocation(), name + "/.settings"); //$NON-NLS-1$
 						settingsCopy.getParentFile().mkdirs();
 						FileCopy.copyFiles(settingsDirectory, settingsCopy);
 					}
@@ -83,32 +83,32 @@
 						project = new Project(Toolbox.workspace, name);
 					}
 					project.setSourceDirectory(path.getAbsolutePath());
-					project.setDescription(NLS.bind("- imported by: {0}", System.getProperty("user.name")));
+					project.setDescription(NLS.bind(TXMUIMessages.DashImportedByP0, System.getProperty("user.name"))); //$NON-NLS-2$
 					project.setLang(Locale.getDefault().getLanguage().toLowerCase());
 					
-					project.getEditionDefinition("default").setEnableCollapsible(false);
-					project.getEditionDefinition("default").setPageBreakTag("pb");
-					project.getEditionDefinition("default").setPaginateEdition(true);
-					project.getEditionDefinition("default").setWordsPerPage(1000);
-					project.getEditionDefinition("default").setBuildEdition(true);
+					project.getEditionDefinition("default").setEnableCollapsible(false); //$NON-NLS-1$
+					project.getEditionDefinition("default").setPageBreakTag("pb"); //$NON-NLS-1$ //$NON-NLS-2$
+					project.getEditionDefinition("default").setPaginateEdition(true); //$NON-NLS-1$
+					project.getEditionDefinition("default").setWordsPerPage(1000); //$NON-NLS-1$
+					project.getEditionDefinition("default").setBuildEdition(true); //$NON-NLS-1$
 					
 					Log.info(NLS.bind(TXMUIMessages.theP0CorpusWillBeCreatedFromTheP1Directory, project.getName(), project.getSrcdir()));
 					
-					Engine e = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine("TreeTagger");
+					Engine e = Toolbox.getEngineManager(EngineType.ANNOTATION).getEngine("TreeTagger"); //$NON-NLS-1$
 					if (e != null) {
 						project.setAnnotate(e.isRunning());
 					}
 					
 					if (project.getAnnotate()) {
-						Log.info("The 'annotate' import parameter has been activated since TreeTagger is installed.");
+						Log.info(TXMUIMessages.TheAnnotateImportParameterHasBeenActivatedSinceTreeTaggerIsInstalled);
 					}
 					else {
-						Log.info("The 'annotate' import parameter was not activated since TreeTagger is not installed.");
+						Log.info(TXMUIMessages.TheAnnotateImportParameterWasNotActivatedSinceTreeTaggerIsNotInstalled);
 					}
 					
-					File importxml = new File(page1.getSourcePath(), "import.xml");
+					File importxml = new File(page1.getSourcePath(), "import.xml"); //$NON-NLS-1$
 					if (importxml.exists()) {
-						System.out.println("An import.xml import configuration file was found. Restoring import parameters using this file.");
+						System.out.println(TXMUIMessages.AnImportDotXMLImportConfigurationFileWasFoundRestoringImportParametersUsingThisfile);
 						BaseOldParameters params = new BaseOldParameters(importxml);
 						params.load();
 						params.initializeProject(project);
Index: TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ProjectNamePage.java
===================================================================
--- TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ProjectNamePage.java	(revision 3444)
+++ TXM/trunk/org.txm.rcp/src/main/java/org/txm/rcp/corpuswizard/ProjectNamePage.java	(revision 3445)
@@ -13,6 +13,7 @@
 import org.eclipse.swt.widgets.DirectoryDialog;
 import org.eclipse.swt.widgets.Label;
 import org.eclipse.swt.widgets.Text;
+import org.txm.rcp.messages.TXMUIMessages;
 import org.txm.rcp.preferences.RCPPreferences;
 
 public class ProjectNamePage extends WizardPage {
@@ -23,9 +24,9 @@
     private Composite container;
 
     public ProjectNamePage() {
-        super("Select source directory");
-        setTitle("Sources");
-        setDescription("The source directory contains the sources files read by the import module.");
+        super(TXMUIMessages.SelectTheSourceDirectory);
+        setTitle(TXMUIMessages.Sources);
+        setDescription(TXMUIMessages.TheSourceDirectoryContainsTheSourcesFilesReadByTheImportModule);
     }
 
     @Override
@@ -38,12 +39,12 @@
         GridData gd = new GridData(GridData.FILL_HORIZONTAL);
         
         Label label2 = new Label(container, SWT.NONE);
-        label2.setText("Source directory");
+        label2.setText(TXMUIMessages.SourceDirectory);
         
         sourceDirectory = new Text(container, SWT.BORDER | SWT.SINGLE);
-        final String lastSourcesLocation = RCPPreferences.getInstance().getString("lastSourcesLocation");
+        final String lastSourcesLocation = RCPPreferences.getInstance().getString("lastSourcesLocation"); //$NON-NLS-1$
         sourceDirectory.setText(lastSourcesLocation);
-        sourceDirectory.setToolTipText("The corpus source directory");
+        sourceDirectory.setToolTipText(TXMUIMessages.TheCorpusSourceDirectory);
         sourceDirectory.setLayoutData(gd);
         sourceDirectory.addModifyListener(new ModifyListener() {
 			@Override
@@ -53,22 +54,22 @@
 		});
         
         Button button = new Button(container, SWT.PUSH);
-        button.setText("...");
-        button.setToolTipText("click to select the corpus source directory");
+        button.setText("..."); //$NON-NLS-1$
+        button.setToolTipText(TXMUIMessages.ClickToSelectTheCorpusSourceDirectory);
         button.addSelectionListener(new SelectionListener() {
 			
 			@Override
 			public void widgetSelected(SelectionEvent e) {
 				DirectoryDialog dialog = new DirectoryDialog(e.display.getActiveShell());
 				dialog.setFilterPath(getSourcePath());
-				dialog.setText("Source directory");
+				dialog.setText(TXMUIMessages.SourceDirectory);
 				if (getSourcePath().length() > 0) {
 					dialog.setFilterPath(getSourcePath());
 				}
 				String path = dialog.open();
 				if (path != null) {
 					sourceDirectory.setText(path);
-					RCPPreferences.getInstance().put("lastSourcesLocation", path);
+					RCPPreferences.getInstance().put("lastSourcesLocation", path); //$NON-NLS-1$
 					RCPPreferences.getInstance().flush();
 					setPageComplete(isCompleted());
 				}
Index: TXM/trunk/org.txm.core/src/java/org/txm/core/messages/messages.properties
===================================================================
--- TXM/trunk/org.txm.core/src/java/org/txm/core/messages/messages.properties	(revision 3444)
+++ TXM/trunk/org.txm.core/src/java/org/txm/core/messages/messages.properties	(revision 3445)
@@ -7,6 +7,10 @@
 ToolboxStatesWorkspaceColonP0 = \ Workspace: {0}
 
 binaryDirectoryP0NotFound = Corpus binary folder {0} not found.
+CallingTheP0CommandWithTheP1Parameters=Calling the {0} command with {1}
+CannotCallATXMCommandWithoutIDParametersP0=Cannot call a TXM command without ID (parameters={0}).
+CantNotifyOfP0TheP1Extension=Can't notify of {0} the "{1}" extension: {2}.
+CouldNotDeleteTheP0Result=** Could not delete result {0}.
 
 cQiClientNotInitialized = ** CQi Client not initialized
 
@@ -117,12 +121,15 @@
 error_error                                                                            = ** Error: {0}.
 error_error2                                                                           = Error
 error_errorWhileSortingResult                                                          = ** Error while sorting result.
+ErrorWhileComputingP1DbldotP1=Error while computing {0}: {1}.
 
 evaluatingExtensionColonP0FromP1 = Evaluating extension: {0} from {1}
 
 exceptionColonP0 = Exception: {0}
 
 failedToAccessStructuralPropertyValues = ** Failed to access structural property values 
+FailedToCallTheP0HyperlinkedCommandWithP1AndTheP2Parameters=** Failed to call the ''{0}'' hyperlinked command with ''{1}'' and the ''{2}'' parameters.
+FailedToOpenTheP0Editor=Failed to open editor {0}.
 
 failedToCopyTXMFilesFromTXMINSTALLDIRToTXMHOMEColonP0 = ** Failed to copy TXM files from the TXMINSTALL DIR folder to the TXMHOME folder: {0}.
 
@@ -214,6 +221,7 @@
 numberOfSubMatch = Number of sub-matches 
 
 orTheEngineWasNotStartedWithTheCommandLineColon = ** CQP server startup failed with the command line: {0}.
+P0DblDotP1=\ 
 
 pARAMSColonP0 = Parameters: {0}
 
Index: TXM/trunk/org.txm.core/src/java/org/txm/core/messages/TXMCoreMessages.java
===================================================================
--- TXM/trunk/org.txm.core/src/java/org/txm/core/messages/TXMCoreMessages.java	(revision 3444)
+++ TXM/trunk/org.txm.core/src/java/org/txm/core/messages/TXMCoreMessages.java	(revision 3445)
@@ -101,6 +101,14 @@
 	
 	public static String binaryDirectoryP0NotFound;
 	
+	public static String CallingTheP0CommandWithTheP1Parameters;
+
+	public static String CannotCallATXMCommandWithoutIDParametersP0;
+
+	public static String CantNotifyOfP0TheP1Extension;
+
+	public static String CouldNotDeleteTheP0Result;
+
 	public static String cQiClientNotInitialized;
 	
 	public static String cantFindStructuralUnitForMetadataWithIdColon;
@@ -338,6 +346,14 @@
 	public static String updatingCorpus;
 	
 	public static String computingParentsOfP0;
+
+	public static String ErrorWhileComputingP1DbldotP1;
+
+	public static String FailedToCallTheP0HyperlinkedCommandWithP1AndTheP2Parameters;
+
+	public static String FailedToOpenTheP0Editor;
+
+	public static String P0DblDotP1;
 	
 	/**
 	 * Binds the given message's substitution locations with the given string values.
Index: TXM/trunk/org.txm.statsengine.core/src/org/txm/statsengine/core/messages/messages.properties
===================================================================
--- TXM/trunk/org.txm.statsengine.core/src/org/txm/statsengine/core/messages/messages.properties	(revision 3444)
+++ TXM/trunk/org.txm.statsengine.core/src/org/txm/statsengine/core/messages/messages.properties	(revision 3445)
@@ -5,6 +5,8 @@
 aZerobasedIndexCannotBeInf0OrSupToTheNumberOfIndexedElements=** An index starting at 0 can not be less than 0 or greater than the number of indexed items.
 cannotDeleteAllLines=** Can not  delete all lines.
 cannotDeleteANonexistingObject=** Can not delete an object that does not exist.
+CanNotExecuteTheP0CommandWithTheP1Selection=Can not execute command 
+CorpusEngineIsNotReadyCancelingCommand=Corpus Engine is not ready, canceling command.
 colIndex=Column number too big ({0}) (the maximum is {1}).
 columnIndex=Column index (
 columnNamesOfAContingencyTableCannotBeNull=Column names of a contingency table can not be null.
Index: TXM/trunk/org.txm.statsengine.core/src/org/txm/statsengine/core/messages/StatsEngineCoreMessages.java
===================================================================
--- TXM/trunk/org.txm.statsengine.core/src/org/txm/statsengine/core/messages/StatsEngineCoreMessages.java	(revision 3444)
+++ TXM/trunk/org.txm.statsengine.core/src/org/txm/statsengine/core/messages/StatsEngineCoreMessages.java	(revision 3445)
@@ -39,6 +39,10 @@
 
 	public static String cannotDeleteANonexistingObject; 
 
+	public static String CanNotExecuteTheP0CommandWithTheP1Selection;
+
+	public static String CorpusEngineIsNotReadyCancelingCommand;
+
 	static {
 		// initialize resource bundle
 		Utf8NLS.initializeMessages(BUNDLE_NAME, StatsEngineCoreMessages.class);
