diff --git a/.gitattributes b/.gitattributes
index 5656dbd631b5801281bb14959dfa2ab17ec4f6d1..3028201cdcbde5fa9d10cd47ff4bbd2e590ceb9f 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -108,7 +108,9 @@ ecrire/img_pack/image-24.gif -text
 ecrire/img_pack/jauge-fond.gif -text
 ecrire/img_pack/jauge-rouge.gif -text
 ecrire/img_pack/jauge-vert.gif -text
+ecrire/img_pack/langues-12.gif -text
 ecrire/img_pack/langues-24.gif -text
+ecrire/img_pack/langues-off-12.gif -text
 ecrire/img_pack/logo-spip.gif -text
 ecrire/img_pack/m_envoi.gif -text
 ecrire/img_pack/m_envoi_bleu.gif -text
diff --git a/ecrire/articles.php3 b/ecrire/articles.php3
index 8f0d44058dd7182335d4015a88ceb81743669730..914eed1a1b87bedad90fc4ee3ab41f0400a302ee 100644
--- a/ecrire/articles.php3
+++ b/ecrire/articles.php3
@@ -19,8 +19,10 @@ if ($id_article==0) {
 		if ($titre=='') $titre = _T('info_sans_titre');
 		
 		if (lire_meta("multi_rubriques") == "oui") {
-			$row = spip_fetch_array(spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique"));
-			$langue_new = $row['lang'];
+			$result_lang_rub = spip_query("SELECT lang FROM spip_rubriques WHERE id_rubrique=$id_rubrique");
+			if ($row = spip_fetch_array($result_lang_rub)) {
+				$langue_new = $row["lang"];
+			}
 			$langue_choisie_new = 'non';
 		} else if (ereg (",".$GLOBALS['auteur_session']['lang'].",", ",".lire_meta('multi_auth').",")) { // Verifier que la langue d'interface est autorisee
 			$langue_new = $GLOBALS['auteur_session']['lang'];
@@ -1193,9 +1195,24 @@ if ((lire_meta('multi_articles') == 'oui' OR lire_meta('multi_rubriques') == 'ou
 
 	if ($flag_editable AND $supp_trad == 'oui') { // Ne plus lier a un groupe de trad
 		spip_query("UPDATE spip_articles SET id_trad = '0' WHERE id_article = $id_article");	
+		
+		// Verifier si l'ancien groupe ne comporte plus qu'un seul article. Alors mettre a zero.
+		$result_autres_trad= spip_query("SELECT COUNT(id_article) AS total FROM spip_articles WHERE id_trad = $id_trad");
+		if ($row = spip_fetch_array($result_autres_trad)) {
+			$nombre_autres_trad = $row["total"];
+		}
+		if ($nombre_autres_trad == 1) {
+			spip_query("UPDATE spip_articles SET id_trad = '0' WHERE id_trad = $id_trad");	
+		}
+		
 		$id_trad = 0;
 	}
 	
+	if ($connect_statut=='0minirezo' AND $id_trad_new > 0) { // Changer article de reference de la trad
+		spip_query("UPDATE spip_articles SET id_trad = $id_trad_new WHERE id_trad = $id_trad_old");
+		$id_trad = $id_trad_new;
+	}
+	
 	if ($flag_editable AND $lier_trad > 0) { // Lier a un groupe de trad
 		$query_lier = "SELECT id_trad FROM spip_articles WHERE id_article=$lier_trad";
 		$result_lier = spip_query($query_lier);
@@ -1203,8 +1220,7 @@ if ((lire_meta('multi_articles') == 'oui' OR lire_meta('multi_rubriques') == 'ou
 			$id_lier = $row['id_trad'];
 			
 			if ($id_lier == 0) { // Si l'article vise n'a pas deja de traduction, creer nouveau id_trad
-				$max_trad = spip_fetch_array(spip_query("SELECT MAX(id_trad) AS max_trad FROM spip_articles"));
-				$nouveau_trad = $max_trad['max_trad']+1;
+				$nouveau_trad = $lier_trad;
 			}
 			else {
 				if ($id_lier == $id_trad) $err = "<div>"._T('trad_deja_traduit')."</div>";
@@ -1228,17 +1244,16 @@ if ((lire_meta('multi_articles') == 'oui' OR lire_meta('multi_rubriques') == 'ou
 	
 	
 	if ($id_trad != 0) { // Afficher la liste des traductions
-		$query_trad = "SELECT id_article, titre, lang, statut FROM spip_articles WHERE id_trad = $id_trad AND id_article!=$id_article";
+		//$query_trad = "SELECT id_article, titre, lang, statut FROM spip_articles WHERE id_trad = $id_trad AND id_article!=$id_article";
+		$query_trad = "SELECT id_article, titre, lang, statut FROM spip_articles WHERE id_trad = $id_trad";
 		$result_trad = spip_query($query_trad);
-		
-		
+				
 		while ($row = spip_fetch_array($result_trad)) {
 			$id_article_trad = $row["id_article"];
 			$titre_trad = $row["titre"];
 			$lang_trad = $row["lang"];
 			$statut_trad = $row["statut"];
 			
-			
 			if ($ifond == 1) {
 				$ifond = 0;
 				$bgcolor = "ffffff";
@@ -1249,7 +1264,7 @@ if ((lire_meta('multi_articles') == 'oui' OR lire_meta('multi_rubriques') == 'ou
 			
 			
 			$ret .= "<tr bgcolor='$bgcolor'>";
-			$ret .= "<td>";
+			$ret .= "<td width='7'>";
 			if ($statut_trad=='publie') {
 				$ret .= "<img src='img_pack/puce-verte.gif' alt='' width='7' height='7' border='0' NAME='statut'>";
 			}
@@ -1266,14 +1281,32 @@ if ((lire_meta('multi_articles') == 'oui' OR lire_meta('multi_rubriques') == 'ou
 				$ret .= "<img src='img_pack/puce-poubelle.gif' alt='' width='7' height='7' border='0' NAME='statut'>";
 			}
 			$ret .= "</td>";
-			$ret .= "<td class='arial2'><a href='articles.php3?id_article=$id_article_trad'>$titre_trad</a></td>";
+			
+			$ret .= "<td width='12'>";
+			
+			if ($id_article_trad == $id_trad) {
+				$ret .= "<img src='img_pack/langues-12.gif' width='12' height='12' alt='' border='0'>";
+				$titre_trad = "<b>$titre_trad</b>";
+			} else {
+				if ($connect_statut=='0minirezo') $ret .= "<a href='articles.php3?id_article=$id_article&id_trad_old=$id_trad&id_trad_new=$id_article_trad'><img src='img_pack/langues-off-12.gif' width='12' height='12' alt='' border='0'></a>";
+				else $ret .= "<img src='img_pack/langues-off-12.gif' width='12' height='12' alt='' border='0'>";
+			}
+			
+			$ret .= "</td>";
+			
+			$ret .= "<td class='arial2'>";
+				if ($id_article_trad == $id_article) $ret .= "$titre_trad";
+				else $ret .= "<a href='articles.php3?id_article=$id_article_trad'>$titre_trad</a>";
+				if ($id_article_trad == $id_trad) $ret .= " "._T("trad_reference");
+			$ret .= "</td>";
+
 			$ret .= "<td class='arial2'>".traduire_nom_langue($lang_trad)."</td>\n";
 		}
 		
 		if ($ret) {
 			debut_cadre_enfonce("traductions-24.gif");
 			echo "<table width='100%' cellspacing='0' border='0' cellpadding='3'>";
-			echo "<tr bgcolor='#eeeecc'><td colspan=3><font size=2 face='Georgia,Garamond,Times,serif'>".bouton_block_invisible("ne_plus_lier")."<b>"._T('trad_article_traduction')."</b></font></td></tr>";
+			echo "<tr bgcolor='#eeeecc'><td colspan='4'><font size=2 face='Georgia,Garamond,Times,serif'>".bouton_block_invisible("ne_plus_lier")."<b>"._T('trad_article_traduction')."</b></font></td></tr>";
 			echo $ret;
 			echo "<tr><td><img src='img_pack/rien.gif' height='3'></td></tr>";
 			echo "</table>";
diff --git a/ecrire/img_pack/langues-12.gif b/ecrire/img_pack/langues-12.gif
new file mode 100644
index 0000000000000000000000000000000000000000..4a9598f3c631558e94422b76a84654f5f63c16d5
Binary files /dev/null and b/ecrire/img_pack/langues-12.gif differ
diff --git a/ecrire/img_pack/langues-off-12.gif b/ecrire/img_pack/langues-off-12.gif
new file mode 100644
index 0000000000000000000000000000000000000000..98f629906a540665c91baf82f8daee8c12c18106
Binary files /dev/null and b/ecrire/img_pack/langues-off-12.gif differ
diff --git a/ecrire/lang/spip_fr.php3 b/ecrire/lang/spip_fr.php3
index 21affb460381886873945b3776ea3ff85f8ded38..0159a3e68ff0a1b7b2c31b3789c099d7930ad466 100644
--- a/ecrire/lang/spip_fr.php3
+++ b/ecrire/lang/spip_fr.php3
@@ -1600,11 +1600,12 @@ avez fait des modifications importantes de graphisme ou de structure du site.',
 'titre_syndication' => 'Syndication de sites',
 'titre_titre_document' => 'Titre du document&nbsp;:',
 'trad_article_inexistant' => 'Il n\'y a pas d\'article portant ce num&eacute;ro.',
-'trad_article_traduction' => 'Cet article est une traduction de&nbsp;:',
+'trad_article_traduction' => 'Toutes les versions de cet article&nbsp;:',
 'trad_deja_traduit' => 'Cet article est d&eacute;j&agrave; une traduction du pr&eacute;sent article.',
 'trad_delier' => 'Ne plus lier cet article &agrave; ces traductions',
 'trad_lier' => 'Cet article est une traduction de l\'article num&eacute;ro&nbsp;:',
-'trad_new' => "&Eacute;crire une nouvelle traduction de cet article"
+'trad_new' => "&Eacute;crire une nouvelle traduction de cet article",
+'trad_reference' => "(article de r&eacute;f&eacute;rence)"
 );