Vous êtes ici Codes PHP et MySQL > Navigateurs > Détecte le langage d'un navigateur

 

Détecte le langage d'un navigateur

Ces 2 fonctions détecte le langage d'un navigateur, trés pratique pour ceux qui veulent faire des site en multilangues. Une fois le langage identifié vous pourrez faire des redirections vers les langues appropriées sur vos sites.. Voila voila :)
 
martin003
Code vu 3248 fois
Enregistré le 17 Déc 2008
  • Digg ce code sur digg.com
  • Bookmark ce code sur del.icio.us
  • Bookmark ce code sur Google
  • Bookmark ce code sur Yahoo
  • Ajoute Détecte le langage d'un navigateur
  • Partage ce code sur Facebook
 
 
 
 

Code Source


01.
02.
03.
04.
05.
06.
07.
08.
09.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
 
<?php
/******************************************************************************/
/*                                                                            */
/*                       __        ____                                       */
/*                 ___  / /  ___  / __/__  __ _____________ ___               */
/*                / _ \/ _ \/ _ \_\ \/ _ \/ // / __/ __/ -_|_-<               */
/*               / .__/_//_/ .__/___/\___/\_,_/_/  \__/\__/___/               */
/*              /_/       /_/                                                 */
/*                                                                            */
/*                                                                            */
/******************************************************************************/
/*                                                                            */
/* Titre          : Détecte le langage d'un navigateur                        */
/*                                                                            */
/* URL            : http://www.phpsources.org/scripts477-PHP.htm              */
/* Auteur         : martin003                                                 */
/* Date édition   : 17 Déc 2008                                               */
/*                                                                            */
/******************************************************************************/


function get_env_var($Var)
{
     if(empty($GLOBALS[$Var]))
     {
         $GLOBALS[$Var]=(!empty($GLOBALS['_SERVER'][$Var]))?
         $GLOBALS['_SERVER'][$Var] : (!empty($GLOBALS['HTTP_SERVER_VARS'][$Var])
) ? $GLOBALS['HTTP_SERVER_VARS'][$Var]:'';
     }
}

function detect_lang()
{
     // Detecte HTTP_ACCEPT_LANGUAGE & HTTP_USER_AGENT.
     get_env_var('HTTP_ACCEPT_LANGUAGE');
     get_env_var('HTTP_USER_AGENT');

     $_AL=strtolower($GLOBALS['HTTP_ACCEPT_LANGUAGE']);
     $_UA=strtolower($GLOBALS['HTTP_USER_AGENT']);
  
     // essaye de detecter les langage
     foreach($GLOBALS['_LANG'] as $K) {
         if(strpos($_AL$K)===0)
         return $K;
     }
  
     // reesaye si c'et pas encore fait
     foreach($GLOBALS['_LANG'] as $K) {
         if(strpos($_AL$K)!==false)
         return $K;
     }
     foreach($GLOBALS['_LANG'] as $K) {
     if(preg_match("//[[( ]{$K}[;,_-)]//",$_UA))
     return $K;
     }

     // retourne la langage pas defaut en cas d'echec
     return $GLOBALS['_DLANG'];
}

// Define le langage par defaut
$GLOBALS['_DLANG']='fr';

// definie tout les langages

$GLOBALS['_LANG'] = array(
'af'// afrikaans.
'ar'// arabic.
'bg'// bulgarian.
'ca'// catalan.
'cs'// czech.
'da'// danish.
'de'// german.
'el'// greek.
'en'// english.
'es'// spanish.
'et'// estonian.
'fi'// finnish.
'fr'// french.
'gl'// galician.
'he'// hebrew.
'hi'// hindi.
'hr'// croatian.
'hu'// hungarian.
'id'// indonesian.
'it'// italian.
'ja'// japanese.
'ko'// korean.
'ka'// georgian.
'lt'// lithuanian.
'lv'// latvian.
'ms'// malay.
'nl'// dutch.
'no'// norwegian.
'pl'// polish.
'pt'// portuguese.
'ro'// romanian.
'ru'// russian.
'sk'// slovak.
'sl'// slovenian.
'sq'// albanian.
'sr'// serbian.
'sv'// swedish.
'th'// thai.
'tr'// turkish.
'uk'// ukrainian.
'zh' // chinese.
);

// fait la redirection

//header('location: http://www.your_site.com/index_'.detect_lang().'.php'); //
// exemple
echo 'la langage est: '.detect_lang(); // exemple

?>


 

Fonctions du code

: Détermine si une variable contient une valeur non nulle - (PHP 4, PHP 5)
: Renvoie une chaîne en minuscules - (PHP 4, PHP 5)
: Trouve la position d'un caractère dans une chaîne - (PHP 4, PHP 5)
: Expression rationnelle standard - (PHP 4, PHP 5)
: Crée un tableau - (PHP 4, PHP 5)
: Affiche une chaîne de caractères - (PHP 4, PHP 5)
Commentaires
Bonjour,

Il y a une erreur ligne 44 :




Code:
if(strpos($_AL, $K)===)


 
Merchi merchi c'est corrigé :P




Code:
if(strpos($_AL, $K)===false)
 
Ajouter un commentaire
Code de sécurité

Attention: Les champs marqués d'une étoile * sont obligatoires
 
Librairie PHP

Connexion

 
 

Navigateurs

 
 

PHP

 
 
 
 
    Offres d'emploi

Plus de 500 offres d'emploi PHP/MySQL

Offres d'emploi
 
    Editeur PHP
 
        Publicité