multilanguage
#class.multlang.php
#######################################################
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
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
<?php
################################################################################
# Class multiLang - Je kan hier mee meerdere talen op je site hebben #
# Made by DDragonz Version: 1.00 #
# Published under the General Public License #
################################################################################
class multiLang
{
// Hier worden de verschillende soorten talen ingesteld in een array.
// Bijvoorbeeld $array = array("nl", "en", "fr" ...);:
var $confLang;
// Hierin word de standaard taal ingesteld:
var $defaultLang;
################################################################################
################################################################################
/* |VERPLICHT|
== Set de talen die beschikbaar zijn ==
Met deze functie stel je de talen in die je op je site wilt zien. In de
constructer(multiLang)) moet een var ingestelt worden die de talen bevat:
bijvoorbeeld $array = array("nl", "en", "fr" ...);
*/
function multiLang($array)
{
$this->confLang = $array;
}
/* |VERPLICHT|
== Set de standaard taal van de site in ==
Met deze functie moet je de standaard taal instellen van de site. In SetDefault
moet een var ingesteld worden die het standaard taal is: bv $default = "nl";
*/
function SetDefault($default)
{
$this->defaultLang = $default;
}
/* |VERPLICHT|
== Hier word dan de taal gekozen die op het scherm moet komen ==
In dit functie word dan uiteindelijk gekeken naar welke taal er gebruikt moet
worden. Er word dan gekeken of de gebruiker geen taal heeft ingesteld via het url. En of
de taal wel ter beschikking is, zo niet dan word de al eerder ingesteld waarden van taal(session)
geinculde of het default taal gekozen als laaste optie.
*/
function lang()
{
// Kijken of de gebruiker geen taal heeft ingesteld via de url:
if(isset($_GET['t']))
{
// Kijken of de ingestelde taal wel terbeschikking is:
for($i=0; $i < count($this->confLang); $i++)
{
// Is de taal terbeschikking dan include en instellen in een session:
if($_GET['t'] == $this->confLang[$i])
{
$lang = $this->confLang[$i] . ".php";
$_SESSION['taal'] = $lang;
include($lang);
// Dit voorkomt dat de default word geinclude.
$include_done = TRUE;
}
}
// Als de ingestelde taal niet beschikbaar is dan moet er gekeken worden
// of de gebruiker al eerder een taal had ingesteld. Of anders word de
// default gebruikt:
if(!isset($include_done))
{
// Kijken of de gebruiker eerder nog een taal heeft ingesteld:
if(isset($_SESSION['taal']))
{
include($_SESSION['taal']);
}
else
{
// Anders gewoon de default taal instellen:
include($this->defaultLang.".php");
}
}
}
else
{
// De gebruiker heeft geen taal var meegegeven. Kijken of de gebruiker al
// eerder een taal heeft ingesteld:
if(isset($_SESSION['taal']))
{
include($_SESSION['taal']);
}
else
{
// Anders gewoon de default taal instellen:
include($this->defaultLang.".php");
}
}
}
}
?>
################################################################################
# Class multiLang - Je kan hier mee meerdere talen op je site hebben #
# Made by DDragonz Version: 1.00 #
# Published under the General Public License #
################################################################################
class multiLang
{
// Hier worden de verschillende soorten talen ingesteld in een array.
// Bijvoorbeeld $array = array("nl", "en", "fr" ...);:
var $confLang;
// Hierin word de standaard taal ingesteld:
var $defaultLang;
################################################################################
################################################################################
/* |VERPLICHT|
== Set de talen die beschikbaar zijn ==
Met deze functie stel je de talen in die je op je site wilt zien. In de
constructer(multiLang)) moet een var ingestelt worden die de talen bevat:
bijvoorbeeld $array = array("nl", "en", "fr" ...);
*/
function multiLang($array)
{
$this->confLang = $array;
}
/* |VERPLICHT|
== Set de standaard taal van de site in ==
Met deze functie moet je de standaard taal instellen van de site. In SetDefault
moet een var ingesteld worden die het standaard taal is: bv $default = "nl";
*/
function SetDefault($default)
{
$this->defaultLang = $default;
}
/* |VERPLICHT|
== Hier word dan de taal gekozen die op het scherm moet komen ==
In dit functie word dan uiteindelijk gekeken naar welke taal er gebruikt moet
worden. Er word dan gekeken of de gebruiker geen taal heeft ingesteld via het url. En of
de taal wel ter beschikking is, zo niet dan word de al eerder ingesteld waarden van taal(session)
geinculde of het default taal gekozen als laaste optie.
*/
function lang()
{
// Kijken of de gebruiker geen taal heeft ingesteld via de url:
if(isset($_GET['t']))
{
// Kijken of de ingestelde taal wel terbeschikking is:
for($i=0; $i < count($this->confLang); $i++)
{
// Is de taal terbeschikking dan include en instellen in een session:
if($_GET['t'] == $this->confLang[$i])
{
$lang = $this->confLang[$i] . ".php";
$_SESSION['taal'] = $lang;
include($lang);
// Dit voorkomt dat de default word geinclude.
$include_done = TRUE;
}
}
// Als de ingestelde taal niet beschikbaar is dan moet er gekeken worden
// of de gebruiker al eerder een taal had ingesteld. Of anders word de
// default gebruikt:
if(!isset($include_done))
{
// Kijken of de gebruiker eerder nog een taal heeft ingesteld:
if(isset($_SESSION['taal']))
{
include($_SESSION['taal']);
}
else
{
// Anders gewoon de default taal instellen:
include($this->defaultLang.".php");
}
}
}
else
{
// De gebruiker heeft geen taal var meegegeven. Kijken of de gebruiker al
// eerder een taal heeft ingesteld:
if(isset($_SESSION['taal']))
{
include($_SESSION['taal']);
}
else
{
// Anders gewoon de default taal instellen:
include($this->defaultLang.".php");
}
}
}
}
?>
#Voorbeeld
#######################################################
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<?php
include("class.multilang.php");
$talen = array("nl", "en");
$test = new multiLang($talen);
$test->SetDefault("nl");
$test->lang();
echo "Switchen tussen de talen:<br>";
echo "<a href=\"www.domein.nl/index.php?t=0\">Nederlands</a><br>";
echo "<a href=\"www.domein.nl/index.php?t=1\">Engels</a><br><br>";
echo "En hier is mijn kleine voorbeeld:<br>";
echo $info;
echo $blabla;
?>
include("class.multilang.php");
$talen = array("nl", "en");
$test = new multiLang($talen);
$test->SetDefault("nl");
$test->lang();
echo "Switchen tussen de talen:<br>";
echo "<a href=\"www.domein.nl/index.php?t=0\">Nederlands</a><br>";
echo "<a href=\"www.domein.nl/index.php?t=1\">Engels</a><br><br>";
echo "En hier is mijn kleine voorbeeld:<br>";
echo $info;
echo $blabla;
?>
#lang/en.php
#######################################################
#lang/nl.php
#######################################################