diff --git a/.gitattributes b/.gitattributes
index a765f461117cb982a1b31f466068431d32181de4..bddc198ae00d5061c5eb3118c016aaf244e8a158 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/langue.php -text
 ecrire/configuration/locuteur.php -text
 ecrire/configuration/logos.php -text
 ecrire/configuration/messagerie_agenda.php -text
@@ -97,7 +96,6 @@ ecrire/configuration/referenceur.php -text
 ecrire/configuration/relayeur.php -text
 ecrire/configuration/rubriques.php -text
 ecrire/configuration/syndications.php -text
-ecrire/configuration/transcodeur.php -text
 ecrire/configuration/visiteurs.php -text
 ecrire/core.xml -text
 ecrire/exec/403.php -text
@@ -121,7 +119,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_lang.php -text
 ecrire/exec/config_multilang.php -text
 ecrire/exec/configuration.php -text
 ecrire/exec/configurer_contenu.php -text
@@ -750,6 +747,7 @@ prive/squelettes/top/dist.html -text
 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_preferences.html -text
 prive/stats/echelle.html -text
 prive/style_prive.html -text
diff --git a/ecrire/configuration/langue.php b/ecrire/configuration/langue.php
deleted file mode 100644
index d60ada60145202785fac5ba7b3ffd2a9cb73c9e4..0000000000000000000000000000000000000000
--- a/ecrire/configuration/langue.php
+++ /dev/null
@@ -1,50 +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;
-
-//
-// Configuration i18n
-//
-
-include_spip('inc/presentation');
-
-function configuration_langue_dist()
-{
- $l_site = $GLOBALS['meta']['langue_site'];
- $langue_site = traduire_nom_langue($l_site);
-
- $res = "<option value='$l_site' selected='selected'>$langue_site</option>\n";
- 
- foreach (explode(",",$GLOBALS['meta']['langues_proposees']) as $l) {
-	if ($l <> $l_site)
-		$res .= "<option value='$l'>".traduire_nom_langue($l)."</option>\n";
- }
-
- $res = ajax_action_post('configuration',
-			 'langue',
-			 'config_lang', '#configurer-langue',
-			 "<label for='changer_langue_site'>" .
-			 _T('info_langue_principale') .
-			 "</label>" .
-			 " : <select name='changer_langue_site' id='changer_langue_site' class='fondl'>\n$res</select>\n",
-			 '',
-			 " class='fondo'");
-
- $res =  debut_cadre_couleur("langue-24.png", true, "", _T('info_langue_principale') . "&nbsp;:&nbsp;" . $langue_site) .
-	   _T('texte_selection_langue_principale') .
-	  $res .
-	   fin_cadre_couleur(true);
-
- return ajax_action_greffe("configurer-langue", '', $res);
-}
-?>
diff --git a/ecrire/configuration/transcodeur.php b/ecrire/configuration/transcodeur.php
deleted file mode 100644
index 0860ac9877d54fe380ffc89a194d01c1b0c220de..0000000000000000000000000000000000000000
--- a/ecrire/configuration/transcodeur.php
+++ /dev/null
@@ -1,55 +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');
-
-function configuration_transcodeur_dist()
-{
-	$charset = $GLOBALS['meta']["charset"];
-
-	$res =  _T('texte_jeu_caractere') .
-	  "<blockquote class='spip'>\n<p>"
-	  . _T('texte_jeu_caractere_3') .
-	  "</p>\n<div style='text-align: center'><b><tt>"
-	  .entites_html($charset)
-	  ."</tt></b></div><p>" 
-	  ."<label for='charset'>" 
-	  ._T('texte_jeu_caractere_4') 
-	  ."</label>"
-	  ." &nbsp; <input type='text' name='charset' id='charset'
-			value=\"".entites_html($charset)."\" />" .
-	  "<br />\n(".
-	  _T('texte_jeu_caractere_2').")" .
-		"</p></blockquote>\n";
-
-	// faudrait dire si le charset est inconnu
-	// ca eviterait l'erreur sur array_flip dans inc/charsets
-	if ($charset != 'utf-8' AND load_charset($charset))
-		$res .= _T('texte_jeu_caractere_conversion',
-			array('url' => generer_url_ecrire('convert_utf8'))
-		);
-
-	$res = ajax_action_post('configuration',
-				'transcodeur',
-				'config_lang',
-				'#configurer-transcodeur',
-				$res);
-
-	$res = debut_cadre_relief("breve-24.png", true, "", _T('info_jeu_caractere')) .
-	  $res .
-	  fin_cadre_relief(true);
-
-	return ajax_action_greffe("configurer-transcodeur", '', $res);
-}
-?>
diff --git a/ecrire/core.xml b/ecrire/core.xml
index b43f00172b050611bd0750d94b044452bfdd3ad0..0b11997f96e6384711f17b8b68d7c929205c1c52 100644
--- a/ecrire/core.xml
+++ b/ecrire/core.xml
@@ -102,7 +102,7 @@
 		<titre>titre_identite_site</titre>		
 		<url>configurer_identite</url>
 	</bouton>
