Ga naar inhoud


verschillende talen op een website


Aanbevolen berichten

Geplaatst:

@all,

 

ik heb een website gemaakt in uiteraard de nederlandse taal. Nu wil ik er nog 3 talen aan toevoegen. Maar ik heb weinig zin om 3x de site helemaal opnieuw te maken. Is er een tool voor zodat ik maar 1x de site moet maken maar dat er 4 talen gekozen kunnen worden.

 

mvg

Olav


Geplaatst:

Als ik mij niet vergis bestaat er een conventie in de naamgeving van html pagina's die automatische taalkeuze mogelijk maakt.

 

Voorbeeld:

 

index.html.nl = nederlands

index.html.fr = frans

index.html.de = duits

 

De bedoeling zou dan zijn dat automatisch de juiste pagina wordt gekozen aan de hand van de taal instelling van de browser. Ik heb er nog niet mee gewerkt, maar Apache kent een dergelijke opzet.

Geplaatst:

Zoals Duwgati beschrijft kun je met PHP en ASP een file includen aan de hand van een gekozen taal in het begin scherm.

 

Bij ASP is dat bijvoorbeeld:

 

De link wordt dan:

<A HRef="pagina2.asp?taal=english">English</A>

<A HRef="pagina2.asp?taal=nederlands">Nederlands</A>

<A HRef="pagina2.asp?taal=deutch">Deutch</A>

 

De pagina wordt dan:

<%

taal = request("taal")

if taal = "" then taal = "english"

%>

 

<!--#include file="languages/<%=taal%>/text.txt"-->

 

Maak een directory languages aan met daar de talen in, ook als directory natuurlijk.

Daar zet je de taal texten in

Maak een file text.txt aan waar de nederlandse tekst in komt en zet deze in /languages/nederlands

de engelse in english natuurlijk en zo verder.

Dan hoef je alleen maar de tekst te vertalen en dan ben je klaar....

 

En voor PHP weet ik het even niet, maar Duw kan je daar wel mee verder helpen denk ik...

 

Groeten,

DroomDoos <img src="/ubbthreads/images/graemlins/biggthumpup.gif" alt="" />

Geplaatst:

In ASP kun je dan ook testen via de Request.ServerVariables("HTTP_ACCEPT_LANGUAGE") welke taal op de client browser is ingestelt en dan automatisch de juiste taal laten kiezen.

 

Zie DEMO server.varriable

 

Rebel

Geplaatst:

Die optie zou ik nooit kiezen.

 

Je kunt allerlei landen- (en dus taal-) informatie opvragen. Vanuit welk land komt de bezoeker op je site, welke voorkeurtaal staat ingesteld e.d., maar gebruik dat nooit om een bezoeker naar een bepaalde taalversie te leiden.

 

Waarom niet?

Simpelweg omdat dat allemaal niets zegt over de bezoeker, maar alleen over de PC waarop hij toevallig zit te werken, of over de locatie waar hij zit te werken.

 

Maak altijd gebruik van een splash screen, oftewel een openingspagina, waar mensen hun taalversie kunnen kiezen. En als je het helemaal goed doet, zorg je er zelfs voor dat mensen op iedere pagina alsnog van taal kunnen wisselen. Dit laatste voor het geval dat de bezoeker op je site komt via een zoekmachine.

Geplaatst:

Citaat:

Waarom niet?

Simpelweg omdat dat allemaal niets zegt over de bezoeker, maar alleen over de PC waarop hij toevallig zit te werken, of over de locatie waar hij zit te werken.

 

Ok dat kan als je van een opstart scherm houdt waar je voor de duizendste keer de taal moet kiezen

De request in combinatie met de taalkeuze op elke pagina vindt ik persoonlijk dan een betere keuze.

 

Rebel

Geplaatst:

Je zal in ieder geval je pagina's moeten vertalen <img src="/ubbthreads/images/graemlins/grin.gif" alt="" />

 

Of je moet ze al gaan inlinken via vertaalsites...

 

