Talen script
Met dit script kun je verschillende talen toevoegen op je site. Dit script werkt met losse bestandjes waar je de text in zet.
Dit is versie 1, er komt nog een versie 2 waarin de talen in een array staan, en waarin het dus gemakkelijker wordt om talen toe te voegen. Uitleg staat genoeg in het script volgens mij.
Veel plezier!
Voorbeeld: http://phphulp.chessweb.eu/?p=talen
Gesponsorde koppelingen
PHP script bestanden
23 reacties op 'Talen script'
Gesponsorde koppelingen
Het scriptje dat in de standaard appserv pagina staat lijkt me makkelijker.
dit in je pagina:
$root = "lang";
include("lang/lang.php");
en dan een mapje "lang" met daarin een bestandje lang.php:
lang-dutch.php (of lang-english.php) ziet er als volgt uit:
(opslaan dus als lang-dutch.php en in /lang zetten of met engelse tekst opslaan als lang-english.php)
en weer in je pagina waar je lang.php include kun je de tekst gewoon zo neerzetten:
Om de pagina in het engels te doen verander je index.php in index.php?lang=en
dit in je pagina:
$root = "lang";
include("lang/lang.php");
en dan een mapje "lang" met daarin een bestandje lang.php:
Code (php)
lang-dutch.php (of lang-english.php) ziet er als volgt uit:
Code (php)
(opslaan dus als lang-dutch.php en in /lang zetten of met engelse tekst opslaan als lang-english.php)
en weer in je pagina waar je lang.php include kun je de tekst gewoon zo neerzetten:
Om de pagina in het engels te doen verander je index.php in index.php?lang=en
f ($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';
}
dus dan wordt het 'en' ;-)
maar dit script is lang niet perfect, maar ik heb er best hard aan gewerkt, dus ik dacht, ik post het toch maar ;-)
{
$lang = 'nl';
}
else //als de browsertaal niet 'nl' is en de sessie is niet geset, dan is de browsertaal 'en'
{
$lang = 'en';
}
dus dan wordt het 'en' ;-)
maar dit script is lang niet perfect, maar ik heb er best hard aan gewerkt, dus ik dacht, ik post het toch maar ;-)
ik heb het ff getest en mijn vermoede klopte ook nog. het was ook te mooi om waar te zijn, ik heb het ook geinclude in mijn site, met dit is het resultaat wat ik te zien krijg:
The main language file couldn't be found, please contact the webmaster at: mail@adres.ext
The main language file couldn't be found, please contact the webmaster at: mail@adres.ext
oke ik verklaar mij nader! mijn website is de nedelandse taal en ik vertaal die in het engels. dat hoef ik die toch alleen maar een naam te geven en op te slaan als php of html een link te plaatsen in de startpagina naar die vertaling met <a href=""> .en zo kan ik toch ieder vertaling doen, alleen als ik elke taal die er op de wereld is vertaal ja dan wordt het een beetje druk met die linken.
Arend schreef op 01.08.2006 01:45
Nee, natuurlijk niet. Het is een methode om je site in verschillende talen te zetten. De vertaling moet je zelf maken.
Dus waarom zou ik dat script gebruiken als ik het toch allemaal zelf moet doen. pas op dit is geen kritiek hoor maar ik heb gekeken in het voorbeeld maar ik snap de bedoeling er niet van. want daar staan ook 2 linken
Arend schreef op 01.08.2006 01:45
Nee, natuurlijk niet. Het is een methode om je site in verschillende talen te zetten. De vertaling moet je zelf maken.
Dus waarom zou ik dat script gebruiken als ik het toch allemaal zelf moet doen. pas op dit is geen kritiek hoor maar ik heb gekeken in het voorbeeld maar ik snap de bedoeling er niet van. want daar staan ook 2 linken
Ik weet niet zoveel van PHP
Ik wil een site maken met meerdere talen.
Ik probeerde dit script maar ik krijg een fout melding.
Deze melding
The main language file couldn't be found, please contact the webmaster at:
Nu is mijn vraag ik heb alles gedaan zoals het beschreven staat maar het werkt niet.
Het volgende heb ik gedaan.
index.php
<!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 />
</body>
</html>
Dan de lang directory gemaakt.
en de volgende files in gezet.
lang/lang.php
lang/lang-dutch.php
lang/lang-english.php
lang.php
lang-dutche.php
lang-english.php
Dit zijn de files wie kan me helpen met dit probleem.
Ik wil een site maken met meerdere talen.
Ik probeerde dit script maar ik krijg een fout melding.
Deze melding
The main language file couldn't be found, please contact the webmaster at:
Nu is mijn vraag ik heb alles gedaan zoals het beschreven staat maar het werkt niet.
Het volgende heb ik gedaan.
index.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
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
<?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 = '.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: <a href=mailto:info@hiaonline.eu>info@hiaonline.eu</a>'; //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
}
}
?>
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 = '.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: <a href=mailto:info@hiaonline.eu>info@hiaonline.eu</a>'; //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 />
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
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
<?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.
}
?>
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>
Dan de lang directory gemaakt.
en de volgende files in gezet.
lang/lang.php
lang/lang-dutch.php
lang/lang-english.php
lang.php
Code (php)
lang-dutche.php
Code (php)
lang-english.php
Code (php)
Dit zijn de files wie kan me helpen met dit probleem.
Om te reageren heb je een account nodig en je moet ingelogd zijn.
- Details
Door:
PHP Newbie- 7 jaar geleden
- 2.347 x bekeken
- Labels
- Geen tags toegevoegd.
- PHP scripts opties
- Overig
- Nieuwste PHP scripts
- PHP script toevoegen


PHP hulp
0 seconden vanaf nu