Dit hoofdstuk beschrijft de noodzakelijke stappen voor het opzetten van een meertalige website. Deze beschrijving vereist Website Baker v2.6.5 of hoger.
Om een meertalige website te realiseren, dient men een bepaalde pagina-structuur te onderhouden. Voor elke taal dient een container pagina (ouder-pagina) van het type Menu-link toegevoegd te worden via de WB backend. De taal-specifieke pagina's met hun respectievelijke inhoud worden daarna onder deze ouder-pagina's toegevoegd.
In de afbeelding hieronder ziet U de twee container-pagina's Nederlands en Français:=Frans (pagina-type Menu Link), elke met hun twee subpagina's van het type WYSIWYG.

Figuur 1: Pagina structuur voor een tweetalige website (Nederlands en Frans:=Français)
Men dient het pagina-type Menu Link te gebruiken voor de container-pagina's. Het verdient aanbeveling om de naam van de betreffende taal als pagina-naam te gebruiken (bijv. Nederlands, Français). Voor de menu-titel (aanpassen via Instellingen), dient men de bestandsnaam van de taalbestanden te kiezen, maar dan zonder de extensie (bijv. NL, FR). Neem nu nog de standaard-instellingen over voor Link en Doel.
Alle pagina's met Nederlandse inhoud (Home, Contact) gebruiken de container-pagina Nederlands als ouder. Alle Franse pagina's (Accueil du site, Contactez) gebruiken de container-pagina Français als ouder.
Gebaseerd op de pagina-structuur in figuur 1, maakt Website Baker de volgende directory-structuur aan in de /pages folder van uw webserver.