-	<bouton id='config_lang' parent="bando_configuration">
+	<bouton id='configurer_langue' parent="bando_configuration">
 		<icone>images/langue-16.png</icone>
 		<titre>icone_gestion_langues</titre>		
 	</bouton>
@@ -203,6 +203,14 @@
 		<url>charger_plugin</url>
 	</onglet>
 
+	<onglet id='configurer_langue' parent="config_lang">
+		<icone>images/langue-24.png</icone>
+		<titre>info_langue_principale</titre>
+	</onglet>
+	<onglet id='config_multilang' parent="config_lang">
+		<icone>images/traduction-24.png</icone>
+		<titre>info_multilinguisme</titre>
+	</onglet>
 
 
 	<pipeline><nom>accueil_encours</nom><action></action></pipeline>
diff --git a/ecrire/exec/config_lang.php b/ecrire/exec/config_lang.php
deleted file mode 100644
index ca901c98cd940dc483af8ca778ad5c0be9dc1399..0000000000000000000000000000000000000000
--- a/ecrire/exec/config_lang.php
+++ /dev/null
@@ -1,50 +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');
-
-// http://doc.spip.org/@exec_config_lang_dist
-function exec_config_lang_dist()
-{ 
-
-	if (!autoriser('configurer', 'lang')) {
-		include_spip('inc/minipres');
-		echo minipres();
-	} else {
-
-	$config = charger_fonction('config', 'inc');
-	$config();
-
-	pipeline('exec_init',array('args'=>array('exec'=>'config_lang'),'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", "langues");
-
-	echo debut_gauche('', true);
-
-	echo debut_droite('', true);
-
- 
-	$langue = charger_fonction('langue', 'configuration');
-	echo $langue();
-
-	$transcodeur = charger_fonction('transcodeur', 'configuration');
-	echo $transcodeur();
-
-	echo fin_gauche(), fin_page();
-	}
-}
-?>
diff --git a/ecrire/inc/boutons.php b/ecrire/inc/boutons.php
index 025a0a7c81d619d7e65498856142d888d9391f9a..0787facfa48bcb3f389e58a59fa278238e11d8c3 100644
--- a/ecrire/inc/boutons.php
+++ b/ecrire/inc/boutons.php
@@ -56,21 +56,6 @@ function barre_onglets_configuration() {
 	return $onglets;
 }
 
-
-// http://doc.spip.org/@barre_onglets_config_lang
-function barre_onglets_config_lang() {
-
-	$onglets=array();
-	$onglets['langues']=
-		  new Bouton('langue-24.png', 'info_langue_principale',
-			generer_url_ecrire("config_lang"));
-	$onglets['multi']=
-		  new Bouton('traduction-24.png', 'info_multilinguisme',
-			generer_url_ecrire("config_multilang"));
-	return $onglets;
-}
-
-
 function barre_onglets_plugins() {
 
 	$onglets=array();
diff --git a/prive/squelettes/top/page-configurer_langue.html b/prive/squelettes/top/page-configurer_langue.html
new file mode 100644
index 0000000000000000000000000000000000000000..d289027a41c8cfc9178e4da6ca0f7b20667c3d0a
--- /dev/null
+++ b/prive/squelettes/top/page-configurer_langue.html
@@ -0,0 +1,9 @@
+[(#REM)
+
+  Squelette
+  (c) 2009 xxx
+  Distribue sous licence GPL
+
+]
+<h1><:info_langues:></h1>
+[(#VAL{config_lang}|barre_onglets{configurer_langue})]