Gast Geplaatst: 30 juni 2004 Geplaatst: 30 juni 2004 @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
Duwgati Geplaatst: 30 juni 2004 Geplaatst: 30 juni 2004 Als je provider het gebruik van SSI (Server Side Includes) toestaat, of als je er php kunt gebruiken, dan is het makkelijk te doen.
grunnsat Geplaatst: 30 juni 2004 Geplaatst: 30 juni 2004 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.
DroomDoos Geplaatst: 30 juni 2004 Geplaatst: 30 juni 2004 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="" />
Gast Geplaatst: 3 juli 2004 Geplaatst: 3 juli 2004 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
Duwgati Geplaatst: 3 juli 2004 Geplaatst: 3 juli 2004 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.
grunnsat Geplaatst: 3 juli 2004 Geplaatst: 3 juli 2004 Als je Apache gebruikt als web server, bekijk dan deze URL eens: http://httpd.apache.org/docs-2.0/content-negotiation.html Dan hoef je helemaal niets in je eigen pagina's op te nemen, je laat de webserver het werk doen, daar is tie voor <img src="/ubbthreads/images/graemlins/smile.gif" alt="" />.
Gast Geplaatst: 3 juli 2004 Geplaatst: 3 juli 2004 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
deduijk Geplaatst: 4 juli 2004 Geplaatst: 4 juli 2004 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.
Gast Geplaatst: 8 juli 2004 Geplaatst: 8 juli 2004 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
Duwgati Geplaatst: 8 juli 2004 Geplaatst: 8 juli 2004 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.
Gast Geplaatst: 8 juli 2004 Geplaatst: 8 juli 2004 Grote pluim Duwgati perfect uitgelegd. <img src="/ubbthreads/images/graemlins/xyxthumbs.gif" alt="" /> Rebel
Gast Geplaatst: 9 juli 2004 Geplaatst: 9 juli 2004 Mooie uitleg Duwgati, complimenten! Maar persoonlijk gebruik ik toch liever ASP <img src="/ubbthreads/images/graemlins/wink.gif" alt="" />
Duwgati Geplaatst: 9 juli 2004 Geplaatst: 9 juli 2004 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="" />
Aanbevolen berichten
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 accountInloggen
Heb je reeds een account? Log hier in.
Nu inloggen