diff --git a/.gitattributes b/.gitattributes
index db6afaa59f7c921ab1acd5e96cd83226d18622ca..a8e5265d7f3eeedf0885662114b04f89772d2854 100644
--- a/.gitattributes
+++ b/.gitattributes
@@ -84,7 +84,6 @@ ecrire/configuration/breves.php -text
 ecrire/configuration/documents.php -text
 ecrire/configuration/futurs.php -text
 ecrire/configuration/index.php -text
-ecrire/configuration/locuteur.php -text
 ecrire/configuration/logos.php -text
 ecrire/configuration/messagerie_agenda.php -text
 ecrire/configuration/moderniseur_html.php -text
@@ -92,7 +91,6 @@ ecrire/configuration/previsualiseur.php -text
 ecrire/configuration/redacteurs.php -text
 ecrire/configuration/redirection.php -text
 ecrire/configuration/reducteur.php -text
-ecrire/configuration/referenceur.php -text
 ecrire/configuration/relayeur.php -text
 ecrire/configuration/rubriques.php -text
 ecrire/configuration/syndications.php -text
@@ -119,7 +117,6 @@ ecrire/exec/charger_plugin.php -text
 ecrire/exec/charger_plugin_descr.php -text
 ecrire/exec/config_contenu.php -text
 ecrire/exec/config_fonctions.php -text
-ecrire/exec/config_multilang.php -text
 ecrire/exec/configuration.php -text
 ecrire/exec/configurer_contenu.php -text
 ecrire/exec/configurer_moderniseur_html.php -text
@@ -394,6 +391,8 @@ prive/formulaires/configurer_langage.php -text
 prive/formulaires/configurer_langue.html -text
 prive/formulaires/configurer_langue.php -text
 prive/formulaires/configurer_metas.php -text
+prive/formulaires/configurer_multilinguisme.html -text
+prive/formulaires/configurer_multilinguisme.php -text
 prive/formulaires/configurer_preferences.html -text
 prive/formulaires/configurer_preferences.php -text
 prive/formulaires/configurer_transcodeur.html -text
@@ -719,6 +718,7 @@ prive/squelettes/contenu/page-configurer.html -text
 prive/squelettes/contenu/page-configurer_identite.html -text
 prive/squelettes/contenu/page-configurer_langage.html -text
 prive/squelettes/contenu/page-configurer_langue.html -text
+prive/squelettes/contenu/page-configurer_multilang.html -text
 prive/squelettes/contenu/page-configurer_preferences.html -text
 prive/squelettes/contenu/page-debug.html -text
 prive/squelettes/extra/dist.html -text
@@ -746,6 +746,7 @@ prive/squelettes/top/page-charte.html -text
 prive/squelettes/top/page-configurer_identite.html -text
 prive/squelettes/top/page-configurer_langage.html -text
 prive/squelettes/top/page-configurer_langue.html -text
+prive/squelettes/top/page-configurer_multilang.html -text
 prive/squelettes/top/page-configurer_preferences.html -text
 prive/stats/echelle.html -text
 prive/style_prive.html -text
