hoe maak ik eenvoudig een optie om een taal te kiezen op me site met een language file en php ?
?
Onbekende gebruiker
19-11-2005 22:24
Werk met sessions.
Op elke pagina kijk je in de sessie wat de sessie waarde is en haal je bijbehorende bestand op.
Je switch van taal doormiddel van een link die naar een pagina gaat die de sessie veranderd en weer terug springt naar de pagina waar je vandaan kwam doormiddel van $_SERVER['HTTP_REFERER']
dat klinkt ingewikkeld :-)
ben nog niet zo lang bezig met php
dacht aan een icoontje en als je daat op klikt dat er b.v. ?lang=nl komt te staan achter de betreffende paginanaam (zie ik wel eens op een site b.v. test.php?lang=nl)
als ik achter een "taal plaatje" in de link
?lang=dutch meegeef dan werkt het
alleen als er een link in die pagina zit dan werkt die pagina erachter niet want die ?lang=dutch onthoud hij niet kan je die variabele dan vast zetten ?
Je zou een dropdownmenu kunnen maken, en aan de hand van de keuze van de gebruiker de taal in de gekozen taal te weergeven. Waar bijvoorbeeld normaal op je website zoiets staat:
<?php
echo "Welkom op deze site, veel plezier";
?>
Dat kun je vervangen door het uit een taalbestand te halen:
<?php
echo $welcome;
?>
Dan zijn dit bijvoorbeeld de taalbestanden:
<?php
//---TAALBESTAND-DUTCH---//
$welcome = "Welkom op deze site, veel plezier";
$login = "Vul hieronder je username en password in om in te loggen";
?>
<?php
//---TAALBESTAND-ENGLISH---//
$welcome = "Welcome on this site, enjoy it";
$login = "Fill in your username and password to log in";
?>
Om de juiste taal te weergeven maak je een dropdown menu:
Deze manier is niet echt een makkelijke, en er zijn vast nog wel makkelijkere manieren, maar het is er wel één.
Veel plezier er mee, en maak er iets moois van!
Jip
<?php
// Englisch.php
$text[1001] = "Welcome visitor!";
$text[1002] = "See you later!";
?>
Dan op bekijk ik op de pagina op verschillende manieren welke taal er uitgelezen moet worden. Veruit de makkelijkste is in een configuratiebestand of database bij te houden wat de taal van de website is.
Als je echter de bezoeker de taal wilt laten wijzigen dat kan je denken aan sessies, zoals eerder gezegd.
Ik werk wat dat betreft weer iets liever met cookies (ik ken de nadelen). Met cookies is de keuze van de bezoeker volgende keer dat er een ebzoek is al bekend.
Zoiets zou je kunnen doen:
<?php
if($_COOKIE['lang']) {
include("/van/uit/je/root/naar/je/taal/dir/".$_COOKIE['lang'].".php");
} else {
include("/en/er/weer/naar/toe/dutch.php"); // Als Dutch de standaard is...
}
Warning: session_start(): Cannot send session cookie - headers already sent by (output started at /home/weerenon/public_html/test/test.php:1) in /home/weerenon/public_html/test/test.php on line 10
Warning: session_start(): Cannot send session cache limiter - headers already sent (output started at /home/weerenon/public_html/test/test.php:1) in /home/weerenon/public_html/test/test.php on line 10