Verder zijn er legio mogelijkheden zoals mensen voor mij al hebben aangegeven. Je kan de taal afvragen van de browser of van het besturingssysteem etc. etc. Hou er wel rekening mee dat als je met ASP de taalgedeeltes gaat includen (zoals bijvoorbeeld een resource file in visualbasic) dat de ene taal meer ruimte vergt dan de andere taal, dus dat je lay-out daar rekening mee moet houden. Vooral een probleem met forms, tabellen en zeer strakke frames.

 

 

CU,

deduijk

Look b4 you leap, learn 2 walk b4 u run, Think b4 u say , ...and most importantly: RTFM. <img src="/ubbthreads/images/graemlins/smile.gif" alt="" />

 

TF 5000PVR, Aston dual 1.07, ArchSat 60cm, Archsat lnb, Visiosat 90cm, Alps twin LNB, Stab hh100, Infinity USB phoenix, cas2 , dragoncam,tita, fun6.

Geplaatst:

Dat vertalen vind ik nog niet zo erg. Maar ik heb nogmaals weinig zin om alles 3x opnieuw te doen dat is de werkverschaffing.

 

Maar ik zie veel mensen altijd praten over PHP maar ik heb mijn site gemaakt met Dreamwaver kan ik daar dan ook PHP gebruiken en bestaat er een nederlandse uitleg over PHP???

 

mvg

Olav

Geplaatst:

Ik ken zo geen NL-talige PHP websites waar je even snel de benodigde PHP-kennis op kunt doen. Maar ik zal het even kort proberen uit te leggen.

 

Het mooie van PHP is dat een PHP-document gewoon HTML-code kan bevatten. Probeer het maar eens, hernoem al je .HTM of .HTML documenten maar eens in .PHP (en pas uiteraard de links aan) en je zult zien dat de site gewoon werkt (als je provider php ondersteunt tenminste).

 

Nadat je zo de site weer werkend hebt gemaakt en getest of alles werkt, is het een koud kunstje om de pagina's aan te passen om het geheel wat flexibeler te maken.

 

Je splitst als het ware je pagina's op in code en tekst. Kort gezegd, alles wat nu tussen je <body> en </body> tags staat noemen we de tekst, de rest noemen we de code.

 

Voorbeeldje:

1. Het HTML document test.htm

Code:
 [color:"blue"] <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Test Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body>Dit is de tekst die op het scherm getoond zou worden.</body></html>[/color] 

 

Splits dit als volgt op in 2 PHP documenten:

1. Het PHP code document test.php

Code:
 [color:"blue"] <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Test Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body></body></html>[/color] 

 

2. Het PHP tekst document test.inc.php

Code:
 [color:"blue"] Dit is de tekst die op het scherm getoond zou worden.[/color] 

 

Om nou die 2 documenten weer zodanig in elkaar te steken dat ze voor de bezoeker een complete pagina vormen, gebruik je een zgn. PHP-include. Een PHP-include is een stukje PHP-specifieke code. Die PHP-code herken je aan de speciale php-code tags: <?php ..en.. ?> Alles wat tussen deze tags staat, is PHP-code.

OK, je pagina komt er dan als volgt uit te zien:

1. Het PHP code document test.php

Code:
 [color:"blue"] <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Test Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><?php include"test.inc.php" ?></body></html>[/color] 

 

Met deze code wordt de pagina test.php identiek weergegeven als de pagina test.htm.

 

Dit was de eerste stap in je proces.

 

Maar om na die aanpassingen meteen ook klaar te zijn voor de verschillende taalversies, zou ik aparte folder aanmaken voor de verschillende talen. Laten we zeggen /de, /fr, /nl en /uk voor resp. de duitse, franse, nederlandse en engelse versies van je site.

 

We verplaatsen de bovengenoemde test.inc.php dus nu naar /nl, en passen meteen ook de PHP-include als volgt aan:

Code:
 [color:"blue"] <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Test Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><?php include"nl/test.inc.php" ?></body></html>[/color] 

 