diff --git a/ecrire/configuration/locuteur.php b/ecrire/configuration/locuteur.php
deleted file mode 100644
index 9bb5d3b97dc507ae402854b880b1be09a3fd131d..0000000000000000000000000000000000000000
--- a/ecrire/configuration/locuteur.php
+++ /dev/null
@@ -1,93 +0,0 @@
-<?php
-
-/***************************************************************************\
- *  SPIP, Systeme de publication pour l'internet                           *
- *                                                                         *
- *  Copyright (c) 2001-2010                                                *
- *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
- *                                                                         *
- *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
- *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
-\***************************************************************************/
-
-if (!defined("_ECRIRE_INC_VERSION")) return;
-
-include_spip('inc/presentation');
-include_spip('inc/config');
-
-function configuration_locuteur_dist()
-{
-	global $spip_lang_right;
-
-	include_spip('inc/lang_liste');
-	$langues = $GLOBALS['codes_langues'];
-	$cesure = floor((count($langues) + 1) / 2);
-
-	$langues_installees = explode(',', $GLOBALS['meta']['langues_proposees']);
-	$langues_autorisees = explode(',', $GLOBALS['meta']['langues_multilingue']);
-
-	while (list(,$l) = each ($langues_installees)) {
-		$langues_trad[$l] = true;
-	}
-
-	while (list(,$l) = each ($langues_autorisees)) {
-		$langues_auth[$l] = true;
-	}
-
-	$l_bloquees_tmp = explode(',',$GLOBALS['meta']['langues_utilisees']);
-	while (list(,$l) = each($l_bloquees_tmp)) {
-		$langues_bloquees[$l] = true;
-	}
-
-	$res = "<p class='verdana2'>"
-	. _T('info_multi_langues_choisies')
-	. '</p>'
-	. "\n<table width='100%' cellspacing='10'><tr><td style='width: 50%'  class='verdana1'>";
-	
-	$i=0;
-	while (list($code_langue) = each($langues_bloquees)) {
-		$i++;
-		$nom_langue = $langues[$code_langue];
-		if ($langues_trad[$code_langue]) $nom_langue = "<span style='text-decoration: underline'>$nom_langue</span>";
-
-		$res .= "\n<div class='langues_bloquees'>";
-		$res .= "\n<input type='hidden' name='langues_auth[]' id='langue_auth_$code_langue' value='$code_langue' />";
-		$res .= "\n<input type='checkbox' checked='checked' disabled='disabled' />";
-		$res .= "<label for='langue_auth_$code_langue'>" . $nom_langue ."\n&nbsp; &nbsp;<span style='color: #777777'>[$code_langue]</span></label>";
-		$res .= "</div>";
-
-		if ($i == $cesure) $res .= "\n</td><td style='width: 50%' class='verdana1'>";
-	}
-
-	$res .= "\n<div>&nbsp;</div>";
-
-	while (list($code_langue, $nom_langue) = each($langues)) {
-		if ($langues_bloquees[$code_langue]) continue;
-		$i++;
-		$res .= "\n<div>";
-		if ($langues_trad[$code_langue]) $nom_langue = "<span style='text-decoration: underline'>$nom_langue</span>";
-
-		if ($langues_auth[$code_langue]) {
-			$res .= "<input type='checkbox' name='langues_auth[]' id='langue_auth_$code_langue' value='$code_langue' checked='checked' />";
-			$nom_langue = "<b>$nom_langue</b>";
-		}
-		else {
-			$res .= "<input type='checkbox' name='langues_auth[]' id='langue_auth_$code_langue' value='$code_langue' />";
-		}
-		$res .=  "\n<label for='langue_auth_$code_langue'>$nom_langue &nbsp; &nbsp;<span style='color: #777777'>[$code_langue]</span></label>";
-
-		$res .= "</div>";
-
-		if ($i == $cesure) $res .= "</td><td style='width: 50%' class='verdana1'>";
-	}
-
-	$res .= "</td></tr></table>"
-	  . "<div class='verdana1'>"._T("info_multi_langues_soulignees")."</div>";
-
-	$res = debut_cadre_relief("langue-24.png", true)
-	. ajax_action_post('configuration', 'locuteur', 'config_multilang', '#configurer-locuteur', $res)
-	. fin_cadre_relief(true);
-
-	return ajax_action_greffe("configurer-locuteur", '', $res);
-}
-?>
diff --git a/ecrire/configuration/referenceur.php b/ecrire/configuration/referenceur.php
deleted file mode 100644
index 3932beb4293bc60963baa303880f168716f5ae76..0000000000000000000000000000000000000000
--- a/ecrire/configuration/referenceur.php
+++ /dev/null
@@ -1,67 +0,0 @@
-<?php
-
-/***************************************************************************\
- *  SPIP, Systeme de publication pour l'internet                           *
- *                                                                         *
- *  Copyright (c) 2001-2010                                                *
- *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
- *                                                                         *
- *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
- *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
-\***************************************************************************/
-
-if (!defined("_ECRIRE_INC_VERSION")) return;
-
-include_spip('inc/presentation');
-include_spip('inc/config');
-
-function configuration_referenceur_dist()
-{
-  global $spip_lang_right;
-
-	$res =  "<p>"._T('texte_multilinguisme')."</p>"
-	. "<div>"
-	. _T('info_multi_articles')
-	. "<div style='text-align: $spip_lang_right;'>"
-	. afficher_choix('multi_articles', $GLOBALS['meta']['multi_articles'],
-		array('oui' => _T('item_oui'), 'non' => _T('item_non')), " &nbsp; ")
-	. "</div>"
-	. "</div>"
-	. "<div>"
-	. _T('info_multi_rubriques')
-	. "<div style='text-align: $spip_lang_right;'>"
-	. afficher_choix('multi_rubriques', $GLOBALS['meta']['multi_rubriques'],
-		array('oui' => _T('item_oui'), 'non' => _T('item_non')), " &nbsp; ")
-	. "</div>"
-	. "</div>";
-
-	if  ($GLOBALS['meta']['multi_rubriques'] == 'oui') {
-		$res .= "\n<div>"
-		. _T('info_multi_secteurs')
-		. "<div style='text-align: $spip_lang_right;'>"
-		. afficher_choix('multi_secteurs', $GLOBALS['meta']['multi_secteurs'],
-			array('oui' => _T('item_oui'), 'non' => _T('item_non')), " &nbsp; ")
-		. "</div>"
-		. "</div>";
-	} else
-		$res .= "<input type='hidden' name='multi_secteurs' id='multi_secteurs' value='".$GLOBALS['meta']['multi_secteurs']."' />";
-
-	if (($GLOBALS['meta']['multi_rubriques'] == 'oui') OR ($GLOBALS['meta']['multi_articles'] == 'oui')) {
-		$res .= "<hr />"
-		. "<p>"._T('texte_multilinguisme_trad')."</p>";
-
-		$res .= _T('info_gerer_trad')
-		. "<div style='text-align: $spip_lang_right;'>"
-		. afficher_choix('gerer_trad', $GLOBALS['meta']['gerer_trad'],
-			array('oui' => _T('item_oui'), 'non' => _T('item_non')), " &nbsp; ")
-		. "</div>";
-	} else
-		$res .= "<input type='hidden' name='gerer_trad' id='gerer_trad' value='".$GLOBALS['meta']['gerer_trad']."' />";
-
-	$res = debut_cadre_couleur("traduction-24.png", true, "", _T('info_multilinguisme'))
-	. ajax_action_post('configuration', 'referenceur', 'config_multilang', '#configurer-referenceur', $res)
-	. fin_cadre_couleur(true);
-
-	return ajax_action_greffe("configurer-referenceur", '', $res);
-}
-?>
diff --git a/ecrire/core.xml b/ecrire/core.xml
index 0b11997f96e6384711f17b8b68d7c929205c1c52..485f2374d2887e106c6096c053c2b06695553762 100644
--- a/ecrire/core.xml
+++ b/ecrire/core.xml
@@ -207,7 +207,7 @@
 		<icone>images/langue-24.png</icone>
 		<titre>info_langue_principale</titre>
 	</onglet>
