Scripts
Taal selectie script
Klein scriptje aan te passen naar wens met externe taal bestanden. Eenvoudig om talen bij te voegen al moet ik daar ook nog enkele aanpassingen maken om dit eenvoudiger te laten gebeuren. Alle opmerkingen en aanpassingen zijn steeds meer dan welkom. download link: http://www.jb-web.org/downloads/scripts/php/languageselect.zip
taal-selectie-script
[code]<?php
// Taalvoorkeuren lezen uit de variabele 'lang' in de URL:
if (isset($_GET['lang'])) {
$taalvoorkeuren = $_GET['lang'];
} else {
$taalvoorkeuren = "";
}
// Bevat de URL-variabele 'lang' niet minstens 2 tekens voor een
// korte taalcode, gebruik dan de HTTP-header 'Accept-Language':
if ((strlen($taalvoorkeuren) < 2) and (isset($_SERVER['HTTP_ACCEPT_LANGUAGE']))) {
$taalvoorkeuren = $_SERVER['HTTP_ACCEPT_LANGUAGE'];
}
// $taalvoorkeuren omzetten in kleine letters:
$taalvoorkeuren = strtolower($taalvoorkeuren);
// Zijn de taalvoorkeuren hierna nog steeds onbekend,
// gebruik dan Engels ($taal = 0) als de standaardtaal:
if (strlen($taalvoorkeuren) < 2) {
$taal = 0;
// Gebruik vervolgens een snelle en eenvoudige controle
// voor een korte taalcode van 2 letters:
} elseif (strlen($taalvoorkeuren) == 2) {
if ($taalvoorkeuren == "fr" ) {
$taal = 1; // Frans
} elseif ($taalvoorkeuren == "nl") {
$taal = 2; // Nederlands
} elseif ($taalvoorkeuren == "de") {
$taal = 3; // Duits
} else {
$taal = 0; // Engels is de standaardinstelling
}
// Gebruik tot slot reguliere expressies om langere taalvoorkeuren
// te verwerken. Daarbij gaan we ervan uit dat de meeste informatie
// beschikbaar is in de standaardtaal Engels en er meer informatie
// beschikbaar is in de wereldtaal Frans dan het Nederlands:
} else {
if (ereg("en", $taalvoorkeuren)) {
$taal = 0; // Engels
} elseif (ereg("fr", $taalvoorkeuren)) {
$taal = 1; // Frans
} elseif (ereg("nl", $taalvoorkeuren)) {
$taal = 2; // Nederlands
} elseif (ereg("de", $taalvoorkeuren)) {
$taal = 3; // Duits
} else {
$taal = 0; // Engels
}
}
// Taalcode voor HTTP en HTML, en paginatitel instellen:
switch ($taal) {
case 1: // Frans
$taalcode = "fr";
$titel = "Les langues en Europe";
break;
case 2: // Nederlands
$taalcode = "nl";
$titel = "Talen in Europa";
break;
case 3: // Duits
$taalcode = "de";
$titel = "Sprachen in Europa";
break;
default: // Engels is de standaardinstelling
$taalcode = "en";
$titel = "Languages in Europe";
}
// HTTP-headers instellen:
if (!headers_sent()) {
header("Content-Language: " . $taalcode);
header("Content-Type: text/html; charset=iso-8859-1");
}
?>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="<?php echo $taalcode; ?>">
<head>
<meta http-equiv="Content-Language" content="<?php echo $taalcode; ?>">
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title><?php echo $titel; ?></title>
<link href="winxpvg.css" rel="stylesheet" type="text/css">
</style>
</head>
<body lang="<?php echo $taalcode; ?>">
<p>
<a href="getlang.php?lang=en" hreflang="en" <?php
if ($taal == 0) {
echo "style=\"font-weight: bold;\" ";
}
?>title="English">English</a> |
<a href="getlang.php?lang=fr" hreflang="fr" <?php
if ($taal == 1) {
echo "style=\"font-weight: bold;\" ";
}
?>title="Français">Français</a> |
<a href="getlang.php?lang=nl" hreflang="nl" <?php
if ($taal == 2) {
echo "style=\"font-weight: bold;\" ";
}
?>title="Nederlands">Nederlands</a> |
<a href="getlang.php?lang=de" hreflang="de" <?php
if ($taal == 3) {
echo "style=\"font-weight: bold;\" ";
}
?>title="German">German</a>
</p>
<?php
switch ($taal) {
case 1: // Frans
require_once("include/languages/fr.inc.php");
break;
case 2: // Nederlands
require_once("include/languages/nl.inc.php");
break;
case 3: // Duits
require_once("include/languages/de.inc.php");
break;
default: // Engels is de standaardinstelling
require_once("include/languages/fr.inc.php");
}
?>
<b><u><?php echo($title); ?></u></b>
<p><?php echo($text); ?></p>
</body>
</html>[/code]
Reacties
0