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 :
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);
}
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
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);
}