Hey allen,

Ik ben bezig met een platte html website om te zetten naar 2 talig. Omdat er niet op elke pagina veel tekst gebruikt wordt lijkt het me niet handig de complete website in 2 directories te plaatsen in 2 talen. Een aanpassing moet dan worden door gevoerd in beide pagina's (NL en ENG).
Ik heb een oplossing bedacht. Een pagina bijvoorbeeld "over ons" heeft een klein stukje tekst en wat foto's. Ik zou in de pagina een stukje php kunnen opnemen:

IF domein.nl/overons.php of domein.nl/overons.php?LANG=NL THEN
"nederlandse html"
ELSE domein.nl/overons.php?LANG=ENG THEN
"Engelse tekst in HTML"

Ik kom wel uit het eerste stukje maar de rest niet helemaal

Dit is wat ik heb:

<?PHP
$language = $_GET['LANG'];

if ($language == "NL" || "") {
	echo "Nederlands";
} 
else if ($language == "ENG")
{
	echo "English";
}
?>


Overigens kan ik nu geen HTML plaatsen achter de ECHO.

Kan iemand me een stuk verder helpen?

Stef
Ik zou het zo aanpakken.
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

$talen = array('NL' => 'Nederlands',
'ENG' => 'Engels');

if(isset($_GET['LANG']) and isset($talen[$_GET['LANG']]))
{
$language = $_GET['LANG'];
}
else
{
$language = 'NL';
}

echo $talen[$language];
?>
Hey SanThe,

Super!

Echter waar kan ik mijn HTML ENG en waar de NL kwijt?

Stef
Als je inderdaad weinig tekst hebt en het niet in een database zet dan is dit een voorbeeldje van hoe het zou kunnen. Op deze manier is het ook heel eenvoudig om er nog een taal aan toe te voegen.
<?php
ini_set('display_errors', 1); // 0 = uit, 1 = aan
error_reporting(E_ALL);

$talen = array('NL' => array('titel' => 'Welkom beste bezoeker',
'tekst' => 'Dit is een tekst om te testen',
'taal' => 'Nederlands'),
'ENG' => array('titel' => 'Welcome dear visitor',
'tekst' => 'This text is for testing only',
'taal' => 'Englisch')
);

if(isset($_GET['LANG']) and isset($talen[$_GET['LANG']]))
{
$language = $_GET['LANG'];
}
else
{
$language = 'NL';
}

echo '<html>'; // en de rest van de html
echo $talen[$language]['titel'] . '<br/><br/>' . $talen[$language]['tekst'] . '<br/>' . $talen[$language]['taal'];
echo '</html>'; // en de rest van de html om af te sluiten
?>
vervolgens kun je met


if($language == "NL")
{
nederlandse tekst
}

elseif($language == "ENG")
{
engelse tekst
}


klooien
Hey Nils en San,

Kan ik in de teksten dan ook mijn HTML kwijt?

dus bijv.


<div id="tekst_rechts"><h2 align="right">Over ons</h2>
		<img src="/images/contentTop.gif" alt="" height="25" width="300" border="0">
		<p><b>blkabablbal</b></p>

etc etc
Tuurlijk.

<div id="tekst_rechts"><h2 align="right"><?php echo $talen[$language]['over_ons']; ?></h2>
        <img src="/images/contentTop.gif" alt="" height="25" width="300" border="0">
        <p><b><?php echo $talen[$language]['bladiebla']; ?></b></p>

Of gewoon de hele regel in een echo zetten.
Het lukt me bijna, ik krijg alleen geen includes in mijn teksten

Ik heb bijvoorbeeld een NL en ENG menu gemaakt. beide in een los bestand geplaatst.

<!--#include file="menu_nl.inc" -->'

zelfde geldt ook voor de footer en metatags.

Hoe kan ik deze wel opnemen in de teksten?


Stef
<div><?php include('header.php'); ?></div>
<div><?php include('middentekst.php'); ?></div>
<div><?php include('footer.php'); ?></div>


mvg Joost.
Stef Segers schreef op 08.10.2008 16:01
Het lukt me bijna, ik krijg alleen geen includes in mijn teksten

Dat gaat ook niet in een tekst.
<?php
echo 'tekst.........';
include('.....');
echo 'verder ......';
?>
Hoi San,

Ik snap, maar ik heb 2 talen menu's remember? Afhankelijk van de taal moet er dus een keuze worden gemaakt.

Dus in de ENG website moet de Engelse menu te voorschijn komen en voor de NL de nederlandse

echo
include
echo gaat dus niet werken

Reageren