Bonjour
J'ai repris un site bilingue (Français et Anglais) et je doit rajouter l'allemand comme 3ème langue. Aidez moi à modifier le code PHP de gestion de langues. Merci
Voici le code PHP de départ avec les 2 langues :
Voici le code PHP avec la 3ème langue et là ça bug :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
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 <?php /* Gestion de langue Front End -------------------------------------------------------------------------- */ $Lang_List=array("fr","en"); // Règles if (isset($_GET['l'])&&(@in_array($_GET['l'],$Lang_List))) { define('LG', $_GET['l']); } elseif (isset($_SESSION["userLg"])) { define('LG', $_SESSION["userLg"]); } elseif (!defined('LG')) { define('LG', "fr"); } else { $Accept_Lang=explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']); reset($Accept_Lang); while (list($Index, $Language)=@each($Accept_Lang)) { if (eregi("^(.+);q=([0-9.]*)$", $Language, $Part)) { $Accept_Lang[$Index]=$Part[2].';'.strtolower($Part[1]); } else { $Accept_Lang[$Index]='1.0;'.strtolower($Accept_Lang[$Index]); } } //tri par ordre de préférence arsort($Accept_Lang); reset($Accept_Lang); while (list(,$ALang)=@each($Accept_Lang)) { reset($Lang_List); while (list(,$Language)=@each($Lang_List)) { if (strpos($ALang,$Language)!=0) { define('LG', $Language); break 2; } } } unset($Accept_Lang, $ALang, $Language); } $_SESSION["userLg"]=LG; /* GET control ------------------------------------------------------------------------- */ function getControl($getter) { return htmlentities(stripslashes($getter), ENT_QUOTES, 'UTF-8'); } /* GET link ------------------------------------------------------------------------- */ function getLink($url) { return PATH.'/'.getControl(LG).'/'.$url; } /* GET title ------------------------------------------------------------------------- */ function getTitle($fr, $en) { switch(LG) { case 'fr' : return $fr; break; case 'en' : return $en; break; } } /*------------------------------------------------------------------------*/ function getCurrent($url) { return substr(strrchr($url, '/'), 0); }
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
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 <?php /* Gestion de langue Front End -------------------------------------------------------------------------- */ $Lang_List=array("fr","en", "de"); // Règles if (isset($_GET['l'])&&(@in_array($_GET['l'],$Lang_List))) { define('LG', $_GET['l']); } elseif (isset($_SESSION["userLg"])) { define('LG', $_SESSION["userLg"]); } elseif (!defined('LG')) { define('LG', "fr"); } else { $Accept_Lang=explode(",",$_SERVER['HTTP_ACCEPT_LANGUAGE']); reset($Accept_Lang); while (list($Index, $Language)=@each($Accept_Lang)) { if (eregi("^(.+);q=([0-9.]*)$", $Language, $Part)) { $Accept_Lang[$Index]=$Part[2].';'.strtolower($Part[1]); } else { $Accept_Lang[$Index]='1.0;'.strtolower($Accept_Lang[$Index]); } } //tri par ordre de préférence arsort($Accept_Lang); reset($Accept_Lang); while (list(,$ALang)=@each($Accept_Lang)) { reset($Lang_List); while (list(,$Language)=@each($Lang_List)) { if (strpos($ALang,$Language)!=0) { define('LG', $Language); break 2; } } } unset($Accept_Lang, $ALang, $Language); } $_SESSION["userLg"]=LG; /* GET control ------------------------------------------------------------------------- */ function getControl($getter) { return htmlentities(stripslashes($getter), ENT_QUOTES, 'UTF-8'); } /* GET link ------------------------------------------------------------------------- */ function getLink($url) { return PATH.'/'.getControl(LG).'/'.$url; } /* GET title ------------------------------------------------------------------------- */ function getTitle($fr, $en, $de) { switch(LG) { case 'fr' : return $fr; break; case 'en' : return $en; break; case 'de' : return $de; break; } } /*------------------------------------------------------------------------*/ function getCurrent($url) { return substr(strrchr($url, '/'), 0); }
Partager