Bekijk Volledige Versie : Meertalige website
Hoe maak je best een meertalige website ?
Heb dat ooit eens voor een kleine vzw gemaakt, met een simpele if : als
gekozen taal (uit cookie of link) engels is, toon engelse tekst, anders too
nederlandse tekst. Ik heb maar een tweetalige site nodig, maar je kan het
natuurlijk ook zo maken dat er moeiteloos (behalve voor de vertaler dan)
andere talen kunnen toegevoegd worden (dan heb ik het over frans, duits,
spaans en niet over arabisch, chinees, ...).
Standaard taal is nederlands. Wanneer de bezoeker een andere taal kiest
(voorlopig enkel engels) dan stop je dat best in een cookie, vermoed ik, en
voor het geval dat er geen cookies aanvaard worden, kun je de taalkeuze ook
meegeven als een parameter in de links
(www.mijnsite.be/dezepagina.php?taal=en). Tenzij er andere alternatieven
zijn.
Waar stockeer je de teksten ? 2Dimensionale array (ok voor kleine stukjes
tekst), includes, xml, databank, ... ?
Pugi!
Geert Wirken
21/05/06, 20:40
Pugi! schreef op 21-5-2006 20:28:
> Hoe maak je best een meertalige website ?
[knip]
> Standaard taal is nederlands. Wanneer de bezoeker een andere taal kiest
> (voorlopig enkel engels) dan stop je dat best in een cookie, vermoed ik, en
> voor het geval dat er geen cookies aanvaard worden, kun je de taalkeuze ook
> meegeven als een parameter in de links
> (www.mijnsite.be/dezepagina.php?taal=en). Tenzij er andere alternatieven
> zijn.
Je zou URL rewriting kunnen overwegen, je krijgt dan iets als:
www.domeinnaam.nl/nl/pagina.php
www.domeinnaam.nl/en/pagina.php
enz., je kunt dan met php achterhalen welke taal bedoelt wordt.
Verder stuurt een browser vaak ook een HTTP_ACCEPT_LANGUAGE mee, je kunt
daarmee achterhalen of een gebruiker wel of geen Nederlands wil/kan
spreken (misschien handig voor een eerste taalkeuze, i.p.v. standaard
Nederlands).
> Waar stockeer je de teksten ? 2Dimensionale array (ok voor kleine stukjes
> tekst), includes, xml, databank, ... ?
Als je alle pagina's toch in een database stopt (CMS) zou ik alle
pagina's in een database stoppen met een taal flag en de kleine teksten
(copyright, footer etc.) in een include. Maar als het vooral statische
pagina's zijn kun je ook de pagina's zelf in include of tekstbestand
stoppen. Het hangt er van af hoe vaak de pagina's geupdate worden, en
hoe belangrijk performance is, en zo.
Philip Paeps
21/05/06, 21:20
Pugi! <reply@group.be> wrote:
> Hoe maak je best een meertalige website?
Met medewerkers die de verschillende talen goed beheersen, of met de hulp van
een professioneel vertaalbureau.
> Heb dat ooit eens voor een kleine vzw gemaakt, met een simpele if: als
> gekozen taal (uit cookie of link) engels is, toon engelse tekst, anders too
> nederlandse tekst.
Je kunt dit ook zonder koekjes (en zo zonder ergernis voor de gebruiker) doen
met behulp van content negotiation. Als je Apache gebruikt, zou je dan in een
<Directory> block in je httpd.conf (of in de toepasselijke .htaccess) iets als
dit kunnen zetten:
Options +MultiViews +Includes
AddOutputFilter INCLUDES .html
LanguagePriority nl fr
ForceLanguagePriority Fallback
AddLanguage nl .nl
AddLanguage fr .fr
Als je verwacht dat er mensen browsers gaan gebruiken die geen content
negotiation doen, of dat er bezoekers zien wiens browsers een taal verzoeken
die ze niet spreken, of als je gewoon een fallback wil geven, kan je er dan
nog bijzetten:
SetEnvIf Cookie "language=fr" prefer-language=fr
SetEnvIf Cookie "language=nl" prefer-language=nl
> Waar stockeer je de teksten?
Indien je content negotiation gebruikt, zoals in mijn voorbeeld, kan je je
teksten gewoon als HTML files bewaren. Je noemt ze dan foo.html.nl of
foo.html.fr bijvoorbeeld.
> 2Dimensionale array (ok voor kleine stukjes tekst), includes, xml,
> databank,...?
Als je om andere redenen scripts en een database nodig hebt, kan je het
inderdaad zo doen. Als je deze technologie voor de rest echter niet nodig
hebt, kan het een stuk eenvoudiger met gewone files op het filesystem.
Deze oplossing is ook handig voor vertalers: die hoeven dan enkel HTML files
aan te leveren. Als je je content en je opmaak gescheiden houdt (door CSS te
gebruiken) kan hier weinig mee fout gaan.
- Philip
--
Philip Paeps Please don't email any replies
philip@paeps.cx I follow the newsgroup.
BOFH Excuse #321:
Scheduled global CPU outage
Erick T. Barkhuis
21/05/06, 21:20
Pugi!:
> Hoe maak je best een meertalige website ?
Al eens overwogen beide talen tegelijk aan te bieden in hetzelfde
document?
Voorbeeld: http://elystar.ardane.com/
"Geert Wirken" <usenet@gwirken.nl> schreef in bericht
news:4470b2db$0$31645$e4fe514c@news.xs4all.nl...
> Pugi! schreef op 21-5-2006 20:28:
>> Hoe maak je best een meertalige website ?
> [knip]
>> Standaard taal is nederlands. Wanneer de bezoeker een andere taal kiest
>> (voorlopig enkel engels) dan stop je dat best in een cookie, vermoed ik,
>> en
>> voor het geval dat er geen cookies aanvaard worden, kun je de taalkeuze
>> ook
>> meegeven als een parameter in de links
>> (www.mijnsite.be/dezepagina.php?taal=en). Tenzij er andere alternatieven
>> zijn.
>
> Je zou URL rewriting kunnen overwegen, je krijgt dan iets als:
> www.domeinnaam.nl/nl/pagina.php
> www.domeinnaam.nl/en/pagina.php
>
> enz., je kunt dan met php achterhalen welke taal bedoelt wordt.
> Verder stuurt een browser vaak ook een HTTP_ACCEPT_LANGUAGE mee, je kunt
> daarmee achterhalen of een gebruiker wel of geen Nederlands wil/kan
> spreken (misschien handig voor een eerste taalkeuze, i.p.v. standaard
> Nederlands).
>
>
>> Waar stockeer je de teksten ? 2Dimensionale array (ok voor kleine stukjes
>> tekst), includes, xml, databank, ... ?
>
> Als je alle pagina's toch in een database stopt (CMS) zou ik alle
> pagina's in een database stoppen met een taal flag en de kleine teksten
> (copyright, footer etc.) in een include. Maar als het vooral statische
> pagina's zijn kun je ook de pagina's zelf in include of tekstbestand
> stoppen. Het hangt er van af hoe vaak de pagina's geupdate worden, en
> hoe belangrijk performance is, en zo.
Heb al iets over url rewriting gelezen, maar beschouwde dat voor een
volgende versie van mijn website.
Kun je me soms een goed boek, manual, website, ... aanraden ?
(regulier expressies moet ik ook nog eens bekijken).
Pugi!
"Philip Paeps" <philip+usenet@paeps.cx> schreef in bericht
news:slrne71dj3.2iu4.philip+usenet@fasolt.home.pae ps.cx...
> Pugi! <reply@group.be> wrote:
>> Hoe maak je best een meertalige website?
>
> Met medewerkers die de verschillende talen goed beheersen, of met de hulp
> van
> een professioneel vertaalbureau.
>
>> Heb dat ooit eens voor een kleine vzw gemaakt, met een simpele if: als
>> gekozen taal (uit cookie of link) engels is, toon engelse tekst, anders
>> too
>> nederlandse tekst.
>
> Je kunt dit ook zonder koekjes (en zo zonder ergernis voor de gebruiker)
> doen
> met behulp van content negotiation. Als je Apache gebruikt, zou je dan in
> een
> <Directory> block in je httpd.conf (of in de toepasselijke .htaccess) iets
> als
> dit kunnen zetten:
>
> Options +MultiViews +Includes
> AddOutputFilter INCLUDES .html
>
> LanguagePriority nl fr
> ForceLanguagePriority Fallback
> AddLanguage nl .nl
> AddLanguage fr .fr
>
> Als je verwacht dat er mensen browsers gaan gebruiken die geen content
> negotiation doen, of dat er bezoekers zien wiens browsers een taal
> verzoeken
> die ze niet spreken, of als je gewoon een fallback wil geven, kan je er
> dan
> nog bijzetten:
>
> SetEnvIf Cookie "language=fr" prefer-language=fr
> SetEnvIf Cookie "language=nl" prefer-language=nl
>
>> Waar stockeer je de teksten?
>
> Indien je content negotiation gebruikt, zoals in mijn voorbeeld, kan je je
> teksten gewoon als HTML files bewaren. Je noemt ze dan foo.html.nl of
> foo.html.fr bijvoorbeeld.
>
>> 2Dimensionale array (ok voor kleine stukjes tekst), includes, xml,
>> databank,...?
>
> Als je om andere redenen scripts en een database nodig hebt, kan je het
> inderdaad zo doen. Als je deze technologie voor de rest echter niet nodig
> hebt, kan het een stuk eenvoudiger met gewone files op het filesystem.
>
> Deze oplossing is ook handig voor vertalers: die hoeven dan enkel HTML
> files
> aan te leveren. Als je je content en je opmaak gescheiden houdt (door CSS
> te
> gebruiken) kan hier weinig mee fout gaan.
>
> - Philip
>
> --
> Philip Paeps Please don't email any replies
> philip@paeps.cx I follow the newsgroup.
>
> BOFH Excuse #321:
> Scheduled global CPU outage
Kun je goed boek of manual aanraden ivm apache ?
Werkt dat ook met php bestanden ?
foo.php.nl, foo.php.en, ...
Pugi!
Branko Collin
21/05/06, 22:40
On Sun, 21 May 2006 20:28:18 +0200, "Pugi!" <reply@group.be> wrote:
>Waar stockeer je de teksten ? 2Dimensionale array (ok voor kleine stukjes
>tekst), includes, xml, databank, ... ?
Er zijn standaard bibliotheken die dit voor je afhandelen, zoals
gettext.
--
branko collin
Volk van San Theodoros, ik heb U begrepen.
Philip Paeps
22/05/06, 00:00
Pugi! <reply@group.be> wrote:
> Philip Paeps <philip+usenet@paeps.cx> wrote:
> > Pugi! <reply@group.be> wrote:
> > > Heb dat ooit eens voor een kleine vzw gemaakt, met een simpele if: als
> > > gekozen taal (uit cookie of link) engels is, toon engelse tekst, anders
> > > too nederlandse tekst.
> >
> > Je kunt dit ook zonder koekjes (en zo zonder ergernis voor de gebruiker)
> > doen met behulp van content negotiation. Als je Apache gebruikt, zou je
> > dan in een <Directory> block in je httpd.conf (of in de toepasselijke
> > .htaccess) iets als dit kunnen zetten: [...[
>
> Kun je goed boek of manual aanraden ivm apache?
Apache is uitstekend gedocumenteerd. Als je Apache 2.0 gebruikt, vind je de
documentatie op <http://httpd.apache.org/docs/2.0/>. Een beetje creativiteit
helpt je ook de documentatie voor andere versies te vinden.
> Werkt dat ook met php bestanden?
> foo.php.nl, foo.php.en,...
Ja. Als ik me niet vergis, heeft PHP intern ook ondersteuning voor content
negotiation. Als je dus echt PHP wil/moet gebruiken, kan je het vermoedelijk
in je script opvangen.
- Philip
--
Philip Paeps Please don't email any replies
philip@paeps.cx I follow the newsgroup.
"I used to think that *I* was stupid, and then I met
philosophers."
-- (Terry Pratchett, Small Gods)
John Bokma
22/05/06, 01:20
Geert Wirken <usenet@gwirken.nl> wrote:
> Pugi! schreef op 21-5-2006 20:28:
>> Hoe maak je best een meertalige website ?
> [knip]
>> Standaard taal is nederlands. Wanneer de bezoeker een andere taal
>> kiest (voorlopig enkel engels) dan stop je dat best in een cookie,
>> vermoed ik, en voor het geval dat er geen cookies aanvaard worden,
>> kun je de taalkeuze ook meegeven als een parameter in de links
>> (www.mijnsite.be/dezepagina.php?taal=en). Tenzij er andere
>> alternatieven zijn.
>
> Je zou URL rewriting kunnen overwegen, je krijgt dan iets als:
> www.domeinnaam.nl/nl/pagina.php
> www.domeinnaam.nl/en/pagina.php
Multiviews kan een optie zijn:
<http://httpd.apache.org/docs/1.3/content-negotiation.html>
--
John Bokma
Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html
John Bokma
22/05/06, 01:20
Erick T. Barkhuis <erick.usenet@ardane.c-o-m> wrote:
> Pugi!:
>
>> Hoe maak je best een meertalige website ?
>
> Al eens overwogen beide talen tegelijk aan te bieden in hetzelfde
> document?
> Voorbeeld: http://elystar.ardane.com/
Niet gekeken, maar dat betekend dus dat een website ineens naar 50% ruis
gaat. En hoe gaat dat met 5 talen? :-D
--
John Bokma
Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html
Erick T. Barkhuis
22/05/06, 09:20
John Bokma:
> Erick T. Barkhuis <erick.usenet@ardane.c-o-m> wrote:
>
> > Pugi!:
> >
> >> Hoe maak je best een meertalige website ?
> >
> > Al eens overwogen beide talen tegelijk aan te bieden in hetzelfde
> > document?
> > Voorbeeld: http://elystar.ardane.com/
>
> Niet gekeken, maar dat betekend dus dat een website ineens naar 50% ruis
> gaat. En hoe gaat dat met 5 talen? :-D
Meer ruis.
Maar John, websites bestaan toch al voor slechts een heel klein deel uit
de informatie die je wilt geven. Heb je al eens geteld hoeveel pixels
daadwerkelijk gebruikt worden voor het vormen van lettertjes, en hoeveel
pixels daar niets mee te maken hebben? ;-p
--
Erick
"A journey of a thousand miles begins with a single step." - Lao-Tse
Carl Colijn
22/05/06, 10:40
In news:BcKdnSEwnK3VLO3ZnZ2dnUVZ8qqdnZ2d@scarlet.biz,
Pugi! <reply@group.be> typed:
> Hoe maak je best een meertalige website ?
>
> Heb dat ooit eens voor een kleine vzw gemaakt, met een simpele if :
> als gekozen taal (uit cookie of link) engels is, toon engelse tekst,
> anders too nederlandse tekst. Ik heb maar een tweetalige site nodig,
> maar je kan het natuurlijk ook zo maken dat er moeiteloos (behalve
> voor de vertaler dan) andere talen kunnen toegevoegd worden (dan heb
> ik het over frans, duits, spaans en niet over arabisch, chinees, ...).
>
> Standaard taal is nederlands. Wanneer de bezoeker een andere taal
> kiest (voorlopig enkel engels) dan stop je dat best in een cookie,
> vermoed ik, en voor het geval dat er geen cookies aanvaard worden,
> kun je de taalkeuze ook meegeven als een parameter in de links
> (www.mijnsite.be/dezepagina.php?taal=en). Tenzij er andere
> alternatieven zijn.
>
> Waar stockeer je de teksten ? 2Dimensionale array (ok voor kleine
> stukjes tekst), includes, xml, databank, ... ?
>
> Pugi!
Hoi Pugi,
Onze website is ook 2-talig (en/nl). Wij hebben het opgelost door de
hoofdindexpagina (/index.asp) een "kies je taal" pagina te laten zijn, en
vervolgens de 2 talen (nederlands en engels) in aparte subdirectories te
zetten; fysiek 2 aparte takken dus. Een voorbeeld: /nl/services/index.asp
vs. /en/services/index.asp Je hoeft zo geen cookies te gebruiken om de
taalkeuze over sessies heen te bewaren, omdat de paden fysiek anders zijn.
En we vertrouwen erop dat de gebruikers via de goede taalpagina binnen
worden gestuurd door de zoekmachines :)
Omdat de pagina's dan wel gedupliceerd worden, hebben we ervoor gekozen de
standaard paginaindeling (menu, header, footer, etc.) in een include
framewerk te zetten. Verder hebben de 2 taaltakken dezelfde
filesysteemstructuur, zodat je makkelijk van de ene taal in de andere kan
switchen door alleen de url aan te passen door op positie 3 in het URL pad
een andere code neer te zetten; de taalkeuze wordt verder door het framework
geregeld. Hierdoor bevatten de pagina's alleen maar een paar standaard
includes, wat Const parameters en de tekst zelf. De pagina's hangen bij ons
redelijk van script aan elkaar (het is dan ook de site van een paar
programmeurs :) ), maar je kan het ook vrij basic houden. Een nadeel is
natuurlijk wel dat je zo moeilijk een CMS kan gebruiken, omdat de site toch
een beetje uit losse tekstfragmenten bestaat (alhoewel je het framewerk zelf
in combinatie met Windows Verkenner / Notepad natuurlijk ook als een heel
simpel CMS kan zien).
Een voorbeeldje van een pagina met wat extra commentaar erin; maakt het een
stuk duidelijker:
=================================================
<%
Option Explicit
Const sLang = "nl" ' De taal van deze pagina
Const bShowLangSwitch = True ' Of de pagina vertaald is (of er een
taalvlag wordt getoont)
Const bSwitchWithQuery = True ' Of de querystring meemoet met het
switchen van de taal
Const sTitle = "TwoLogs - Producten - Ondersteuning"
Const sKeywords = "producten ondersteuning ondersteuningsvraag formulier
fout gevonden twologs"
Const sDescription = "Gebruik onderstaand formulier om uw
ondersteuningsvraag te stellen. Heeft u een tekortkoming in een van onze
producten gevonden, dan kunt u ons ook via dit formulier hiervan op de
hoogte stellen."
Const sMainHeading = "Ondersteuning" ' Hoofdtitel van de pagina voor in
de H1
Const sSection = "products" ' De sectie...
Const sSubSection = "support" ' ...subsectie...
Const sPageName = "support" ' ... en paginanaam voor het menu,
stylekeuze, custom logging, etc.
%>
<!-- #include file="..\..\framework\page_1.asp" -->
<!-- Ruimte voor extra dingen voor in de header, zoals JavaScript en inline
styles -->
<!-- #include file="..\..\framework\page_2.asp" -->
<!-- Nu de algemene header include in de juiste taal (/nl/header c.q.
/en/header) -->
<!-- #include file="..\header.asp" -->
<!-- #include file="..\..\framework\page_3.asp" -->
<!-- Nu de toc voor deze sectie (/nl/services/toc c.q. /nl/contact/toc) -->
<!-- #include file="toc.asp" -->
<!-- #include file="..\..\framework\page_4.asp" -->
<p>De paginatekst!</p>
<!-- #include file="..\..\framework\page_5.asp" -->
<!-- Nu de algemene footer include in de juiste taal (/nl/footer c.q.
/en/footer) -->
<!-- #include file="..\footer.asp" -->
<!-- #include file="..\..\framework\page_6.asp" -->
=================================================
Overigens zitten we nog te denken aan een betere oplossing voor de algemene
"Kies je taal" pagina: gewoon 2 domeinen registreren; eentje de .com voor de
engelse, en eentje de .nl voor de nederlandse. Een kleine cosmetische
verbetering, maar je moet natuurlijk wel de luxe hebben dat je domeinnaam
nog vrij is.
Groetjes,
Carl Colijn
--
TwoLogs - IT Dienstverlening en Productontwikkeling
A natural choice!
http://www.twologs.com
TimeTraces: het krachtige en veelzijdige tijdsregistratiesysteem!
http://www.twologs.com/en/products/timetraces.asp
Carl Colijn wrote:
> In news:BcKdnSEwnK3VLO3ZnZ2dnUVZ8qqdnZ2d@scarlet.biz,
> Pugi! <reply@group.be> typed:
>
>>Hoe maak je best een meertalige website ?
Door op elke pagina een link op te nemen naar de tekst in de beschikbare
talen.
[knip splashscreen en frameworks etc.]
> Overigens zitten we nog te denken aan een betere oplossing voor de algemene
> "Kies je taal" pagina: gewoon 2 domeinen registreren; eentje de .com voor de
> engelse, en eentje de .nl voor de nederlandse. Een kleine cosmetische
> verbetering, maar je moet natuurlijk wel de luxe hebben dat je domeinnaam
> nog vrij is.
Door twee domeinen te gebruiken voor 1 en dezelfde site, laat je beiden
concurreren ipv. elkaar te versterken door meer inhoud beschikbaar te
stellen in diverse talen.
--
Webontwerp: http://vision2form.nl/webontwerp/
Korte handleiding zoekmachine optimalisatie / gevonden worden:
http://vision2form.nl/webontwerp/gevonden-worden.html
Lifestyle - wonen reizen en genieten : http://vision4living.com
Bart Friederichs
22/05/06, 12:00
Pugi! wrote:
> Hoe maak je best een meertalige website ?
De oplossing die ik gebruikt hebt is als volgt:
Een 'lang' variabele in je session opnemen en alles wat taal-afhankelijk
is (teksten, sommige plaatjes, etc) staat als file op je server. Die
files include je dan als volgt:
include ("filename_".$_SESSION['lang'].".ext);
Bijvoorbeeld, je hebt een tekst en een plaatje:
text/body_NL.htmlpart
text/body_EN.htmlpart
images/logo_NL.jpg
images/logo_EN.jpg
En een linkje op een vlaggetje van een land, die alleen die session
variabele verandert (<a href="$PHP_THIS_FILENAME?lang=NL"><img
src="vlag_NL.jpg"></a>).
Voordelen: Talen toevoegen is makkelijk, switchen kan live, dus niet
eerst terug naar de beginpagina; met 1 click is je pagina vertaald.
Nadelen: Alles in je pagina moet altijd 100% vertaald zijn, naar alle
talen die je aanbiedt.
Zo staat het nu in ons CMS (phpwcms) en het werkt goed.
Bart
Carl Colijn
22/05/06, 12:00
In news:4ddbqlF19vd78U1@individual.net,
tonnie <t.prasing@chello.nl> typed:
> Carl Colijn wrote:
>> Overigens zitten we nog te denken aan een betere oplossing voor de
>> algemene "Kies je taal" pagina: gewoon 2 domeinen registreren;
>> eentje de .com voor de engelse, en eentje de .nl voor de
>> nederlandse. Een kleine cosmetische verbetering, maar je moet
>> natuurlijk wel de luxe hebben dat je domeinnaam nog vrij is.
>
> Door twee domeinen te gebruiken voor 1 en dezelfde site, laat je
> beiden concurreren ipv. elkaar te versterken door meer inhoud
> beschikbaar te stellen in diverse talen.
Hoi Tonnie,
Niet dat ik je stelling in twijfel trek, maar ik vraag me dan een paar
dingen af;
* Is het niet zo dat de twee aparte sites toch al vrijwel totaal
verschillend zijn voor zoekmachines omdat ze compleet andere woorden
gebruiken? Dan zou je er toch in ieder geval een stuk minder last van
moeten hebben...
* Al onze pagina's beginnen met <html lang=...>; ik weet niet hoeveel mensen
bij Google "alleen pagina's in het ..." gebruiken, maar op deze manier geeft
dit ook geen concurrentie.
* Is het niet zo dat (wat Google betreft) de pagina's allemaal los van
elkaar worden beoordeeld wat hun pagerank betreft? Dus als een pagina in je
site een hoge PR heeft, en die linkt naar de anderstalige site, geeft 'ie
alsnog automatisch zijn PR zo door...
* De taalvlag op onze site zou dan niet naar de anderstalige tak wijzen,
maar direct naar de goede pagina op de andere site; op die manier is het
vrij transparant voor de gebruiker (zelfs iets logischer).
Ben benieuwd naar je reactie!
Groetjes,
Carl
Carl Colijn
22/05/06, 12:00
In news:44718492$0$31640$e4fe514c@news.xs4all.nl,
Bart Friederichs <bf@tbwb.nl> typed:
> Pugi! wrote:
>> Hoe maak je best een meertalige website ?
>
> De oplossing die ik gebruikt hebt is als volgt:
>
> Een 'lang' variabele in je session opnemen en alles wat
> taal-afhankelijk is (teksten, sommige plaatjes, etc) staat als file
> op je server. Die files include je dan als volgt:
>
> include ("filename_".$_SESSION['lang'].".ext);
>
> Bijvoorbeeld, je hebt een tekst en een plaatje:
> text/body_NL.htmlpart
> text/body_EN.htmlpart
> images/logo_NL.jpg
> images/logo_EN.jpg
>
> En een linkje op een vlaggetje van een land, die alleen die session
> variabele verandert (<a href="$PHP_THIS_FILENAME?lang=NL"><img
> src="vlag_NL.jpg"></a>).
>
> Voordelen: Talen toevoegen is makkelijk, switchen kan live, dus niet
> eerst terug naar de beginpagina; met 1 click is je pagina vertaald.
>
> Nadelen: Alles in je pagina moet altijd 100% vertaald zijn, naar alle
> talen die je aanbiedt.
>
> Zo staat het nu in ons CMS (phpwcms) en het werkt goed.
>
> Bart
Hoi Bart,
Omdat we andere prioriteiten hadden als het vertalen van sommige delen van
onze website hadden wij hier ook eerst last van ("alles moet vertaald
zijn"). We toonden dus maar een "This page is not yet available in English.
Sorry blahblahblah" voor die pagina's; niet echt een mooie oplossing. We
zijn er vanaf gestapt door op elke pagina een constante te declareren die
aangeeft of de pagina vertaald is; afhankelijk hiervan wordt door het
framework de taalvlag wel of niet getoond. Op die manier kun je ook secties
op je site maken die slechts in 1 taal beschikbaar zijn; kan soms handig
zijn of gewoon beter zo uitkomen.
Ons framewerk is echter waarschijnlijk precies omgekeerd aan de jouwe; bij
ons staat de pagina met tekst centraal en include die het framework, bij jou
lijkt de pagina het framework te zijn en include die vervolgens de tekst
zelf. Onze oplossing zou dan niet mogelijk zijn in jouw site. Maar je zou
wel kunnen kijken of de betreffende taal op disk aanwezig is, en afhankelijk
daarvan de taalvlag tonen. Of, wat iets betere performance geeft maar wel
meer administratie vergt, ook een extra standaard include maken op elke
pagina met daarin alleen een paar PHP variabelen die de mogelijke talen
bevat voor die pagina, en afhankelijk daarvan je framework de nodige
taalvlag(gen) laten kiezen.
Groetjes,
Carl
Carl Colijn wrote:
> In news:4ddbqlF19vd78U1@individual.net,
> tonnie <t.prasing@chello.nl> typed:
>
>>Carl Colijn wrote:
>>
>>>Overigens zitten we nog te denken aan een betere oplossing voor de
>>>algemene "Kies je taal" pagina: gewoon 2 domeinen registreren;
>>>eentje de .com voor de engelse, en eentje de .nl voor de
>>>nederlandse. Een kleine cosmetische verbetering, maar je moet
>>>natuurlijk wel de luxe hebben dat je domeinnaam nog vrij is.
>>
>>Door twee domeinen te gebruiken voor 1 en dezelfde site, laat je
>>beiden concurreren ipv. elkaar te versterken door meer inhoud
>>beschikbaar te stellen in diverse talen.
>
>
> Hoi Tonnie,
>
> Niet dat ik je stelling in twijfel trek, maar ik vraag me dan een paar
> dingen af;
>
> * Is het niet zo dat de twee aparte sites toch al vrijwel totaal
> verschillend zijn voor zoekmachines omdat ze compleet andere woorden
> gebruiken? Dan zou je er toch in ieder geval een stuk minder last van
> moeten hebben...
Het gaat hierbij niet zozeer om het verschil in taal, maar eerder om de
hoeveelheid pagina's (lees inhoud) en de hoeveelheid backlinks naar het
domein.
In het geval van 2 domeinen, deel je beide op.
> * Al onze pagina's beginnen met <html lang=...>; ik weet niet hoeveel mensen
> bij Google "alleen pagina's in het ..." gebruiken, maar op deze manier geeft
> dit ook geen concurrentie.
<html lang=...> zou door Google gevolgd moeten worden, maar de ervaring
leert dat dat niet zo is. Eigenwijs als ze zijn beslissen ze zelf waar
de pagina toe behoort.
Ook zonder het lang attribuut weet Google de pagina in te delen.
Schijnbaar zelfs beter.
> * Is het niet zo dat (wat Google betreft) de pagina's allemaal los van
> elkaar worden beoordeeld wat hun pagerank betreft? Dus als een pagina in je
> site een hoge PR heeft, en die linkt naar de anderstalige site, geeft 'ie
> alsnog automatisch zijn PR zo door...
PR is niet belangrijk. Waar het om gaat is inhoud, hoeveelheid pagina's
en de links.
>
> * De taalvlag op onze site zou dan niet naar de anderstalige tak wijzen,
> maar direct naar de goede pagina op de andere site; op die manier is het
> vrij transparant voor de gebruiker (zelfs iets logischer).
Afgezien van het feit dat afbeeldingen voor een link niet echt optimaal
zijn, laten we taalvlaggetjes maar even buiten deze discussie. ;)
Een bezoeker van de pagina die dezelfde tekst in een andere taal wil
lezen, is er niet bij gebaat eerst naar de hoofdpagina van de
desbetreffende taal te worden verwezen alwaar hij zijn zoektocht naar
het gewenste document kan hervatten. En dat valt prima te bereiken op 1
en hetzelfde domein.
--
Webontwerp: http://vision2form.nl/webontwerp/
Korte handleiding zoekmachine optimalisatie / gevonden worden:
http://vision2form.nl/webontwerp/gevonden-worden.html
Lifestyle - wonen reizen en genieten : http://vision4living.com
Carl Colijn
22/05/06, 12:40
In news:4ddg6fF19i3ipU1@individual.net,
tonnie <t.prasing@chello.nl> typed:
> Carl Colijn wrote:
>> In news:4ddbqlF19vd78U1@individual.net,
>> tonnie <t.prasing@chello.nl> typed:
>>
>>> Carl Colijn wrote:
>>>
>>>> Overigens zitten we nog te denken aan een betere oplossing voor de
>>>> algemene "Kies je taal" pagina: gewoon 2 domeinen registreren;
>>>> eentje de .com voor de engelse, en eentje de .nl voor de
>>>> nederlandse. Een kleine cosmetische verbetering, maar je moet
>>>> natuurlijk wel de luxe hebben dat je domeinnaam nog vrij is.
>>>
>>> Door twee domeinen te gebruiken voor 1 en dezelfde site, laat je
>>> beiden concurreren ipv. elkaar te versterken door meer inhoud
>>> beschikbaar te stellen in diverse talen.
>>
>> Hoi Tonnie,
>>
>> Niet dat ik je stelling in twijfel trek, maar ik vraag me dan een
>> paar dingen af;
>>
>> * Is het niet zo dat de twee aparte sites toch al vrijwel totaal
>> verschillend zijn voor zoekmachines omdat ze compleet andere woorden
>> gebruiken? Dan zou je er toch in ieder geval een stuk minder last
>> van moeten hebben...
>
> Het gaat hierbij niet zozeer om het verschil in taal, maar eerder om
> de hoeveelheid pagina's (lees inhoud) en de hoeveelheid backlinks
> naar het domein.
>
> In het geval van 2 domeinen, deel je beide op.
Hoi Tonnie,
Zie commentaar bij volgende stuk...
>> * Is het niet zo dat (wat Google betreft) de pagina's allemaal los
>> van elkaar worden beoordeeld wat hun pagerank betreft? Dus als een
>> pagina in je site een hoge PR heeft, en die linkt naar de
>> anderstalige site, geeft 'ie alsnog automatisch zijn PR zo door...
>
> PR is niet belangrijk. Waar het om gaat is inhoud, hoeveelheid
> pagina's en de links.
Inhoud is altijd goed natuurlijk, maar die overlapt volgens mij niet
(genoeg) tussen de talen om concurrentie op te leveren tussen de talen. En
dan nog: ook al concurreren ze, dan krijgt de bezoeker in het ene geval 2
hits van dezelfde site te zien, en anders 2 hits van verschillende sites.
En aangezien b.v. Google initieel max. 2 hits per site toont, is de 2e optie
zelfs beter als de zoekopdracht meer dan in totaal 2 hits opleverd, omdat je
zo het aantal getoonde hits effectief verdubbeld.
Maar als mijn veronderstelling klopt dat alle pagina's los van elkaar worden
beoordeeld bij Google (onafhankelijk van de site waar ze in zitten), en als
enige externe invloed inderdaad het aantal inkomende links heeft, dan maakt
het toch niet uit of je je pagina's spreid over 2 directories op dezelfde
site of over 2 sites? Zolang de linkstructuur maar hetzelfde is tussen de
pagina's zou de PR dan identiek moeten zijn voor de pagina's. Ook de
grootte van de fysieke site zou dan niet uit moeten maken; de site is zo
groot als dat zijn linkstructuur 'm maakt. Dus (even kort door de bocht
gezegt): alle pagina's zo veel mogelijk direct naar elkaar laten linken, wat
je juist door de taalvlag bereikt. En bij gelijkblijvende content en PR is
er dan geen verschil tussen je score in Google lijkt mij. Mogelijk zie ik
subtiliteiten van andere zoekmachines over het hoofd...?
>> * De taalvlag op onze site zou dan niet naar de anderstalige tak
>> wijzen, maar direct naar de goede pagina op de andere site; op die
>> manier is het vrij transparant voor de gebruiker (zelfs iets
>> logischer).
>
> Afgezien van het feit dat afbeeldingen voor een link niet echt
> optimaal zijn, laten we taalvlaggetjes maar even buiten deze
> discussie. ;)
> Een bezoeker van de pagina die dezelfde tekst in een andere taal wil
> lezen, is er niet bij gebaat eerst naar de hoofdpagina van de
> desbetreffende taal te worden verwezen alwaar hij zijn zoektocht naar
> het gewenste document kan hervatten. En dat valt prima te bereiken op
> 1 en hetzelfde domein.
Onze taalvlaggen worden dynamisch op de server aangemaakt, zodat ze meteen
naar de goede vertaalde pagina wijzen; misschien dat we door deze
veronderstelling langs elkaar heen praten ;) Wat ik me wel realiseer is dat
je alle session state kwijt raakt als je van domein wisselt i.p.v. naar een
andere tak in dezelfde site springt, maar onze pagina's zijn veelal toch
stateless (op de shop e.d. na dan), en dat is verder een andere discussie
voor een andere thread.
Groetjes,
Carl
John Bokma
22/05/06, 20:40
Erick T. Barkhuis <erick.usenet@ardane.c-o-m> wrote:
> John Bokma:
>> Erick T. Barkhuis <erick.usenet@ardane.c-o-m> wrote:
>>
>> > Pugi!:
>> >
>> >> Hoe maak je best een meertalige website ?
>> >
>> > Al eens overwogen beide talen tegelijk aan te bieden in hetzelfde
>> > document?
>> > Voorbeeld: http://elystar.ardane.com/
>>
>> Niet gekeken, maar dat betekend dus dat een website ineens naar 50%
>> ruis gaat. En hoe gaat dat met 5 talen? :-D
>
> Meer ruis.
> Maar John, websites bestaan toch al voor slechts een heel klein deel
> uit de informatie die je wilt geven. Heb je al eens geteld hoeveel
> pixels daadwerkelijk gebruikt worden voor het vormen van lettertjes,
> en hoeveel pixels daar niets mee te maken hebben? ;-p
Dat is witte ruis, dat werkt rustgevend. Maar ik word nooit vrolijk van
handleidingen (b.v.) die twee talen op een pagina proppen.
--
John Bokma
Voorbeeldscripts in Perl: http://johnbokma.com/perl/
Ervaren Perl / Java programmeur beschikbaar: http://castleamber.com/
Tevreden opdrachtgevers: http://castleamber.com/testimonials.html
On Sun, 21 May 2006 20:35:01 +0200, Geert Wirken <usenet@gwirken.nl> wrote:
> Pugi! schreef op 21-5-2006 20:28:
>> Hoe maak je best een meertalige website ?
>> Standaard taal is nederlands. Wanneer de bezoeker een andere taal kiest
>> (voorlopig enkel engels) dan stop je dat best in een cookie, vermoed ik, en
>> voor het geval dat er geen cookies aanvaard worden, kun je de taalkeuze ook
>> meegeven als een parameter in de links
>> (www.mijnsite.be/dezepagina.php?taal=en). Tenzij er andere alternatieven
>> zijn.
>
> Je zou URL rewriting kunnen overwegen, je krijgt dan iets als:
> www.domeinnaam.nl/nl/pagina.php
> www.domeinnaam.nl/en/pagina.php
>
> enz., je kunt dan met php achterhalen welke taal bedoelt wordt.
> Verder stuurt een browser vaak ook een HTTP_ACCEPT_LANGUAGE mee, je kunt
> daarmee achterhalen of een gebruiker wel of geen Nederlands wil/kan
> spreken (misschien handig voor een eerste taalkeuze, i.p.v. standaard
> Nederlands).
Talen zijn zo onbelangrijk. Kijk eens naar de mogelijkheden die een webserver
heeft en ga dat aanbieden in een cookie. Stel je voor dat de mensen die hier
over de vloer komen alleen maar nl mogen lezen, zou niet echt handig zijn.
>> Waar stockeer je de teksten ? 2Dimensionale array (ok voor kleine stukjes
>> tekst), includes, xml, databank, ... ?
wie heeft het over arrays? :-)
> Als je alle pagina's toch in een database stopt (CMS) zou ik alle
> pagina's in een database stoppen met een taal flag en de kleine teksten
> (copyright, footer etc.) in een include.
De vertalers die je wellicht toch moet inhuren laat je rustig vertalen, dat
gooi je in een verdeelde document root waar je alleen komt nadat je als
bezoeker hebt gekozen voor een taal. Hoe je dat aanpakt is eigenlijk
onbelangrijk.
--
<iemand>
iemand heeft een gat gevonden in pdp's access.db? bel cnn
IM: hans.wolters@jabber.xs4all.nl
http://blacklist.kernelnewbies.nl
Op www.eurobilltracker.com is gebruik gemaakt van Babel, zie deze pagina
http://www.eurobilltracker.com/faq/index.php?command=4096;tab=2
Misschien heb je hier wat aan.
"Pugi!" <reply@group.be> schreef in bericht
news:BcKdnSEwnK3VLO3ZnZ2dnUVZ8qqdnZ2d@scarlet.biz. ..
> Hoe maak je best een meertalige website ?
>
> Heb dat ooit eens voor een kleine vzw gemaakt, met een simpele if : als
> gekozen taal (uit cookie of link) engels is, toon engelse tekst, anders
> too nederlandse tekst. Ik heb maar een tweetalige site nodig, maar je kan
> het natuurlijk ook zo maken dat er moeiteloos (behalve voor de vertaler
> dan) andere talen kunnen toegevoegd worden (dan heb ik het over frans,
> duits, spaans en niet over arabisch, chinees, ...).
>
> Standaard taal is nederlands. Wanneer de bezoeker een andere taal kiest
> (voorlopig enkel engels) dan stop je dat best in een cookie, vermoed ik,
> en voor het geval dat er geen cookies aanvaard worden, kun je de taalkeuze
> ook meegeven als een parameter in de links
> (www.mijnsite.be/dezepagina.php?taal=en). Tenzij er andere alternatieven
> zijn.
>
> Waar stockeer je de teksten ? 2Dimensionale array (ok voor kleine stukjes
> tekst), includes, xml, databank, ... ?
>
> Pugi!
>
Maarten Wierda
01/06/06, 11:40
Joop schreef:
> Op www.eurobilltracker.com is gebruik gemaakt van Babel, zie deze
> pagina
> http://www.eurobilltracker.com/faq/index.php?command=4096;tab=2
> Misschien heb je hier wat aan.
Ouch!, Babelfish.
<http://www.yuropeenterprise.com/dutch/index.php>
--
Cheers,
Maarten Wierda ('ongeveer ons'?)
Bart Friederichs
07/06/06, 17:20
Maarten Wierda wrote:
> Ouch!, Babelfish.
>
> <http://www.yuropeenterprise.com/dutch/index.php>
>
Is dat nu echt, of een grap? Ik dacht eerst dat het een grap was, maar
de Engelse versie zit er redelijk normaal uit.
Bart
Maarten Wierda
07/06/06, 18:20
Bart Friederichs schreef:
>> Ouch!, Babelfish.
>>
>> <http://www.yuropeenterprise.com/dutch/index.php>
>>
> Is dat nu echt, of een grap? Ik dacht eerst dat het een grap was, maar
> de Engelse versie zit er redelijk normaal uit.
Ik vrees dat het echt is. Maar nog steeds op een grappige manier natuurlijk.
--
Cheers,
Maarten Wierda
http://www.onlamp.com/pub/a/php/2002/11/28/php_i18n.html
> "Pugi!" <reply@group.be> schreef in bericht
> news:BcKdnSEwnK3VLO3ZnZ2dnUVZ8qqdnZ2d@scarlet.biz. ..
>> Hoe maak je best een meertalige website ?
>>
>> Heb dat ooit eens voor een kleine vzw gemaakt, met een simpele if : als
>> gekozen taal (uit cookie of link) engels is, toon engelse tekst, anders
>> too nederlandse tekst. Ik heb maar een tweetalige site nodig, maar je kan
>> het natuurlijk ook zo maken dat er moeiteloos (behalve voor de vertaler
>> dan) andere talen kunnen toegevoegd worden (dan heb ik het over frans,
>> duits, spaans en niet over arabisch, chinees, ...).
>>
>> Standaard taal is nederlands. Wanneer de bezoeker een andere taal kiest
>> (voorlopig enkel engels) dan stop je dat best in een cookie, vermoed ik,
>> en voor het geval dat er geen cookies aanvaard worden, kun je de
>> taalkeuze ook meegeven als een parameter in de links
>> (www.mijnsite.be/dezepagina.php?taal=en). Tenzij er andere alternatieven
>> zijn.
>>
>> Waar stockeer je de teksten ? 2Dimensionale array (ok voor kleine stukjes
>> tekst), includes, xml, databank, ... ?
>>
>> Pugi!
>>