ik krijg de laatste tijd steeds meer reacties op mijn website van buiten nederland.
daarom wil ik graag dat mensen op mijn site kunnen kiezen voor een nederlandse versie en een engelse versie, hoe kan ik dit maken?
greetzz
ik wil zegmaar weinig hoeven aanpassen in mijn site. de tekst hoeft alleen maar vertaald te worden, dat wil ik dan overzichtelijk in die txt bestandjes, ze hoeven geen php te zijn want die txtjes worden geinclude in een php bestand..
Dus als ik het goed begrijp heb je een pagina zeg index.php die voor jou die txtjes uitleest en include. Dan zal dat vast op basis van index.php?pagina=home of zo gaan denk ik?
nou ja, dan kan je dat op een zelfde manier doen voor andere talen. Dus bijvoorbeeld:
index.php?lang=NL en index.php?lang=EN. Dan zorg je dat je de txt-files van NL en EN apart hebt. Dit kan bijvoorbeeld door alle txtjes in het Nederlands in de map NL te zetten enz.
en dan zal erin je PHP code ongeveer zo uit kunnen zien:
<?php
$lang = 'NL'; // default waarde
$get_lang = strtoupper($_GET['lang']);
if ($get_lang == 'NL') {
$lang = 'NL';
} elseif ($get_lang == 'EN') {
$lang = 'EN';
}
// Hier je pagina selectie etc.... maar dan met de juiste map
// Uiteraard ook controleren of het bestand bestaat enz. maar dat heb je waarschijnlijk al
// bijv. /NL/home.txt of /EN/home.txt
include('/'. $lang .'/home.txt');
?>
Mocht je het helemaal mooi doen wil je uiteraard je URL van www.jewebsite.nl/NL/ of www.jewebsite.nl/EN/ willen hebben en dan kun je zoiets als dit gebruiken in je .htaccess.
#.htaccess
RewriteEngine On
RewriteRule ^([A-Za-z]+)$ index.php?lang=$1
="Benny Lava op 07/08/2011 15:18:52"]
Dus als ik het goed begrijp heb je een pagina zeg index.php die voor jou die txtjes uitleest en include. Dan zal dat vast op basis van index.php?pagina=home of zo gaan denk ik[/quote]
dat index.php?pagina=home.... betekent dat dat je maar 1 phpbestand hebt die verschillende txt's kan includen?
anders bedoel ik het volgende: (sorry als ik onduidelijk ben of niet goed luister...)
ik heb een pagina die include de inhoud van de pagina bijvoorbeeld index.
dan wil ik in dat index.txt bestand:
(ongeveer)
Vond het zelf wel een keer leuk om te prutsen met text-files, dus heb iets gescript.
In combinatie met wat ik eerder gepost heb en dit moet het zeker lukken om je script werkend te krijgen B Mulder. Verder zal ik het niet voorkauwen......
Oke dan, hier een voorbeeldje van wat het stukje kan zijn om alles in een text-bestand te houden. Omdat het in een text-bestand zit zal je moeten zoeken naar de offsets van wanneer Engelse en Nederlandse teksten beginnen. Het is maar een voorbeeld van hoe je dat stukje kunt doen maar er ontbreken nog wat foutafhandeling enz. wat het productie waardig zal maken. (hou er rekening mee!)
<?php
// uiteraard moet je wel controleren of de file bestaat enz...
$lines = file('index.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
// Offsets bepalen
$key1 = array_search('$lang eng', $lines);
$key2 = array_search('$lang nl', $lines);
// Splitsen
$lang_nl = array_slice($lines, $key2+1);
$lang_en = array_slice($lines, $key1+1, $key2-1);
// Print nederlands
foreach($lang_nl as $line) {
echo $line .'<br />';
}
// Print engels
foreach($lang_en as $line) {
echo $line .'<br />';
}
?>
En het text-bestand ziet eruit zoals je zelf aangeeft hoe het moet zijn:
$lang eng
welcome on studiobj.nl
next line
$lang nl
welkom op studiobj.nl
volgende regel
Nog even een toevoeging van wat - Aar - zegt klopt wel. Maarja, ligt er maar net aan wie de website zal gaan onderhouden. Je geeft als voordeel op dat het makkelijker te onderhouden is, maar dat is maar net te vraag juist wie dat doet. Want uit eigen ervaring zijn soms mensen bang om php te openen omdat ze niet weten hoe het werkt. En tegen iemand zeggen het is een txt bestand is kan geruststellend zijn.
Want uit eigen ervaring zijn soms mensen bang om php te openen omdat ze niet weten hoe het werkt. En tegen iemand zeggen het is een txt bestand is kan geruststellend zijn.
De uitleg om aan te geven hoe het werkt is ook niet echt rocket-science.. ;-)
Ik weet haast zeker dat die manier met text-bestanden die Benny omschrijft enorm trager is dan mijn manier.