-	<onglet id='config_multilang' parent="config_lang">
+	<onglet id='configurer_multilang' parent="config_lang">
 		<icone>images/traduction-24.png</icone>
 		<titre>info_multilinguisme</titre>
 	</onglet>
diff --git a/ecrire/exec/config_multilang.php b/ecrire/exec/config_multilang.php
deleted file mode 100644
index a7f4530d74ad0f978ea6e73c18842ddadae991ac..0000000000000000000000000000000000000000
--- a/ecrire/exec/config_multilang.php
+++ /dev/null
@@ -1,57 +0,0 @@
-<?php
-
-/***************************************************************************\
- *  SPIP, Systeme de publication pour l'internet                           *
- *                                                                         *
- *  Copyright (c) 2001-2010                                                *
- *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
- *                                                                         *
- *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
- *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
-\***************************************************************************/
-
-if (!defined("_ECRIRE_INC_VERSION")) return;
-
-include_spip('inc/presentation');
-include_spip('inc/rubriques');
-
-// http://doc.spip.org/@exec_config_multilang_dist
-function exec_config_multilang_dist()
-{
-
-	if (!autoriser('configurer', 'multilang')) {
-		include_spip('inc/minipres');
-		echo minipres();
-	} else {
-
-	$config = charger_fonction('config', 'inc');
-	$config();
-
-	pipeline('exec_init',array('args'=>array('exec'=>'config_multilang'),'data'=>''));
-	$commencer_page = charger_fonction('commencer_page', 'inc');
-	echo $commencer_page(_T('titre_page_config_contenu'), "configuration", "langues");
-
-	echo gros_titre(_T('info_langues'),'', false),
-	  barre_onglets("config_lang", "multi");
-
-	echo debut_gauche('', true);
-	
-	echo pipeline('affiche_gauche',array('args'=>array('exec'=>'config_multilang'),'data'=>''));
-	echo creer_colonne_droite('', true);
-	echo pipeline('affiche_droite',array('args'=>array('exec'=>'config_multilang'),'data'=>''));
-	echo debut_droite('', true);
-
-	$referenceur = charger_fonction('referenceur', 'configuration');
-	echo $referenceur();
-
-	if ($GLOBALS['meta']['multi_articles'] == "oui"
-	OR $GLOBALS['meta']['multi_rubriques'] == "oui"
-	OR count(explode(',',$GLOBALS['meta']['langues_utilisees'])) > 1) {
-		$locuteur = charger_fonction('locuteur', 'configuration');
-		echo $locuteur();
-	}
-
-	echo fin_gauche(), fin_page();
-	}
-}
-?>
diff --git a/prive/formulaires/configurer_multilinguisme.html b/prive/formulaires/configurer_multilinguisme.html
new file mode 100644
index 0000000000000000000000000000000000000000..8e2f9b8dba9bc02b1c16ccd47919b2e9d1bc4520
--- /dev/null
+++ b/prive/formulaires/configurer_multilinguisme.html
@@ -0,0 +1,80 @@
+<div class="formulaire_spip formulaire_configurer formulaire_#FORM formulaire_#FORM-#ENV{id,nouveau}">
+<h3 class='titrem'><img src="#CHEMIN_IMAGE{traduction-24.png}" class="cadre-icone" /><:info_multilinguisme:>&nbsp;:&nbsp;#ENV{_langue_site}</h3>
+	[<p class="reponse_formulaire reponse_formulaire_ok">(#ENV*{message_ok})</p>]
+	[<p class="reponse_formulaire reponse_formulaire_erreur">(#ENV*{message_erreur})</p>]
+	[(#ENV{editable})
+	<p>
+	<:texte_multilinguisme:>
+	</p>
+	<form method='post' action='#ENV{action}' enctype='multipart/form-data'><div>
+		[(#REM) declarer les hidden qui declencheront le service du formulaire
+		parametre : url d'action ]
+		#ACTION_FORMULAIRE{#ENV{action}}
+	  <ul>
+	  	#SET{name,multi_articles}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
+	    <li class="long_label editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
+	    	<label for="#GET{name}"><:info_multi_articles:></label>[
+				<span class='erreur_message'>(#GET{erreurs})</span>
+				]<div class="choix">
+					<input type="radio" name="#GET{name}" id="#GET{name}_oui" value="oui"
+					[(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:item_oui:></label>
+					&nbsp;&nbsp;
+					<input type="radio" name="#GET{name}" id="#GET{name}_non" value="non"
+					[(#ENV{#GET{name}}|=={oui}|non)checked="checked"] /><label for="#GET{name}_non"><:item_non:></label>
+				</div>
+	    </li>
+	  	#SET{name,multi_rubriques}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
+	    <li class="long_label editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
+	    	<label for="#GET{name}"><:info_multi_rubriques:></label>[
+				<span class='erreur_message'>(#GET{erreurs})</span>
+				]<div class="choix">
+					<input type="radio" name="#GET{name}" id="#GET{name}_oui" value="oui"
+					[(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:item_oui:></label>
+					&nbsp;&nbsp;
+					<input type="radio" name="#GET{name}" id="#GET{name}_non" value="non"
+					[(#ENV{#GET{name}}|=={oui}|non)checked="checked"] /><label for="#GET{name}_non"><:item_non:></label>
+				</div>
+	    </li>
+			[(#ENV{multi_rubriques}|=={oui}|oui)
+	  	#SET{name,multi_secteurs}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
+			<li class="long_label editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
+	    	<label for="#GET{name}"><:info_multi_secteurs:></label>[
+				<span class='erreur_message'>(#GET{erreurs})</span>
+				]<div class="choix">
+					<input type="radio" name="#GET{name}" id="#GET{name}_oui" value="oui"
+					[(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:item_oui:></label>
+					&nbsp;&nbsp;
+					<input type="radio" name="#GET{name}" id="#GET{name}_non" value="non"
+					[(#ENV{#GET{name}}|=={oui}|non)checked="checked"] /><label for="#GET{name}_non"><:item_non:></label>
+				</div>
+	    </li>
+			]
+		</ul>
+		[(#ENV{multi_rubriques}|=={oui}|ou{#ENV{multi_articles}|=={oui}}|oui)
+		<p><:texte_multilinguisme_trad:></p>
+		<ul>
+			#SET{name,gerer_trad}#SET{erreurs,#ENV**{erreurs}|table_valeur{#GET{name}}}
+			<li class="long_label editer_[(#GET{name})][ (#GET{obli})][ (#GET{erreurs}|oui)erreur]">
+				<label for="#GET{name}"><:info_gerer_trad:></label>[
+				<span class='erreur_message'>(#GET{erreurs})</span>
+				]<div class="choix">
+					<input type="radio" name="#GET{name}" id="#GET{name}_oui" value="oui"
+					[(#ENV{#GET{name}}|=={oui}|oui)checked="checked"] /><label for="#GET{name}_oui"><:item_oui:></label>
+					&nbsp;&nbsp;
+					<input type="radio" name="#GET{name}" id="#GET{name}_non" value="non"
+					[(#ENV{#GET{name}}|=={oui}|non)checked="checked"] /><label for="#GET{name}_non"><:item_non:></label>
+				</div>
+			</li>
+	  </ul>
+		]
+		[
+		<p><:info_multi_langues_choisies:></p>
+		(#ENV**{_langues,''})
+		<p><:info_multi_langues_soulignees:></p>
+		]
+	  [(#REM) ajouter les saisies supplementaires : extra et autre, a cet endroit ]
+	  <!--extra-->
+	  <p class='boutons'><span class='image_loading'>&nbsp;</span><input type='submit' class='submit' value='<:bouton_enregistrer:>' /></p>
+	</div></form>
+	]
+</div>
\ No newline at end of file
diff --git a/prive/formulaires/configurer_multilinguisme.php b/prive/formulaires/configurer_multilinguisme.php
new file mode 100644
index 0000000000000000000000000000000000000000..c52f59265c9413785846322a790a75961e01c76c
--- /dev/null
+++ b/prive/formulaires/configurer_multilinguisme.php
@@ -0,0 +1,96 @@
+<?php
+
+/***************************************************************************\
+ *  SPIP, Systeme de publication pour l'internet                           *
+ *                                                                         *
+ *  Copyright (c) 2001-2010                                                *
+ *  Arnaud Martin, Antoine Pitrou, Philippe Riviere, Emmanuel Saint-James  *
+ *                                                                         *
+ *  Ce programme est un logiciel libre distribue sous licence GNU/GPL.     *
+ *  Pour plus de details voir le fichier COPYING.txt ou l'aide en ligne.   *
+\***************************************************************************/
+
+if (!defined("_ECRIRE_INC_VERSION")) return;
+
+function formulaires_configurer_multilinguisme_charger_dist(){
+	foreach(array('multi_articles','multi_rubriques','multi_secteurs','gerer_trad') as $m)
+		$valeurs[$m] = $GLOBALS['meta'][$m];
+
+	if ($GLOBALS['meta']['multi_articles'] == "oui"
+	  OR $GLOBALS['meta']['multi_rubriques'] == "oui"
+	  OR count(explode(',',$GLOBALS['meta']['langues_utilisees'])) > 1) {
+
+		$selection = (is_null(_request('multi_articles'))?explode(',', $GLOBALS['meta']['langues_multilingue']):_request('langues_auth'));
+		$valeurs['_langues'] = saisie_langues_utiles('langues_auth',$selection?$selection:array());
+	}
+
+	return $valeurs;
+}
+
+
+function formulaires_configurer_multilinguisme_traiter_dist(){
+	$res = array('editable'=>true);
+	foreach(array('multi_articles','multi_rubriques','multi_secteurs','gerer_trad') as $m)
+		if (!is_null($v=_request($m)))
+			ecrire_meta($m, $v=='oui'?'oui':'non');
+
+	if ($i = _request('langues_auth') AND is_array($i)) {
+		$i = array_unique(array_merge($i,explode(',',$GLOBALS['meta']['langues_utilisees'])));
+		ecrire_meta('langues_multilingue', implode(",",$i));
+	}
+	$res['message_ok'] = _T('config_info_enregistree');
+	return $res;
+}
+
+function saisie_langues_utiles($name, $selection) {
+	include_spip('inc/lang_liste');
+	$langues = $GLOBALS['codes_langues'];
+	
+	$langues_installees = explode(',', $GLOBALS['meta']['langues_proposees']);
+	$langues_trad = array_flip($langues_installees);
+
+	$langues_bloquees = explode(',',$GLOBALS['meta']['langues_utilisees']);
+
+	$res = "";
+
+	$i = 0;
+	foreach($langues_bloquees as $code_langue) {
+		$nom_langue = $langues[$code_langue];
+		$res .= "<li class='choix "
+		  . alterner($i++,'odd','even')
+		  . (isset($langues_trad[$code_langue])?" traduite":"")
+		  . "'>"
+			. "<input type='hidden' name='{$name}[]' value='$code_langue'>" // necessaire ...
+		  . "<input type='checkbox' name='{$name}[]' id='{$name}_$code_langue' value='$code_langue' checked='checked' disabled='disabled' />"
+		  . "<label for='{$name}_$code_langue'>" . $nom_langue ."&nbsp;&nbsp; <span class='code_langue'>[$code_langue]</span></label>"
+		  . "</li>";
+	}
+
+	if ($res)
+		$res = "<ul id='langues_bloquees'>".$res."</ul><div class='nettoyeur'></div>";
+
+	$res .= "<ul id='langues_proposees'>";
+
+	$i = 0;
+	$langues_bloquees = array_flip($langues_bloquees);
+	foreach($langues as $code_langue=>$nom_langue) {
+		if (!isset($langues_bloquees[$code_langue])) {
+			$checked = (in_array($code_langue,$selection)?' checked="checked"':'');
+			$res .= "<li class='choix "
+			  . alterner($i++,'odd','even')
+				. (isset($langues_trad[$code_langue])?" traduite":"")
+				. "'>"
+				. "<input type='checkbox' name='{$name}[]' id='{$name}_$code_langue' value='$code_langue'"
+			  . $checked
+			  . "/>"
+				. "<label for='{$name}_$code_langue'"
+			  . ($checked?" class='on'":"")
+			  . ">"
+			  . $nom_langue ."&nbsp;&nbsp; <span class='code_langue'>[$code_langue]</span></label>"
+				. "</li>";
+		}
+	}
+
+	$res .= "</ul><div class='nettoyeur'></div>";
+	return $res;
+}
\ No newline at end of file
diff --git a/prive/squelettes/contenu/page-configurer_multilang.html b/prive/squelettes/contenu/page-configurer_multilang.html
new file mode 100644
index 0000000000000000000000000000000000000000..eb912ff80aceafab5d0efdbabe6e4a52d97be2d5
--- /dev/null
+++ b/prive/squelettes/contenu/page-configurer_multilang.html
@@ -0,0 +1,3 @@
+<div class="ajax">
+	#FORMULAIRE_CONFIGURER_MULTILINGUISME
+</div>
\ No newline at end of file
diff --git a/prive/squelettes/top/page-configurer_multilang.html b/prive/squelettes/top/page-configurer_multilang.html
new file mode 100644
index 0000000000000000000000000000000000000000..a9e5c74480fabfe16ce0d48dfecb934867f37f6e
--- /dev/null
+++ b/prive/squelettes/top/page-configurer_multilang.html
@@ -0,0 +1,9 @@
+[(#REM)
+
+  Squelette
+  (c) 2009 xxx
+  Distribue sous licence GPL
+
+]
+<h1><:info_langues:></h1>
+[(#VAL{config_lang}|barre_onglets{configurer_multilang})]
diff --git a/prive/style_prive.html b/prive/style_prive.html
index 9f5503a68f4026ce564a09a04db8cbc7df89b631..9991813866372be645dea349e5bd2980be4d9040 100644
--- a/prive/style_prive.html
+++ b/prive/style_prive.html
@@ -696,8 +696,6 @@ td.vu { background: #ccc; }
 .vignette_reducteur { text-align: center; vertical-align: middle; float: #GET{left}; padding:2px; border:2px solid #fff; width:150px; height:170px; }
 .vignette_reducteur.selected { font-weight: bold; border:2px dotted #GET{claire}; }
 .vignette_reducteur span { display: block; }
-/* config/locuteur */
-.langues_bloquees {color: #GET{foncee};font-weight: bold; }
 
 
 /* pour les puces de changement rapide de statut ; NB: ca buggue car ca s'affiche en-dessous du cadre */
diff --git a/prive/style_prive_formulaires.html b/prive/style_prive_formulaires.html
index 8b4c34a413beec62c0ba8acc1b0dc51fbe2ab080..826e6120a594a027e759ce39d46066f2e0f58c21 100644
--- a/prive/style_prive_formulaires.html
+++ b/prive/style_prive_formulaires.html
@@ -578,4 +578,9 @@ input[type="submit"] {
 .formulaire_editer_logo {}
 .formulaire_editer_logo .titrem {font-size: 1.1em;}
 .formulaire_editer_logo .apercu,.formulaire_editer_logo .ajouter_survol {text-align: center;}
-.formulaire_editer_logo .taille {font-size: 0.9em;}
\ No newline at end of file
+.formulaire_editer_logo .taille {font-size: 0.9em;}
+
+.formulaire_configurer_multilinguisme #langues_bloquees li,
+.formulaire_configurer_multilinguisme #langues_proposees li { padding:0 5px;margin-#GET{right}:10px;float:#GET{left};width:45%;clear:none;}
+.formulaire_configurer_multilinguisme .traduite label {text-decoration:underline;}
+.formulaire_configurer_multilinguisme #langues_bloquees label {color: #GET{foncee};font-weight: bold; }