Valider 046cf40b rédigé par Fil's avatar Fil
Parcourir les fichiers

gestion des langues dans l'installation :

- un premier écran affiche le logo spip et demande de sélectionner la langue, avant même le spip_test_dirs
- la "langue principale du site" est réglée sur la langue d'installation
- quelques chaines de l'espace public sont passées en _L ou _T (à nettoyer)
- il faudra aussi passer les formulaires dans la langue du site...
parent d334ec70
Chargement en cours
Chargement en cours
Chargement en cours
Chargement en cours
+0 −5
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -45,11 +45,6 @@ if ($set_lang) {
		spip_setcookie('spip_lang', $set_lang, time() + 365 * 24 * 3600);
	}
}
if ($securite == 'normal' || $securite == 'strict') {
	$prefs['securite'] = $securite;
	$secu = 'oui';
	$prefs_mod = true;
}

if ($prefs_mod) {
	spip_query ("UPDATE spip_auteurs SET prefs = '".addslashes(serialize($prefs))."' WHERE id_auteur = $connect_id_auteur");
+5 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -14,6 +14,10 @@ include_ecrire ("inc_mail.php3");
// Appliquer les valeurs par defaut pour les options non initialisees
//
function init_config() {
	// langue par defaut du site = langue d'installation (cookie spip_lang) sinon francais
	if (! $lang = $GLOBALS['spip_lang'])
		$lang = 'fr';

	$liste_meta = array(
		'activer_breves' => 'oui',
		'config_precise_groupes' => 'non',
@@ -55,7 +59,7 @@ function init_config() {

		'creer_htpasswd' => 'non',
		
		'langue_site' => 'fr'
		'langue_site' => $lang
		
	);
	while (list($nom, $valeur) = each($liste_meta)) {
+35 −0
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -220,6 +220,41 @@ function traduire_nom_langue($lang) {
	return $r;
}

//
// Afficher un menu de selection de langue
//
function menu_langues() {
		$lien = $GLOBALS['clean_link'];
		$lien->delVar('set_lang');
		$lien = $lien->getUrl();
		$amp = (strpos($lien,'?') ? '&' : '?');

		$ret = "<form action='$lien' method='get' style='margin:0px; padding:0px;'>";
		$ret .= "\n<select name='set_lang' class='verdana1' style='background-color: $couleur_foncee; color: white;' onChange=\"document.location.href='". $lien . $amp."set_lang='+this.options[this.selectedIndex].value\">\n";
		$langues = explode(',', $GLOBALS['all_langs']);
		while (list(,$l) = each ($langues)) {
			if ($l == $GLOBALS['spip_lang']) $selected = " selected";
			else $selected = "";

			$ret .= "<option value='$l'$selected>".traduire_nom_langue($l)."</option>\n";
		}
		$ret .= "</select>\n";
		$ret .= "<noscript><INPUT TYPE='submit' NAME='Valider' VALUE='>>' class='verdana1' style='background-color: $couleur_foncee; color: white; height: 19px;'></noscript>";
		$ret .= "</form>";
		return $ret;
}

// menu dans l'espace public
function gerer_menu_langues() {
	global $set_lang;
	if ($set_lang) {
		if (changer_langue($set_lang)) {
			spip_setcookie('spip_lang', $set_lang, time() + 365 * 24 * 3600);

		}
	}
}

//
// Selection de langue haut niveau
//
+1 −16
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -1042,7 +1042,6 @@ function barre_onglets($rubrique, $onglet){
		onglet(_T('onglet_contenu_site'), "configuration.php3", "contenu", $onglet, "racine-site-24.gif");
		onglet(_T('onglet_interactivite'), "config-contenu.php3", "interactivite", $onglet, "forum-interne-24.gif");
		onglet(_T('onglet_fonctions_avances'), "config-fonctions.php3", "fonctions", $onglet, "image-24.gif");
		//onglet(_T('onglet_langue'), "config-lang.php3", "lang", $onglet, "langues-24.gif");
	}

	if ($rubrique == "suivi_forum"){
@@ -1567,21 +1566,7 @@ function debut_page($titre = "", $rubrique = "asuivre", $sous_rubrique = "asuivr
		echo "<td>   </td>";

		echo "<td align='center'>";
		$lien = $clean_link;
		$lien->addVar('changer_var', 'oui'); // Bidon, pour forcer point d'interrogation

		echo "<form action='".$lien->getUrl()."' method='get' style='margin:0px; padding:0px;'>";
		echo "\n<select name='set_lang' class='verdana1' style='background-color: $couleur_foncee; color: white;' onChange=\"document.location.href='". $lien->getUrl() ."&set_lang='+this.options[this.selectedIndex].value\">\n";
		$langues = explode(',', $GLOBALS['all_langs']);
		while (list(,$l) = each ($langues)) {
			if ($l == $GLOBALS['spip_lang']) $selected = " selected";
			else $selected = "";

			echo "<option value='$l'$selected>".traduire_nom_langue($l)."</option>\n";
		}
		echo "</select>\n";
		echo "<noscript><INPUT TYPE='submit' NAME='Valider' VALUE='>>' class='verdana1' style='background-color: $couleur_foncee; color: white; height: 19px;'></noscript>";
		echo "</form>";
		echo menu_langues();
		echo "</td>";

	}
+21 −1
Numéro de ligne d'origine Numéro de ligne de diff Ligne de diff
@@ -4,9 +4,12 @@ include ("inc_version.php3");

include_ecrire ("inc_presentation.php3");

gerer_menu_langues();

if (file_exists("inc_connect.php3")) {
	install_debut_html();
	echo "<P><FONT FACE='Verdana,Arial,Helvetica,sans-serif' SIZE=4>"._T('avis_espace_interdit')."</FONT>";

	install_fin_html();
	exit;
}
@@ -349,9 +352,26 @@ else if ($etape == 1) {
	install_fin_html();

}
else if (!$etape) {
else if ($etape == 'dirs') {
	header("Location: ../spip_test_dirs.php3");
}
else if (!$etape) {
	install_debut_html();

	echo "<p>&nbsp;</p><p align='center'><img src='AIDE/fr/logo-spip.gif'></p>";
	
	echo "<p>&nbsp;</p><p>" . _L("S&eacute;lectionnez une langue puis cliquez sur le bouton &laquo;&nbsp;suivant&nbsp;&raquo; pour lancer la proc&eacute;dure d'installation.");

	echo "<p><div align='center'>".menu_langues()."</div>";


	echo "<p><FORM ACTION='install.php3' METHOD='get'>";
	echo "<INPUT TYPE='hidden' NAME='etape' VALUE='dirs'>";
	echo "<DIV align='right'><INPUT TYPE='submit' CLASS='fondl' NAME='Valider' VALUE='"._T('bouton_suivant')." >>'>";
	echo "</FORM>";

	install_fin_html();
}


//
Chargement en cours