FluxBB.fr

Le site des utilisateurs francophones de FluxBB.

Vous n'êtes pas identifié(e).

#1 07-03-2012 19:06:40

cmoirness
Membre
Inscription : 07-03-2012
Messages : 3

Choix de la langue via des drapeaux

Bonjour a tous,

Besoin : Laisser la possibilité aux invités du forum mais également aux utilisateurs connectés de basculer dans une autre langue via des drapeaux

Ouvrir include/functions.php
Trouver dans la function check_cookie :

$pun_user['language'] = $pun_config['o_default_lang'];

Remplacer par :

// Changement de langue par cookies
if($_GET['lang']) {
        if (file_exists('lang/'.$_GET['lang'].'/common.php')) {
            setcookie('langue_defaut', $_GET['lang'], time()+3600);
            $langue_defaut = $_GET['lang'];
        } else {
            $langue_defaut = $pun_config['o_default_lang'];
        }
    } else {
        if(isset($_COOKIE['langue_defaut'])) {
            $langue_defaut = $_COOKIE['langue_defaut'];
        } else {
            $langue_defaut = $pun_config['o_default_lang'];
        }
    }
    $pun_user['language'] = $langue_defaut;
// Fin Changement de langue par cookies

Trouver dans la function set_default_user :

$pun_user['language'] = $pun_config['o_default_lang'];

Remplacer par :

// Changement de langue par cookies
if($_GET['lang']) {
        if (file_exists('lang/'.$_GET['lang'].'/common.php')) {
            setcookie('langue_defaut', $_GET['lang'], time()+3600);
            $langue_defaut = $_GET['lang'];
        } else {
            $langue_defaut = $pun_config['o_default_lang'];
        }
    } else {
        if(isset($_COOKIE['langue_defaut'])) {
            $langue_defaut = $_COOKIE['langue_defaut'];
        } else {
            $langue_defaut = $pun_config['o_default_lang'];
        }
    }
    $pun_user['language'] = $langue_defaut;
// Fin Changement de langue par cookies

Enfin ajouter ou vous le voulez les liens pour le choix de la langue par exemple dans /include/template/main.tpl :

<div id="langues">
<ul>
<li><a href="?lang=French"><img src="./img/flag_fr.png"></a></li>
<li><a href="?lang=English"><img src="./img/flag_en.png"></a></li>
</ul>
</div>

En espérant que cela puisse vous aider smile

Dernière modification par cmoirness (08-03-2012 12:38:44)

Hors ligne

#2 08-03-2012 13:40:09

cmoirness
Membre
Inscription : 07-03-2012
Messages : 3

Re : Choix de la langue via des drapeaux

Petite amélioration sur le code des drapeaux afin que le changement de langue se fasse également lorsque des variables sont déjà passés dans l'URL, par exemple pour la page profil et celle des forums ?id=XX

<div id="langues">
<ul>
<?php
$this_page = basename($_SERVER['REQUEST_URI']);
if (strpos($this_page, "?") !== false)
{
echo '<li><a href="'.$_SERVER['REQUEST_URI'].'&lang=French"><img src="./img/fr.png"/></a></li>';
echo '<li><a href="'.$_SERVER['REQUEST_URI'].'&lang=English"><img src="./img/en.png"/></a></li>';
}
else
{
echo '<li><a href="'.$_SERVER['REQUEST_URI'].'?lang=French"><img src="./img/fr.png"/></a></li>';
echo '<li><a href="'.$_SERVER['REQUEST_URI'].'?lang=English"><img src="./img/en.png"/></a></li>';
}
?>
</ul>
</div>

Dernière modification par cmoirness (08-03-2012 13:40:36)

Hors ligne

#3 08-03-2012 14:29:50

Wan
Membre
Inscription : 12-02-2010
Messages : 555
Site Web

Re : Choix de la langue via des drapeaux

Bonjour,
Ton ajout est curieux car les deux assertions if et else contiennent exactement la même chose...

Hors ligne

#4 08-03-2012 14:49:30

cmoirness
Membre
Inscription : 07-03-2012
Messages : 3

Re : Choix de la langue via des drapeaux

Alors en fait il y a une légère différence, je suis pas super bon en développement donc il y a peut etre une autre technique mais en gros si l'url contient une variable ?XX=YY alors je passe la variable de langue avec un &lang= et si l'URL ne contient pas de parametre alors je met un ?lang=

Hors ligne

#5 08-03-2012 15:25:21

Wan
Membre
Inscription : 12-02-2010
Messages : 555
Site Web

Re : Choix de la langue via des drapeaux

Exact, je n'avais pas assez bien regardé... DSL du dérangement.

Hors ligne

Pied de page des forums