Index: TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/Messages.java
===================================================================
--- TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/Messages.java	(revision 3820)
+++ TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/Messages.java	(revision 3821)
@@ -7,6 +7,7 @@
 
 	public static String URSCorpora_3;
 	public static String URSCorpora_4;
+	public static String URSInformationsHTML;
 	
 	public static String DoInstallStep_11;
 	public static String DoInstallStep_17;
@@ -16,6 +17,8 @@
 	public static String DoInstallStep_6;
 	public static String DoInstallStep_9;
 	public static String EditStructure_0;
+	public static String ErrorCannotFindWordsPositionsforUnitOfTypeP0AndP1P2;
+	public static String ErrorTheCQPCorpusIsEmptyKa;
 	public static String ExportGlozzCorpus_0;
 	public static String ExportGlozzCorpus_1;
 	public static String ExportGlozzCorpus_2;
@@ -110,14 +113,17 @@
 	public static String SaveVue_0;
 	public static String SaveVue_3;
 	public static String SaveVue_5;
+	public static String SchemasHTML;
 	
 	public static String AnalecPreferencePage_3;
 	public static String AnalecPreferencePage_4;
 	public static String AnalecPreferencePage_9;
 	
+	public static String Annotation;
 	public static String AnnotationToolbar_0;
 	public static String AnnotationToolbar_6;
 	public static String AnnotationToolbar_7;
+	public static String UnitsHTML;
 	public static String UnitToolbar_10;
 	public static String UnitToolbar_12;
 	public static String UnitToolbar_14;
@@ -143,12 +149,17 @@
 	public static String StartButton_12;
 	public static String StartButton_4;
 	public static String StartButton_5;
+	public static String StructureHTML;
 	
 	public static String NavigationField_0;
 	public static String NavigationField_2;
 	public static String NavigationField_4;
 	public static String NavigationField_5;
+	public static String RelationsHTML;
 	