Probeer het maar, je zult zien dat het nog steeds werkt.

 

Nou is de laatste stap in het proces de truuk om vanuit je links op je startpagina, meteen de juiste taalversie mee te geven. Dat doe je in PHP als volgt:

Code:
 [color:"blue"]  <a href="test.php?taal=nl">De testpagina</a>[/color] 

 

Dus je index pagina van je site zou er zo uit kunnen komen zien:

Code:
 [color:"blue"] <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Site Index</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><a href="test.php?taal=de">Deutsche Version</a><br><a href="test.php?taal=fr">Version Francais</a><br><a href="test.php?taal=nl">Nederlandse versie</a><br><a href="test.php?taal=uk">English version</a><br></body></html>[/color] 

 

Je ziet dat we in alle gevallen naar de zelfde pagina toe gaan (test.php) maar met telkens een andere parameter.

Die parameter moeten we nu opvragen in het document test.php. Dat doen we als volgt. Helemaal aan het begin van het document, plaatsen we een stukje code waarmee we de parameters van die link uitlezen:

Code:
 [color:"blue"]  <?php $taalversie = $_GET["taal"]; ?>[/color] 

 

We vragen dus de inhoud van de parameter "taal" op die in de link is meegegeven en plaatsen die in de variabele $taalversie. Die variabele is nu verder door dit hele document te gebruiken.

Met deze wetenschap gaan we het document test.php nog even verder verfijnen. In plaats van de vaste link-verwijzing (<?php include"nl/test.inc.php" ?>) die ik hierboven noemde, gaan we die link nu variabel maken. Dat doen we simpelweg als volgt:

Code:
 [color:"blue"]  <?php include"$taalversie/test.inc.php" ?>[/color] 

 

Je site komt er dan dus als volgt uit te zien:

De startpagina van je site (index.htm of index.php maakt niet uit):

Code:
 [color:"blue"] <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Site Index</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><a href="test.php?taal=de">Deutsche Version</a><br><a href="test.php?taal=fr">Version Francais</a><br><a href="test.php?taal=nl">Nederlandse versie</a><br><a href="test.php?taal=uk">English version</a><br></body></html>[/color] 

 

Deze pagina linkt naar het document test.php dat er dus als volgt uit ziet:

Code:
 [color:"blue"] <?php $taalversie = $_GET["taal"]; ?><!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN""http://www.w3.org/TR/html4/loose.dtd"><html><head><title>Test Document</title><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"></head><body><?php include"$taalversie/test.inc.php" ?></body></html>[/color] 

 

En op basis van de gekozen taalversie, wordt een tekstfragment met de naam test.inc.php gelezen uit de betreffende taal-directory.

 

Dat is in grote lijnen het hele verhaal.

Geplaatst:

Grote pluim Duwgati perfect uitgelegd. <img src="/ubbthreads/images/graemlins/xyxthumbs.gif" alt="" />

 

Rebel

Geplaatst:

Mooie uitleg Duwgati, complimenten!

Maar persoonlijk gebruik ik toch liever ASP <img src="/ubbthreads/images/graemlins/wink.gif" alt="" />

Geplaatst:

Ik heb me nooit in asp verdiept. Ik kan er dus niet over oordelen. Al wat ik erover kan zeggen is dat php voor mij voldoet en dat ik er geen behoefte aan heb om iets anders erbij te gaan leren <img src="/ubbthreads/images/graemlins/xyxthumbs.gif" alt="" />

Maak een account aan of log in om te reageren

Je moet een lid zijn om een reactie te kunnen achterlaten

Account aanmaken

Registreer voor een nieuwe account in onze community. Het is erg gemakkelijk!

Registreer een nieuwe account

Inloggen

Heb je reeds een account? Log hier in.

Nu inloggen
  • Wie is er online   0 leden

    • Er zijn geen geregistreerde gebruikers deze pagina aan het bekijken
×
×
  • Nieuwe aanmaken...