Figuur 2: Directory structuur in /pages
Nadat de taal-specifieke sub-pagina's zijn aangemaakt via de WB backend, dient men de link te wijzigen van de conatainer-pagina's Nederlands en Français (ouders). Om de bezoeker door te verwijzen naar de sub-pahina Home als deze naar de container-pagina Nederlands gaat, dient de instelling Link gewijzigd te worden naar: /nl/home. Voor de Franse pagina wijzig de Link naar /fr/accueil-du-site.
Opmerking:
De link-instellingen dienen gewijzigd te worden nadat de corresponderende sub-pagina's toegevoegd zijn via de WB backend. Het definieren van /nl/home als link-instelling voordat de corresponderende sub-pagina Home is toegevoegd, voorkomt dat WB deze pagina achteraf toevoegd.
Om uw gebruikers de mogelijkheid te bieden om hun taal te selecteren via een intro-pagina, zijn de volgende stappen nodig. De intro-pagina is uitgeschakeld in de standaard instellingen van website Baker. Deze kan ingeschakeld worden via de WB backend: Instellingen -> Intro-pagina -> Aan.
Het bestand intro.php kan het beste aangemaakt worden met een standaard text editor en vervolgens ge-upload worden via FTP naar de pagina-folder (http://domein.com/pages/intro.php). Op deze manier kan men gebruik maken van Javascript of PHP-code in het bestand intro.php. Het toevoegen van Javascript of PHP-code via de standaard WYSIWYG editor zal niet werken.
Het onderstaande voorbeeld toont twee vlag-symbolen uit de /media folder, welke de bezoeker doorverwijzen naar de corresponderende pahina's Home (Nederlands) of Accueil du site (Frans).
Voorbeeld van bestand: intro.php
<?php
// mogelijk om hier een PHP/Javascript voor doorverwijzing in te voeren
?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
<head>
<title>Intro Pagina - Taal-selectie</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name="description" content="" />
<meta name="keywords" content="" />
<style type="text/css">
#container {
height: 100%;
width: 100%;
margin:25% 0;
text-align: center;
}
h1 {
font-size: 110%;
color: darkblue;
}
</style>
</head>
<body>
<div id="container">
<h1>Kies hier uw taal</h1>
<a href="http://domein.nl/pages/nl/home.php">
<img width="25" height="15" alt="Nederlands"
src="http://domain.de/media/flags/NL.gif" border="0"/>
</a>
<a href="http://domain.de/pages/fr/accueil-du-site.php">
<img width="25" height="15" alt="Francais"
src="http://domein.nl/media/flags/FR.gif" border="0" />
</a>
</div>
</body>
</html>
Het bestand intro.php wordt benaderd als een bezoeker de URL: http://domein.nl in de browser invoert. Helaas kunnnen uw bezoekers dan niet meer de taal wijzigen vanaf elke andere pagina dan de intro-pagina zelf. Dit is ongewenst als een bezoeker direct op de website komt via http://domein.nl/pages/nl/home.php, bijv. als gevolg van een zoekactie via een zoekmachine. Om uw bezoekers toch de mogelijkheid te bieden alsnog de taal te wijzigen, dient U het template te wijzigen.
Een kleine wijziging van het bestand index.php van het template voorkomt dat de container-bestanden (Nederlands en Français) getoond worden in het navigatie-menu. Aanvullend kunt U bezoekers toch de mogelijkheid bieden om de taal te wijzigen vanaf elke willekeurige pagina. De stappen die hiervoor nodig zijn worden hieronder beschreven.
Om de container-pagina's Nederlands en Français onzichtbaar te krijgen in het navigatie-menu, dient men de variabele $start_level van de show_menu oproep te wijzigen in het bestand index.php van het template. Door de variabele $start_level wijzigen van 0 (toont menu vanaf het hoogtse niveau, bijv. Nederlands en Français) naar 1 (toont het menu vanaf het eerste sub-niveau) worden de container-pagina's onzichtbaar gemaakt in het menu. Wijzig de volgende regel in het bestand index.php van uw template:
<?php show_menu(); ?>
in:
<?php show_menu(1, 1); ?>
Als U gebruik maakt van meervoudige menu's, dient de eerste parameter van show_menu aangepast te worden naar uw wensen. Lees hiervoor de uitleg van de variabelen van show_menu() voor meer informatie.
Om uw bezoekers de mogelijkheid te bieden de taal te kunnen wijzigen vanaf elke willekeurige pagina, dient U nog een show_menu() functie oproep te plaatsen in het bestand index.php van uw template. Als U zich gehouden hebt aan de pagina-structuur, getoond in figuur 1, staan de container-pagina's in het hoogste niveau van het menu. Om nu alleen dit hoogste niveau te tonen, dient men de 2e ($start-level=0) en 3e functie variabele ($recurse=1) te wijzigen.
Om een text-link toe te voegen met de menu-titels (NL, FR) van de container-pagina's, voegt U een nieuwe oproep toe van de functie show_menu() aan het bestand index.php van uw template.
show_menu(1, 0, 1, true, "[a][menu_title][/a]", '', '', '', false, '', 0);
Als U daarentegen een vlag-icoontje wilt toevoegen voor elke taal, gebruikt U de volgende code:
show_menu(1, 0, 1, true, "[a]<img src=" .WB_URL .
"/media/flags/[menu_title].gif />[/a]", '', '', '', false, '', 0);
De code hierboven gaat er van uit dat de vlag-symbolen ge-uploaded zijn via de WB backend naar de media folder /media/flags. Men heeft dan een vlag-symbool nodig voor elke taal die men wil ondersteunen. De vlag-symbolen dienen dezelfde naam te hebben als de menu-titels (bij. NL.gif, FR.gif). Afhankelijk van het operating systeem van de server zijn de vlag-symbolen hoofdletter-gevoelig. Dit maaktr het dus mogelijk voor de bezoeker om de taal te wijzigen door op het vlag-symbool te klikken.
Hint:
Wijzigingen aan het template kunnen het best gedaan worden met de Admin Tool Template Edit welke beschikbaar is op de Addons Repository.
Copyright (c) 2007 Website Baker Hilfe Team
Tekst en afbeeldingen uit deze pagina zijn onderworpen aan een Creative Commons Attribution-NonCommercial-No Derivative 3.0 Licentie. Het is toegestaan om dit werk te kopieëren en distribueren voor niet-commerciële doeleinden, mits er geen wijzigingen worden aangebracht en deze copyright mededeling en een link naar http://help.websitebaker.org worden bijgevoegd.