ID vervangen door iets anders
Ik ben met een site bezig die in 4/5 talen wordt gemaakt. Alleen als ik ze allemaal apart moet doen, duurt het me te lang. Ik heb dus een script met een parameter gemaakt, en wil dat ie dan het id vervang door iets anders.
Hoe doe ik dit, want het onderstaande wilt niet werken (mss erg slordig ook nog)
Gewijzigd op 01/01/1970 01:00:00 door AstroVersum
* een map met daarin taal bestanden, en.php, nl.php etc.
* in je config.php zet je een $taal = 'en'; dat is je standaard
* vervolgens bovenaan je script checken of er een sessie is, zoja, $taal = $_SESSION['taal']; anders veranderd er niks.
* kijk of er een $_GET['taal'] is, leg dat tegen je array met taalbestanden en zoja, schrijf het weg in een sessie & $taal = $_GET['taal'];
* include het juiste taalbestand
* Taalbestanden is opgebouwd uit een grote array:
$_LANG['index.php']['errors'][1] = 'Sorry, blablalba';
$_LANG['index.php']['errors'][2] = 'Sorry, blablalba';
$_LANG['index.php']['header']['h1' ] = 'Welkom';
* In jouw scripts echo je dus die $_LANG, en afhankelijk van het geinclude taalbestand krijg je dus een nederlandse of engelse versie terug...
Als ik dit bovenstaande script werkend krijg, dan weet ik wat ik doe en zal het me lukken :P. Dan hoef ik gewoon 1 vertaalbestand(per taal) te maken voor 230 pagina's.
Mijn structuur is op index.html een auto language detect te doen -> doorgestuurd naar goede taal. En dan de bovenste pagina.
Dus zou iemand mijn script hierboven werkend kunnen krijgen?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
<?php
error_reporting(E_ALL);
session_start();
if(isset($_GET['taal']))
{
$taal = $_GET['taal'];
}
elseif(isset($_SESSION['taal']))
{
$taal = $_SESSION['taal'];
}
else
{
$taal = 'en';
}
include('languages/'.$taal.'.php');
?>
error_reporting(E_ALL);
session_start();
if(isset($_GET['taal']))
{
$taal = $_GET['taal'];
}
elseif(isset($_SESSION['taal']))
{
$taal = $_SESSION['taal'];
}
else
{
$taal = 'en';
}
include('languages/'.$taal.'.php');
?>
Op zo'n manier wordt het juiste taalbestand geinclude. Let er wel op dat je nog wat beveiligingen kunt toepassen. Je moet bijvoorbeeld nog controleren of een eventuele GET variabele wel een geldige taal bevat...
ps. En natuurlijk moet je het script wel even aanpassen naar je eigen situatie.
Gewijzigd op 01/01/1970 01:00:00 door Joren de Wit
Laat dit topic maar zitten. Ik ga het met countrycodes doen ipv hele namen ;) (tenzij iemand script uit eerste post kan maken:P)
je moet niet index.html?taal=nl doen maar index.php?taal=nl