website logo
Auteur
avatar
jpb

Forum » » Questions » » [Résolu] - Changer de langue en un seul clic


Posté : 21 mars 2015 à 17:13 icone du post

oui il y a des solutions le mieux est que tu utilise ceci ...




//==> multilangue
// choix de la langue sans redirection sur index, dispo que si la requete n'est pas post !
$req= $_SERVER['QUERY_STRING'];
$req1='';
$sep='';
$menlang='';
$user_language = $_COOKIE["user_language"];

if ($req != "")
{
  if (preg_match("#(choice_user_language=([^&]*&))#",$req,$res))
  {$req1= preg_replace("#(choice_user_language=([^&]*&))#","",$req);$sep="&";}
  if (preg_match("#(choice_user_language=([^&]*))#",$req,$res))
  {$req1= preg_replace("#(choice_user_language=([^&]*))#","",$req);$sep="";}
  else
  { $sep="&";$req1=$req;}
}

switch ($res[0])
{
    case "choice_user_language=french": $user_language ='french';
        break;
    case "choice_user_language=english": $user_language ='english';
        break;
    case "choice_user_language=chinese": $user_language ='chinese';
        break;
    default:
        $user_language;
        break;
}

switch ($user_language)
{
    case "french":
        $menlang ='<a href="'.$_SERVER['PHP_SELF'].'?choice_user_language=chinese'.$sep.$req1.'" title="&#x9009;&#x62E9;&#x8BED;&#x8A00;"><sub><font size="5" face="STFangsong">&#x4E2D;&#x6587;</font></sub></a>&nbsp;<a href="'.$_SERVER['PHP_SELF'].'?choice_user_language=english'.$sep.$req1.'" title="Choose your language">English</a>';
        break;
    case "english":
        $menlang ='<a href="'.$_SERVER['PHP_SELF'].'?choice_user_language=french'.$sep.$req1.'" title="Choisissez votre langue">Fran&#xE7;ais</a>&nbsp;<a href="'.$_SERVER['PHP_SELF'].'?choice_user_language=chinese'.$sep.$req1.'" title="&#x9009;&#x62E9;&#x8BED;&#x8A00;"><sub><font size="5" face="STFangsong">&#x4E2D;&#x6587;</font></sub></a>';
        break;
    case "chinese":
        $menlang ='<a href="'.$_SERVER['PHP_SELF'].'?choice_user_language=french'.$sep.$req1.'" title="Choisissez votre langue">Fran&#xE7;ais</a>&nbsp;<a href="'.$_SERVER['PHP_SELF'].'?choice_user_language=english'.$sep.$req1.'" title="Choose your language">English</a>';
        break;        
    default:
        $menlang ='';
        break;
}

if ($_SERVER['REQUEST_METHOD'] == "POST") $menlang ='';
//<== mutltilangue








moi j'utilise cela dans mon header html mais tu pourra l'adapter pour le mettre dans un bloc ...( en respectant bien sur le contexte spécifique de codage pour les blocs) ...
et l'adapter ce code à tes drapeaux ... et dans ton flux html tu écris la variable menlang

Cet article provient de NPDS
https://www.npds.org/viewtopic.php?topic=26285&forum=9