+	public static String WarningFailToCreateCorpusVueFileP0;
+	public static String WarningFailToOpenCorpusVueFileP0;
+
 	static {
 		// initialize resource bundle
 		Utf8NLS.initializeMessages(Messages.class);
Index: TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/URSAnnotationReIndexer.java
===================================================================
--- TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/URSAnnotationReIndexer.java	(revision 3820)
+++ TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/URSAnnotationReIndexer.java	(revision 3821)
@@ -46,14 +46,14 @@
 		
 		int corpusSize = corpus.getSize();
 		if (corpusSize == 0) {
-			Log.warning("Error: The CQP corpus is empty ?");
+			Log.warning(Messages.ErrorTheCQPCorpusIsEmptyKa);
 			return false;
 		}
 		String text = analecCorpus.getTexte();
 		int isearch = 0; // the current search start position
 		
 		AbstractCqiClient CQI = CQPSearchEngine.getCqiClient();
-		Property word = corpus.getProperty("word");
+		Property word = corpus.getProperty("word"); //$NON-NLS-1$
 		
 		int positions[] = new int[corpusSize];
 		for (int i = 0; i < corpusSize; i++) {
@@ -66,11 +66,11 @@
 		for (int i = 0; i < corpusSize; i++) {
 			int idx = text.indexOf(strs[i], isearch);
 			if (idx < 0) {
-				Log.finer("Error: cannot find word='" + strs[i] + "' (word with position in CQP corpus=" + positions[i] + ") in text with current carret=" + isearch + ". Aborting.");
+				Log.finer("Error: cannot find word='" + strs[i] + "' (word with position in CQP corpus=" + positions[i] + ") in text with current carret=" + isearch + ". Aborting."); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 				
-				Log.finer("Current text slice is (-20, +20 characters): ");
-				Log.finer("* before: " + text.substring(Math.max(0, isearch - 20), Math.min(isearch + 20, isearch)));
-				Log.finer("* after: " + text.substring(isearch, Math.min(isearch + 20, text.length() - 1)));
+				Log.finer("Current text slice is (-20, +20 characters): "); //$NON-NLS-1$
+				Log.finer("* before: " + text.substring(Math.max(0, isearch - 20), Math.min(isearch + 20, isearch))); //$NON-NLS-1$
+				Log.finer("* after: " + text.substring(isearch, Math.min(isearch + 20, text.length() - 1))); //$NON-NLS-1$
 				
 				return false;
 			}
@@ -83,7 +83,7 @@
 		
 		isearch = 0;
 		ArrayList<Unite> unites = analecCorpus.getToutesUnites();
-		if (debug) Log.finer("units not-sorted: ");
+		if (debug) Log.finer("units not-sorted: "); //$NON-NLS-1$
 		if (debug) printUnits(unites);
 		Collections.sort(unites, new Comparator<Unite>() {
 			
@@ -94,12 +94,12 @@
 				else return d;
 			}
 		});
-		if (debug) Log.finer("units sorted: ");
+		if (debug) Log.finer("units sorted: "); //$NON-NLS-1$
 		if (debug) printUnits(unites);
 		
 		int iunite = 0;
 		for (Unite unite : unites) {
-			if (debug) Log.finer("Updating ");
+			if (debug) Log.finer("Updating "); //$NON-NLS-1$
 			if (debug) printUnite(unite);
 			int start = unite.getDeb();
 			int end = unite.getFin();
@@ -109,7 +109,7 @@
 			int i = 0; // or not : unites are sorted by start position, we don't need to browse all words \o/
 			for (; i < positionsCorrespondances.length; i++) {
 				if (startFound && endFound) break; // no need to go further
-				if (debug) Log.finer("i=" + i + " positionsCorrespondances[i]=" + positionsCorrespondances[i]);
+				if (debug) Log.finer("i=" + i + " positionsCorrespondances[i]=" + positionsCorrespondances[i]); //$NON-NLS-1$ //$NON-NLS-2$
 				if (!startFound && start < positionsCorrespondances[i]) {
 					unite.setDeb(i - 1);
 					startFound = true;
@@ -130,10 +130,10 @@
 			}
 			
 			if (!(startFound && endFound)) {
-				String s = "Error: cannot find words positions for unite of type=" + unite.getType() + " and unit carret positions=[" + start + ", " + end + "]. Aborting";
+				String s = Messages.ErrorCannotFindWordsPositionsforUnitOfTypeP0AndP1P2 + unite.getType() + " and unit carret positions=[" + start + ", " + end + "]. Aborting"; //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 				Log.finer(s);
 				
-				Log.finer("5 last found units are: ");
+				Log.finer("5 last found units are: "); //$NON-NLS-1$
 				for (int j = 4; j >= 0; j--) {
 					if (iunite - j >= 0) {
 						printUnite(unites.get(iunite - j));
@@ -144,19 +144,19 @@
 			// if (i > 0) i--; // restart at previous word
 			iunite++;
 		}
-		if (debug) Log.finer("units updated: ");
+		if (debug) Log.finer("units updated: "); //$NON-NLS-1$
 		if (debug) printUnits(unites);
 		return true;
 	}
 	
 	public static void printUnite(Unite unite) {
-		System.out.print(unite.getType() + "[" + unite.getDeb() + ", " + unite.getFin() + "]");
+		System.out.print(unite.getType() + "[" + unite.getDeb() + ", " + unite.getFin() + "]"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 	}
 	
 	public static void printUnits(List<Unite> units) {
 		int i = 0;
 		for (Unite u : units) {
-			if (i > 0) System.out.print(", ");
+			if (i > 0) System.out.print(", "); //$NON-NLS-1$
 			printUnite(u);
 			i++;
 		}
Index: TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/messages.properties
===================================================================
--- TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/messages.properties	(revision 3820)
+++ TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/messages.properties	(revision 3821)
@@ -5,6 +5,7 @@
 
 AnalecPreferencePage_9 = Unit highlight color palette
 
+Annotation=Annotation
 AnnotationToolbar_0 = No selection found. Aborting.
 
 AnnotationToolbar_6 = ** QueryResult matches size is {0}
@@ -26,6 +27,8 @@
 DoInstallStep_9 = URS previous macro backup directory already exists: {0}. Aborting
 
 EditStructure_0 = Selection is not a corpus: {0}
+ErrorCannotFindWordsPositionsforUnitOfTypeP0AndP1P2=Error: cannot find words positions for unit of type={0}  and unit carret positions=[{1},{2}] ]. Aborting
+ErrorTheCQPCorpusIsEmptyKa=Error: The CQP corpus is empty ?
 
 ExportGlozzCorpus_0 = Selection is not a main corpus: {0}
 
@@ -196,6 +199,7 @@
 NavigationField_4 = Search units by properties
 
 NavigationField_5 = <identifier>
+RelationsHTML=<p>Relations</p>\n
 
 SaveCorpus_0 = Selection is not a main corpus ({0})
 
@@ -222,6 +226,7 @@
 SaveVue_3 = Saving the {0} corpus vue at {1} 
 
 SaveVue_5 = Error while saving the vue.
+SchemasHTML=<p>Schemas</p>\n
 
 StartButton_0 = Units
 
@@ -234,11 +239,16 @@
 StartButton_4 = Error: corpus not saved.
 
 StartButton_5 = Done.
+StructureHTML=<h4>Structure</h4>\n
 
 URSCorpora_3 = Fail to open corpus file: {0}
+URSCorpora_3=
 
 URSCorpora_4 = Fail to create corpus file: {0} 
+URSCorpora_4=
+URSInformationsHTML=<h3>URS informations</h3>\n
 
+UnitsHTML=<p>Units</p>\n
 UnitToolbar_10 = Delete
 
 UnitToolbar_12 = Click to fix the left limit
@@ -274,3 +284,5 @@
 UnitToolbar_7 = Unit type
 
 UnitToolbar_8 = Create
+WarningFailToCreateCorpusVueFileP0=Warning: Fail to create corpus Vue file: 
+WarningFailToOpenCorpusVueFileP0=Warning: Fail to open corpus Vue file: 
Index: TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/InstallURSFiles.java
===================================================================
--- TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/InstallURSFiles.java	(revision 3820)
+++ TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/InstallURSFiles.java	(revision 3821)
@@ -46,15 +46,15 @@
 		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");
-		File macroDirectory = new File(userDirectory, "org/txm/macro");
-		File macroDirectory2 = new File(systemDirectory, "org/txm/macro");
-		File URSMacroDirectory = new File(macroDirectory, "urs");
-		File URSMacroDirectory2 = new File(systemDirectory, "org/txm/macro/urs");
+		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$
+		File macroDirectory = new File(userDirectory, "org/txm/macro"); //$NON-NLS-1$
+		File macroDirectory2 = new File(systemDirectory, "org/txm/macro"); //$NON-NLS-1$
+		File URSMacroDirectory = new File(macroDirectory, "urs"); //$NON-NLS-1$
+		File URSMacroDirectory2 = new File(systemDirectory, "org/txm/macro/urs"); //$NON-NLS-1$
 		
-		String bundle_id = "org.txm.annotation.urs.rcp";
+		String bundle_id = "org.txm.annotation.urs.rcp"; //$NON-NLS-1$
 		
 		if (URSMacroDirectory.exists()) {
 //			long time = URSMacroDirectory.lastModified();
@@ -69,8 +69,8 @@
 		}
 
 		
-		BundleUtils.copyFiles(bundle_id, "src/", "org/txm/macro", "urs", macroDirectory, true);
-		BundleUtils.copyFiles(bundle_id, "src/", "org/txm/macro", "urs", macroDirectory2, true);
+		BundleUtils.copyFiles(bundle_id, "src/", "org/txm/macro", "urs", macroDirectory, true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
+		BundleUtils.copyFiles(bundle_id, "src/", "org/txm/macro", "urs", macroDirectory2, true); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$
 
 		// saving current version
 //		URSPreferences.getInstance().put(URSPreferences.VERSION, currentVersion.toString());
@@ -80,7 +80,7 @@
 
 	@Override
 	public String getName() {
-		return "URS Annotation";
+		return "URS Annotation"; //$NON-NLS-1$
 	}
 	
 	@Override
Index: TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/URSCorpora.java
===================================================================
--- TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/URSCorpora.java	(revision 3820)
+++ TXM/trunk/bundles/org.txm.analec.rcp/src/org/txm/annotation/urs/URSCorpora.java	(revision 3821)
@@ -78,7 +78,7 @@
 			// TODO: does not work :(
 			if (fichierVue.exists()) {
 				if (!FichiersJava.ouvrirVue(vue, fichierVue)) {
-					Log.warning("Warning: Fail to open corpus Vue file: " + fichierVue);
+					Log.warning(Messages.WarningFailToOpenCorpusVueFileP0 + fichierVue);
 					// return null;
 				}
 				String[] types = vue.getTypesUnitesAVoir();
@@ -89,7 +89,7 @@
 			else {
 				vue.retablirVueParDefaut(); //
 				if (!FichiersJava.enregistrerVue(vue, fichierVue)) {
-					Log.warning("Warning: Fail to create corpus Vue file: " + fichierVue);
+					Log.warning(Messages.WarningFailToCreateCorpusVueFileP0 + fichierVue);
 					// return null;
 				}
 			}
@@ -227,7 +227,7 @@
 	
 	@Override
 	public void notify(TXMResult r, String state) {
-		if (r instanceof CorpusBuild && "clean".equals(state)) { // $NON-NLS
+		if (r instanceof CorpusBuild && "clean".equals(state)) { // $NON-NLS //$NON-NLS-1$
 			CorpusBuild mcorpus = (CorpusBuild) r;
 			mcorpus = mcorpus.getRootCorpusBuild(); // ensure this is the root CorpusBuild
 			
@@ -245,13 +245,13 @@
 		}
 		else if (r instanceof Project) {
 			Project project = ((Project) r);
-			if ("clean".equals(state)) {
-				File analecDir = new File(project.getProjectDirectory(), "analec"); //$NON-NLS
+			if ("clean".equals(state)) { //$NON-NLS-1$
+				File analecDir = new File(project.getProjectDirectory(), "analec"); //$NON-NLS //$NON-NLS-1$
 				if (analecDir.exists()) {
 					DeleteDir.deleteDirectory(analecDir);
 				}
 			}
-			else if ("save".equals(state)) {
+			else if ("save".equals(state)) { //$NON-NLS-1$
 				for (TXMResult c : project.getChildren(CorpusBuild.class)) {
 					URSCorpora.saveCorpus((CorpusBuild) c);
 				}
@@ -261,7 +261,7 @@
 	
 	@Override
 	public String getName() {
-		return "URS";
+		return "URS"; //$NON-NLS-1$
 	}
 	
 	@Override
@@ -319,7 +319,7 @@
 	
 	public String hasAdditionalDetailsForResult(TXMResult result) {
 		if (result instanceof MainCorpus) {
-			return hasCorpus((MainCorpus)result)?"Annotation":null;	
+			return hasCorpus((MainCorpus)result)?Messages.Annotation:null;	
 		}
 		return null;
 	}
@@ -330,20 +330,20 @@
 			Corpus acorpus = getCorpus((MainCorpus)result);
 			
 			StringBuilder buffer = new StringBuilder();
-			buffer.append("<h3>URS informations</h3>\n");
-			buffer.append("<h4>Structure</h4>\n");
-			buffer.append("<p>Units</p>\n");
+			buffer.append(Messages.URSInformationsHTML);
+			buffer.append(Messages.StructureHTML);
+			buffer.append(Messages.UnitsHTML);
 			Structure s = acorpus.getStructure();
 			for (String u : s.getUnites()) {
-				buffer.append("<p>"+u+": "+StringUtils.join(s.getUniteProperties(u), ", ")+"</p>\n");
+				buffer.append("<p>"+u+": "+StringUtils.join(s.getUniteProperties(u), ", ")+"</p>\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 			}
-			buffer.append("<p>Relations</p>\n");
+			buffer.append(Messages.RelationsHTML);
 			for (String u : s.getRelations()) {
-				buffer.append("<p>"+u+": "+StringUtils.join(s.getRelationProperties(u), ", ")+"</p>\n");
+				buffer.append("<p>"+u+": "+StringUtils.join(s.getRelationProperties(u), ", ")+"</p>\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 			}
-			buffer.append("<p>Schemas</p>\n");
+			buffer.append(Messages.SchemasHTML);
 			for (String u : s.getSchemas()) {
-				buffer.append("<p>"+u+": "+StringUtils.join(s.getSchemaProperties(u), ", ")+"</p>\n");
+				buffer.append("<p>"+u+": "+StringUtils.join(s.getSchemaProperties(u), ", ")+"</p>\n"); //$NON-NLS-1$ //$NON-NLS-2$ //$NON-NLS-3$ //$NON-NLS-4$
 			}
 			//buffer.append("<p>Name: "+acorpus.getStructure()+"</p>\n");
 			
