talen-script
Code (php)
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
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
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
<?php
error_reporting(E_ALL);
session_start();
$langmap = 'lang'; //de map waar je de bestanden in hebt staan voor de talen (zet hier géén '/' neer aan het eind
$ext = '.inc.php'; //extensie voor de language files
$geentaal1 = 'The language file couldn\'t be found, please wait a moment'; // error voor als het taalbestand niet gevonden kon worden
$geentaal2 = 'The main language file couldn\'t be found, please contact the webmaster at: [email protected]'; //error voor als het taal bestand niet gevonden kon worden na retry
$nietbesttaal = '<b>Error!</b> Dit is een niet bestaande taal.'; //error bij het selecteren van een niet bestaande taal
/*
met dit script kun je versschillende talen op je website neerzetten. Dit script werkt met sessies.
hierboven staan een paar variabelen die je aan moet passen, zodat het script goed werkt ;-)
Succes ermee!
Php newbie
www.phphulp.nl
*/
$browlang = $_SERVER['HTTP_ACCEPT_LANGUAGE']; //browserinfo ophalen
$browlang = explode(",", $browlang); //browserinfo splitsen
$browlang = strtolower(array_shift($browlang)); //kleine letters maken
if (isset ($_SESSION['lang'])) //als sessie is geset, dan is $lang de sessie taal
{
$lang = $_SESSION['lang'];
}
elseif ($browlang[0] == 'nl') //als sessie niet is gezet en browsertaal is 'nl', dan is $lang 'nl'
{
$lang = 'nl';
}
else //als de browsertaal niet 'nl' is en de sessie is niet geset, dan is de browsertaal 'en'
{
$lang = 'en';
}
$langfile = $langmap.'/'.$lang.$ext;//variabele maken van de taal url
if (file_exists($langfile)) //als de langfile bestaan
{
include ($langmap.'/'.$lang.$ext); // de goede taal file includen
}
else
{
if(isset($i)) //de $i info ophalen, zodat de pagina niet steeds gerefreshed wordt als de engelse file niet bestaat
{
$_SESSION['lang'] = 'en'; //sessiontaal veranderen naar engels
echo '<meta http-equiv="refresh" content="0;">'; //een meta-refresh neerzetten zodat de taal wordt toegepast
echo $geentaal1; //en eventjes een errortje geven
$i = 1; //even een $i aanmaken
}
else
{
echo $geentaal2; //error geven
exit; //stoppen met de pagina
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Pagina</title>
</head>
<body>
<a href='?lang=nl'>Nederlands</a>
<br />
<a href='?lang=en'>English</a>
<br />
<br />
<?php
if (isset ($_GET['lang']))
{
switch ($_GET['lang']): //switch maken op de $_GET['lang']
case 'nl': //als de $_GET['lang'] nederlands is:
$_SESSION['lang'] = 'nl'; //sessiontaal veranderen naar nederlands
$prev = $_SESSION['vorigepagina']; //vorige pagina in een variabele zetten
echo '<meta http-equiv="refresh" content="0;url='.$prev.'">'; //een meta-refresh neerzetten naar de vorige pagina
echo '<br><br><br><div align="center">Taal wordt aangepast naar Nederlands</div>'; //en eventjes melden wat we aan het doen zijn.
break; //pauzeer het script, zodat niet alles door wordt geschreven
case 'en': //als de $_GET['lang'] engels is is:
$_SESSION['lang'] = 'en'; //sessiontaal veranderen naar engels
$prev = $_SESSION['vorigepagina']; //vorige pagina in een variabele zetten
echo '<meta http-equiv="refresh" content="0;url='.$prev.'">'; //een meta-refresh neerzetten naar de vorige pagina
echo '<br><br><br><div align="center">Changing language to English</div>'; //en eventjes melden wat we aan het doen zijn
break; //pauzeer het script zodat niet alles wordt doorgeschreven
default: //als de $_GET['lang'] niet nl/en is
print $nietbesttaal; //even een errortje geven zodat mensen weten dat er ergens een fout zit
break; //pauzeer het script zodat niet alles wordt doorgeschreven
endswitch; //einde van het script
}
else //als er geen $_GET['lang'] bestaat
{
//weergeef hier de pagina.
}
?>
</body>
</html>
<?php
$_SESSION['vorigepagina'] = $_SERVER['PHP_SELF'];
?>
error_reporting(E_ALL);
session_start();
$langmap = 'lang'; //de map waar je de bestanden in hebt staan voor de talen (zet hier géén '/' neer aan het eind
$ext = '.inc.php'; //extensie voor de language files
$geentaal1 = 'The language file couldn\'t be found, please wait a moment'; // error voor als het taalbestand niet gevonden kon worden
$geentaal2 = 'The main language file couldn\'t be found, please contact the webmaster at: [email protected]'; //error voor als het taal bestand niet gevonden kon worden na retry
$nietbesttaal = '<b>Error!</b> Dit is een niet bestaande taal.'; //error bij het selecteren van een niet bestaande taal
/*
met dit script kun je versschillende talen op je website neerzetten. Dit script werkt met sessies.
hierboven staan een paar variabelen die je aan moet passen, zodat het script goed werkt ;-)
Succes ermee!
Php newbie
www.phphulp.nl
*/
$browlang = $_SERVER['HTTP_ACCEPT_LANGUAGE']; //browserinfo ophalen
$browlang = explode(",", $browlang); //browserinfo splitsen
$browlang = strtolower(array_shift($browlang)); //kleine letters maken
if (isset ($_SESSION['lang'])) //als sessie is geset, dan is $lang de sessie taal
{
$lang = $_SESSION['lang'];
}
elseif ($browlang[0] == 'nl') //als sessie niet is gezet en browsertaal is 'nl', dan is $lang 'nl'
{
$lang = 'nl';
}
else //als de browsertaal niet 'nl' is en de sessie is niet geset, dan is de browsertaal 'en'
{
$lang = 'en';
}
$langfile = $langmap.'/'.$lang.$ext;//variabele maken van de taal url
if (file_exists($langfile)) //als de langfile bestaan
{
include ($langmap.'/'.$lang.$ext); // de goede taal file includen
}
else
{
if(isset($i)) //de $i info ophalen, zodat de pagina niet steeds gerefreshed wordt als de engelse file niet bestaat
{
$_SESSION['lang'] = 'en'; //sessiontaal veranderen naar engels
echo '<meta http-equiv="refresh" content="0;">'; //een meta-refresh neerzetten zodat de taal wordt toegepast
echo $geentaal1; //en eventjes een errortje geven
$i = 1; //even een $i aanmaken
}
else
{
echo $geentaal2; //error geven
exit; //stoppen met de pagina
}
}
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>Pagina</title>
</head>
<body>
<a href='?lang=nl'>Nederlands</a>
<br />
<a href='?lang=en'>English</a>
<br />
<br />
<?php
if (isset ($_GET['lang']))
{
switch ($_GET['lang']): //switch maken op de $_GET['lang']
case 'nl': //als de $_GET['lang'] nederlands is:
$_SESSION['lang'] = 'nl'; //sessiontaal veranderen naar nederlands
$prev = $_SESSION['vorigepagina']; //vorige pagina in een variabele zetten
echo '<meta http-equiv="refresh" content="0;url='.$prev.'">'; //een meta-refresh neerzetten naar de vorige pagina
echo '<br><br><br><div align="center">Taal wordt aangepast naar Nederlands</div>'; //en eventjes melden wat we aan het doen zijn.
break; //pauzeer het script, zodat niet alles door wordt geschreven
case 'en': //als de $_GET['lang'] engels is is:
$_SESSION['lang'] = 'en'; //sessiontaal veranderen naar engels
$prev = $_SESSION['vorigepagina']; //vorige pagina in een variabele zetten
echo '<meta http-equiv="refresh" content="0;url='.$prev.'">'; //een meta-refresh neerzetten naar de vorige pagina
echo '<br><br><br><div align="center">Changing language to English</div>'; //en eventjes melden wat we aan het doen zijn
break; //pauzeer het script zodat niet alles wordt doorgeschreven
default: //als de $_GET['lang'] niet nl/en is
print $nietbesttaal; //even een errortje geven zodat mensen weten dat er ergens een fout zit
break; //pauzeer het script zodat niet alles wordt doorgeschreven
endswitch; //einde van het script
}
else //als er geen $_GET['lang'] bestaat
{
//weergeef hier de pagina.
}
?>
</body>
</html>
<?php
$_SESSION['vorigepagina'] = $_SERVER['PHP_SELF'];
?>