Website in meerdere talen
Jason van der Zeeuw op 11/04/2011 21:49:20:
laten we niet te ver afdwalen en even kijken welke oplossingen er WÉL kunnen werken...
(...)
enzovoorts.
(...)
enzovoorts.
Je hebt gelijk...
Ik doe het zo:
Er word een COOKIE aangemaakt met lang die de waarde van de taal heeft. Dus bijv: $_COOKIE['lang'] heeft als waarde: en of nl. Die COOKIE word altijd aangemaakt, dus als je die verwijderd word hij gewoon weer opnieuw aangemaakt.
Als je een taal wilt kiezen word je doorverwezen naar de link: index.php?lang=nl waarbij "nl" de taal is die je hebt gekozen. Daarna word COOKIE lang bewerkt en de taal die in de link staat.
PHPer PHPer op 11/04/2011 18:40:28:
Tja zeg jou wat je heb nog maar een windows server dus je kan nog geen eens setlocale gebruiken en dan zeg je dat het geen vertaalmachine is
Echt, soms is het gewoon echt beter om je mond te houden.
Tom Tom op 11/04/2011 19:02:36:
Maar dan zou het betekenen dat ik in nederland niet de engelse pagina kan bekijken, en dat wil ik wel kunnen.
Jawel, dat kan wel. Dat verhaal van PHPer PHPer klopt niet. Hier 2 links... heb ze niet gelezen maar misschien heb je er wat aan.
http://www.phphulp.nl/php/script/overig/talen-keuze-dmv-sessie-en-get/1003/
http://www.phphulp.nl/php/forum/topic/meerdere-talen-website/73895/last/
Gewijzigd op 12/04/2011 08:26:21 door Ozzie PHP
http://www.phphulp.nl/php/script/snippets/setlocale-nl/1386/setlocalenl/1003/
Simpelste oplossing:
In de vertaalbestanden zegt je dan:
of
setLocale werkt wel op Windows, echter voor de zekerheid kan je beter wat meer opties (tja, nog steeds geen echte standaardisatie op 't web) geven Simpelste oplossing:
Code (php)
1
2
3
4
5
6
7
8
9
2
3
4
5
6
7
8
9
<?php
$language = (isset($_GET["lang"})) ? $_GET["lang"] : 'nl';
$lang_url = 'languages/lang-'.$language.'.php';
if (file_exists($lang_url)) { // /languages/lang-nl.php, /languages/lang-en.php, /languages/lang-fr.php
include($url);
}
echo '<h1>'.$lang['welcome'].'</h1>';
?>
$language = (isset($_GET["lang"})) ? $_GET["lang"] : 'nl';
$lang_url = 'languages/lang-'.$language.'.php';
if (file_exists($lang_url)) { // /languages/lang-nl.php, /languages/lang-en.php, /languages/lang-fr.php
include($url);
}
echo '<h1>'.$lang['welcome'].'</h1>';
?>
In de vertaalbestanden zegt je dan:
of