diff --git a/ecrire/exec_config_lang.php b/ecrire/exec_config_lang.php
index c9b9821f0ffa827901ee525e9b462aa8d97b634c..1b60f2ff4568d7ba177ba7a3fd0176627ab99e42 100644
--- a/ecrire/exec_config_lang.php
+++ b/ecrire/exec_config_lang.php
@@ -93,25 +93,18 @@ $charset = $GLOBALS['meta']["charset"];
 
 
 	echo _T('texte_jeu_caractere')."<p>";
-	echo "<blockquote class='spip'><p>"._T('texte_jeu_caractere_2')."</p></blockquote>";
-
-
-	echo bouton_radio('charset', 'utf-8',
-		_T('bouton_radio_universel'), $charset == 'utf-8');
-	echo "<br>";
-
-	echo bouton_radio('charset', 'iso-8859-1',
-		_T('bouton_radio_occidental'), $charset == 'iso-8859-1');
-	echo "<br>";
-	echo bouton_radio('charset', 'custom',
-		_T('bouton_radio_personnalise'), $charset != 'utf-8' && $charset != 'iso-8859-1');
-	echo "<br>";
-	if ($charset != 'utf-8' && $charset != 'iso-8859-1') {
-		echo "&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;"._T('info_entrer_code_alphabet')."&nbsp;";
-		echo "<input type='text' name='charset_custom' class='fondl' value='$charset' size='15'>";
-	}
-	else
-		echo "<input type='hidden' name='charset_custom' value=''>";
+	echo "<blockquote class='spip'><p>"._T('texte_jeu_caractere_3'),
+		"</p><div align='center'><b><tt>".entites_html($charset)."</tt></b></div><p>",
+		_T('texte_jeu_caractere_4'),
+		" &nbsp; <input type='text' name='charset'
+			value=\"".entites_html($charset)."\" />",
+		"<br />("._T('texte_jeu_caractere_2').")",
+		"</p></blockquote>";
+
+	if ($charset != 'utf-8' AND load_charset($charset))
+		echo _T('texte_jeu_caractere_conversion',
+			array('url' => generer_url_ecrire('convert_utf8'))
+		);
 
 	echo "<div style='text-align: $spip_lang_right;'><INPUT TYPE='submit' NAME='Valider' VALUE='"._T('bouton_valider')."' CLASS='fondo'></div>";
 
@@ -121,17 +114,6 @@ $charset = $GLOBALS['meta']["charset"];
 
 echo "</form>";
 
-
-	if ($charset != 'utf-8'
-	AND load_charset($charset)) {
-
-		echo generer_url_post_ecrire('convert_utf8');
-		echo "\n<div align='center'><input class='fondo' type='submit' VALUE='". _L("Convertir votre site en utf-8") ."'></div></form>";
-		echo "<br>";
-	}
-
-
-
 fin_page();
 }
 ?>
diff --git a/ecrire/exec_convert_utf8.php b/ecrire/exec_convert_utf8.php
index fc0d39bce2b14f5fc0683aa51aa430089a3d5a1f..17db847225536a79c97570e9d89b1335823377ea 100644
--- a/ecrire/exec_convert_utf8.php
+++ b/ecrire/exec_convert_utf8.php
@@ -23,18 +23,24 @@ function demander_conversion($tables_a_convertir, $action) {
 
 	// tester si le charset d'origine est connu de spip
 	if (!load_charset($charset_orig))
-		$message = _L("Erreur : le jeu de caract&egrave;res ".("<b>".$charset_orig."</b>")." n'est pas support&eacute;.");
+		$message = _T('utf8_convert_erreur_orig', array('charset' => "<b>".$charset_orig."</b>"));
 
 	// ne pas convertir si deja utf8
 	else if ($charset_orig == 'utf-8')
-		$message = 'Votre site est d&eacute;j&agrave; en utf-8, inutile de le convertir...';
+		$message = _T('utf8_convert_erreur_deja',
+			array('charset' => $charset_orig)
+		);
 
 	else {
-		$commentaire = _L("Vous vous appr&ecirc;tez &agrave; convertir le contenu de votre base de donn&eacute;es (articles, br&egrave;ves, etc) du jeu de caract&egrave;res ".("<b>".$GLOBALS['meta']['charset']."</b>")." vers le jeu de caract&egrave;res universel <b>utf-8</b>.");
+		$commentaire = _T('utf8_convert_avertissement',
+			array('orig' => $charset_orig,
+				'charset' => 'utf-8')
+		);
 		$commentaire .=  "<p><small>"
 		. http_img_pack('warning.gif', _T('info_avertissement'), "width='48' height='48' align='right'");
-		$commentaire .= _L("N'oubliez pas de faire auparavant une sauvegarde compl&egrave;te de votre site. Vous devrez aussi v&eacute;rifier que vos squelettes et fichiers de langue sont compatibles utf-8. D'autre part le suivi des r&eacute;visions, s'il est activ&eacute;, sera endommag&eacute;.</small>");
-		$commentaire .= _L("<p><b>Important&nbsp;:</b> en cas de timeout, veuillez recharger la page jusqu'&agrave; ce qu'elle indique 'termin&eacute;'.");
+		$commentaire .= _T('utf8_convert_backup', array('charset' => 'utf-8'))
+		."</small>";
+		$commentaire .= '<p>'._T('utf8_convert_timeout');
 		$commentaire .= "<hr />\n";
 
 		debut_admin(generer_url_post_ecrire("convert_utf8"),
@@ -46,7 +52,6 @@ function demander_conversion($tables_a_convertir, $action) {
 		ecrire_metas();
 		foreach ($tables_a_convertir as $table => $champ) {
 			spip_log("demande update charset table $table ($champ)");
-			#echo _L("demande update charset table $table ($champ)<br>\n");
 			spip_query("UPDATE $table
 			SET $champ = CONCAT('<CONVERT ".$charset_orig.">', $champ)
 			WHERE $champ NOT LIKE '<CONVERT %'");
@@ -90,7 +95,7 @@ function convert_utf8_dist() {
 	);
 
 	// Definir le titre de la page (et le nom du fichier admin)
-	$action = _L('Conversion utf-8');
+	$action = _T('utf8_convertir_votre_site');
 
 	// si l'appel est explicite, passer par l'authentification ftp
 	if (!$GLOBALS['meta']['conversion_charset']) {
@@ -114,7 +119,7 @@ function convert_utf8_dist() {
 	install_debut_html($action);
 
 	if (!spip_get_lock('conversion_charset'))
-		die(_L('Attendez quelques instants et rechargez cette page.'));
+		die(_T('utf8_convert_attendez'));
 
 	// preparer un fichier de sauvegarde au cas ou
 	// on met 'a' car ca peut demander plusieurs rechargements
@@ -170,8 +175,8 @@ function convert_utf8_dist() {
 
 	if ($f) fclose($f);
 
-	echo _L("<p><b>C'est termin&eacute;&nbsp;!</b>");
-	echo _L("<p>Vous devez maintenant aller vider le cache, et v&eacute;rifier que tout se passe bien sur les pages publiques du site. En cas de gros probl&egrave;me, une sauvegarde au format SQL a &eacute;t&eacute; r&eacute;alis&eacute;e dans le r&eacute;pertoire "._DIR_SESSIONS);
+	echo "<p><b>"._T('utf8_convert_termine')."</b>";
+	echo "<p> "._T('utf8_convert_verifier', array('rep' => _DIR_SESSIONS));
 	effacer_meta('conversion_charset');
 	ecrire_metas();