Il s’agit d’afficher #MENU_LANG mais :
- une langue à côté de l’autre
- sans URL pour la langue dans laquelle on navigue
Installation
Configuration site
Vous avez dans un premier temps configuré, dans la partie privée de SPIP (configuration : gestion des langues > multilinguisme), toutes les langues dans lesquelles sera traduit votre site, en cochant / décochant celles-ci dans la longue liste.
Préparation de « mes_fonctions.php »
Si vous n’avez pas encore créé le fichier mes_fonctions.php
, créez un fichier et nommez-le mes_fonctions.php
dans votre répertoire /squelettes
. Collez le code suivant dans un premier temps, en veillant bien à ne pas avoir de caractères (espaces, retour de chariot…) ni avant, ni après :
<?php
?>
Puis, entre les deux balises ci-dessus, copiez/collez dans ce fichier la fonction qui suit (fonction mise à jour le 22/05/08) :
Pour afficher les langues en deux lettres (EN - FR) :
// menu_lang plat sans URL sur la langue sélectionnée
function url_lang ($langues) {
include_spip('inc/charsets');
$texte = '';
$tab_langues = explode(',', $GLOBALS['meta']['langues_multilingue']);
while ( list($clef, $valeur) = each($tab_langues) )
if ($valeur == $GLOBALS['spip_lang']) {
$texte .= '<span class="languencours">'.$valeur.'</span> ';
}
else { $GLOBALS['delais'] = 0;
$texte .= '<a href="'.parametre_url(generer_url_action('cookie'), 'url', parametre_url(self(true), '&'), '&').'&amp;var_lang='.$valeur.'" alt="'.traduire_nom_langue($valeur).'">'.$valeur.' </a>';
}
return $texte;
}
//fin
Pour afficher les langues en entier (English - Français) :
// menu_lang plat sans URL sur la langue sélectionnée
function url_lang ($langues) {
include_spip('inc/charsets');
$texte = '';
$tab_langues = explode(',', $GLOBALS['meta']['langues_multilingue']);
while ( list($clef, $valeur) = each($tab_langues) )
if ($valeur == $GLOBALS['spip_lang']) {
$texte .= '<span class="languencours">'.traduire_nom_langue($valeur).'</span> ';
}
else { $GLOBALS['delais'] = 0;
$texte .= '<a href="'.parametre_url(generer_url_action('cookie'), 'url', parametre_url(self(true), '&'), '&').'&amp;var_lang='.$valeur.'" alt="'.traduire_nom_langue($valeur).'">'.traduire_nom_langue($valeur).' </a>';
}
return $texte;
}
//fin
Utilisation
Squelettes
Dans vos squelettes, appelez le menu avec la balise #CONFIG{langues_utilisees}
suivie du filtre url_lang :
[<div class="menu_langues">(#CONFIG{langues_utilisees}|url_lang)</div>]
Feuilles de styles
Dans vos CSS, vous pouvez personnaliser la balise avec la classe « .menu_langues » et « .languencours »
Exemple
Exemple de résultat visible ici.
Aucune discussion
Ajouter un commentaire
Avant de faire part d’un problème sur un plugin X, merci de lire ce qui suit :
Merci d’avance pour les personnes qui vous aideront !
Par ailleurs, n’oubliez pas que les contributeurs et contributrices ont une vie en dehors de SPIP.
Suivre les commentaires : |