Ik heb al een tijdje een PHP website, en ben net aan handig genoem om zelf pagina's toe te voegen, de CSS een beetje te tunen, etcetera
Nu wil ik graag een taal keuze, dmv vlaggetjes, op de site hebben. Zodanig dat de bezoeker zelf kan kiezen welke (beschikbare) taal hij/zij wil. Dat hoeft wat mij betreft geen automatische taal detectie te zijn, simpel default op Nederlands, en keuze voor bijv. Duits en/of Engels.
Ik heb op het forum gekeken, en ben ook een paar dingen tegen gekomen. Helaas ontbreekt het mij aan voldoende kennis, vandaar mijn vraag:
Wie kan mij helpen door een taalkeuze op mijn site in te stellen, zover dat ik als leek het weer zelf verder op kan pakken? (vergoeding bespreekbaar)
<?php
if(isset($_GET['taal'])) {
setcookie("language", strtolower($_GET['taal']), time()+31104000); // een jaar lang onthouden
echo "Taal ingesteld op: ".$_GET['taal'];
} else {
echo "Er is geen taal gekozen!";
}
?>
index.php
<?php
if(isset($_COOKIE['language'])) {
include "languages/".$_COOKIE['language'].".php";
} else {
include "languages/nederlands.php";
}
//hier volgt je site met een variabele voor elke woord/zin.
echo $lang['welkom'];
echo $lang['inhoud'];
?>
[/code]
languages/engels.php
<?php
$lang['welkom'] = "Welcome";
$lang['inhoud'] = "Welcome on my website.";
//etc..
?>
Dank voor je snelle antwoord!
Op zich denk ik te begrijpen hoe ik de bestanden/scripts die je noemt moet oppakken, máár: dit definieert (begrijp mij goed; zoals ik het zie, een leek;-) ) in eerste instantie de tekst van je 'home' page. Hoe definieer je (vervolgens) de inhoud van je verdere pagina's? Of begrijp ik het wellicht toch niet helemaal goed?
Voor het geval dit van nut is, mijn site staat op www.o27.nl
if (!headers_sent()) header("Content-type: text/html; charset=$charset;");
if (version_compare(phpversion(), '5.1', '>=')) {
// La valeur du timezone sera configurable en admin dans la prochaine version majeure
date_default_timezone_set('Europe/Paris');
}
/// Test et nettoyage des paramétres qui doivent être des entiers positifs ou nuls
function TestInteger($name) {
global ${$name};
$n = preg_match('!^([0-9]+)!', ${$name}, $res);
if ($n == 0 || $res[1] == '')
unset(${$name});
else
${$name} = $res[1];
}
TestInteger('pg');
TestInteger('id');
TestInteger('num');