Meertalige website

Door - Mark -, 14 jaar geleden, 9.541x bekeken

Stap voor stap uitleg voor het opzetten van een meertalige website.

Gesponsorde koppelingen

Inhoudsopgave

  1. Inleiding.
  2. Pagina opbouw.
  3. Settings.
  4. Taal selecteren.
  5. Weergeven van de content.

 

Er zijn 18 reacties op 'Meertalige website'

PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Bas IJzelendoorn
Bas IJzelendoorn
14 jaar geleden
 
0 +1 -0 -1
Ik wil niet de dag prijzen voor het avond is. Maar wat ik voor zover zie. Waarom taal selecteren?? Ik weet dat er tegenwoordig al zelf systemen zien die je automatisch naar de goede taal doorverwijzen. Overigens als ik op een website kom en ik krijg als eerste een pagina waar ik moet selecteren klik ik hem al snel weg. vind het namelijk niet heel erg gebruiksvriendelijk. Maar goed dat is mijn mening.
- Ricardo -
- Ricardo -
14 jaar geleden
 
0 +1 -0 -1
Nimtex, heb je goed gekeken :P?

Er staat een standaard taal jij hoeft niks te selecteren. Wat misschien nog een idee voor je is mark als je vandaag toch bezig ben om er gelijk taal herkenning uit de header van de browser in te bouwen zodat als die taal aanwezig is dat als standaard wordt genomen, en anders pas de default neemt. Maar heel vaak gaat het tegenwoordig ook via je website als www.site.nl/TAAL/pagina.php met .htaccess, wat ook nog eens handig is voor zoekmachines. Maar ik moet toegeven dat ik ook nog sessie's gebruik op deze manier :P
Bas IJzelendoorn
Bas IJzelendoorn
14 jaar geleden
 
0 +1 -0 -1
Mijn fout er overheen gelezen


14 jaar geleden
 
0 +1 -0 -1
Als ik een tweetalige website nodig heb doe ik het inderdaad herschrijven. Niks geen sessies, gewoon in de URL laten staan...


14 jaar geleden
 
0 +1 -0 -1
Volgens mij is het SEO technisch gezien ook beter om in de url de taal in te stellen. En ook is het zo als bijvoorbeeld een Nederlander op een Engelse site komt en hij wilt wat laten zien aan een maat van hem, dat die maat van hem dan ook de taal opnieuw moet instellen, terwijl dat gewoon via de url kan.
Jesper Diovo
Jesper Diovo
14 jaar geleden
 
0 +1 -0 -1
Ik zit met een meertalige website i.p.v. bestanden verzwaren door er in verschillende talen tekst in te zetten, eerder te denken aan een soort centraal variabelpunt waarbij je tekst ophaalt d.m.v. constanten of variabelen.

Bv.:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
<?php
$aNl
= array();
$aEn = array();
$aDe = array();

$aNl['homephp_Box1'] = "Welkom op mijn website...";
$aEn['homephp_Box1'] = "Welcome on my website...";
$aDe['homephp_Box1'] = "Wilkommen auf mein Website...";
?>


Ik denk dat dat veel makkelijker is dan in ieder bestand dezelfde stukken tekst in verschillende talen te zetten.
- Mark -
- Mark -
14 jaar geleden
 
0 +1 -0 -1
De tutorial is nu zo goed als af. Het kan zijn dat ik nog het een of ander toevoeg als me nog iets invalt of opvalt dat niet klopt. Ik moet eerlijk toegeven dat ik het beter eerst in het forum had kunnen laten nalopen. Ik ging er vanuit dat een tutorial scrijven makkelijker was. Ik hoop dat er geen grote fouten in zitten.

@ Chris Kortaan & Karl

Ik geef jullie gelijk dat het bepaalde voordelen heeft om het via de url te doen. Ik heb het alleen nooit erg mooi gevonden. Ik moet wel zeggen dat de website waar ik op moment aan het werken ben de eerste website is die in meerdere talen beschikbaar moet zijn. Op moment geef ik de voorkeur aan de manier beschreven in mijn tutorial.


@ Ricardo

Bedankt voor de tip. Ik heb je idee in het script toegevoegd.


@ Jezpur

Dat is inderdaad ook een optie. Lijkt op wat er staat bij het tweede voorbeeld bij " weergeven van content "
Jesper Diovo
Jesper Diovo
14 jaar geleden
 
0 +1 -0 -1
@Mark: Oh, ja, dat had ik nog niet gezien :P. Maar ik zou dan toch voor ??n bestand gaan, ik weet niet, dan heb je direct alles bij elkaar.
- Mark -
- Mark -
14 jaar geleden
 
0 +1 -0 -1
@ Jezpur

Ik weet niet of het voorbeeld er al stond ten tijde van je post. Zoals ik al zij het is zeer persoons gebonden en het hangt af van hoe je website is opgebouwd.
- SanThe -
- SanThe -
14 jaar geleden
 
0 +1 -0 -1
@Jezpur: Alles in ??n bestand heeft als nadeel dat er dan altijd meerder (grote) array()'s worden gevuld terwijl je er maar ??n gebruikt. Zonde van de tijd en het verspilde geheugen lijkt mij. Verder is het dan ook niet echt eenvoudig on er een vierde taal bij te maken. Met aparte files gaat dat allemaal een stuk makkelijker.

@Mark: Je kijkt netjes of de taalfile wel bestaat. Maar wat nou als ie niet bestaat? Je hebt daar geen alternatief.


13 jaar geleden
 
0 +1 -0 -1
dmv van session zal een zoekmachine slecht ??n taal indexeren dus das k-u-t

daarnaast is het sowieso f*cking irritant als je je zelf verplicht in alle talen dezelfde teksten te hebben

stel je website moet in nl, en, fr en du; en voor fr moet je steeds een vertaal bureau inhuren want dat kan je niet - hehe wie kan er nauw fr tenslote? -
je wilt een nieuw nieuwsbericht toevoegen aan je site dan moet je die eerst schrijven en dan naar het vertaal bureau sturen, wachten, wachten en nog heel lang wachten totdat je de vertaling hebt en dan pas kan je publiceren; gevolg je nieuws is al oud nieuws

so samen vatten; f*ckit met die talen geef ze allemaal lekker een eigen domein en eigen site.
Steen
steen
13 jaar geleden
 
0 +1 -0 -1
@webmakerij: Als jij een bedrijf bent, neem je frans en iemand die vertaalt. Ben je een particulier die veel (onbelangrijke) informatie plaatst, doe je dat in ??n/twee talen, dus dat is geen probleem. (offtopic, wanneer je de middelbare school hebt afgemaakt kun je volgens mij frans of duits)


13 jaar geleden
 
0 +1 -0 -1
@steen:
dan zou je toch beide vertalingen in ??n keer moeten maken en als je net een lap hebt geschreven zal je daar dus niet altijd zin in hebben

en ik weet niet wanneer jij voor het laatste het taal onderwijs van het vo in nederland hebt gechecked weet ik niet maar tussen dat en een taal kunnen zit toch echt heel wat verschil

buitendat zijn er ook genoeg andere talen die je niet standaard op het vo in nederland krijgt (pools, chinees, japans) en hoef je tegenwoordig als je het juist/verkeerd aanpakt amper een taal nog erbij te pakken
Steen
steen
13 jaar geleden
 
0 +1 -0 -1
Aan meertalige website's heb je toch alleen wat wanneer je een buitenlandse doelgroep hebt. Wanneer je deze taal niet spreekt kun je ook geen vragen beantwoorden of offertes maken (uitgaande van maatwerk). Het is dus meestal niet van toepassing een taal te gebruiken die je niet spreekt, wil je dit wel, dan moet dit een goede reden hebben, zoals het verkopen van artikelen die niet taalspecifiek zijn en die te verzenden zijn. Hiervoor ben je dus een bedrijf en is daar de noodzaak tot het inhuren van een specialist.


13 jaar geleden
 
0 +1 -0 -1
@steen er zijn zat bedrijven die internationaal handelen waarbij de web/marketing afdeling zich slechts in ??n land bevindt, de verkoop (en of productie) wordt dan gewoon uitbesteed aan vertegenwoordigers of wordt wel lokaal gedaan
Toby hinloopen
toby hinloopen
13 jaar geleden
 
0 +1 -0 -1
Ik gebruik een .txt file:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
STR_ERROR_404 Requested page #URL# not found.

STR_POWERED_BY Powered by Liveforum #LV_VERSION# and <a href="http://livphp.com/" target="_blank">LivPHP #VERSION#</a>.


Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
/////////////////////
//LOAD LANGUAGE FILES
/////////////////////


$language = array_merge(
        (
LANGUAGE!='en-us'?file('languages/'.LANGUAGE.'.txt'):array())
        ,
file('languages/en-us.txt'));

foreach($language as $str) {
    $str = explode(' ',$str,2);
    if(count($str)==2
    && !defined($str[0])) {
        define($str[0],trim($str[1]));
    }
}

?>


Vervolgens heb je allemaal constanten.

Verder gebruik ik een outputbuffer om alle output op te vangen. Vervolgens gooi ik een preg_replace_callback over de output om alle #CONSTANT_NAME#'s te vervangen met hun waarden. Dit vervangen gebeurt recursief, d.w.z. dat de constants in constants ook vervangen worden.
Martijn Wieringa
Martijn Wieringa
13 jaar geleden
 
0 +1 -0 -1
Taal is zeker een belangrijke issue voor internationaal ge?rienteerde websites. Maar vaak is bepaalde FUNCTIONALITEIT ook gebonden aan een locatie.

Als je zo'n tool toch gaat bouwen, waarom niet Taal + Locatie. Aan zo'n setting kun je dan bijv. ook valuta's, BTW tarieven en betaal methoden koppelen.

Je krijgt dan (als je dit script aan houd) iets als http://www.domeinnaam.nl/EN_UK/index.php

Wat ik ook af en toe ben tegen gekomen bij het maken van webshops, is dat niet alle producten voor alle landen beschikbaar zijn, of totaal andere prijzen hebben i.v.m. import restricties of het alleenrecht van verkoop van een product in een bepaald gebied.

Tot nu toe heb ik er altijd voor gekozen om voor elke TAAL toch maar een compleet eigen website te realiseren. Dit gaf in veel gevallen ook minder problemen met de realisatie van de beheeromgeving en scheelt veel overhead.
PHP hulp
PHP hulp
0 seconden vanaf nu
 

Gesponsorde koppelingen
Andre vredeveld
andre vredeveld
13 jaar geleden
 
0 +1 -0 -1
Hallo

ik ben ook bezig met dit taal bestand ik vind het mooi werken met voorbeeld 1
maar nu wil ik met voorbeeld twee werken en krijg de tekst uit het file bestand niet op de site
ik gebruik deze code om het te laten zien
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
echo ('$l_welcome');
?>

dit is het taal bestand
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
<?php
$l_welcome
= 'Welkom.';
?>


m.v.g.

PS dit krijg ik als fout
Notice: Undefined variable: info in /home/heijnen/domains/ofthetwinvillage.com/public_html/indextalen.php on line 16

ik weet dat de fout goed word aangegeven maar mijn kennis is te klein om er achter te komen waar het fout gaat

wie kan mij in de goede richting helpen

Om te reageren heb je een account nodig en je moet ingelogd zijn.

Inhoudsopgave

  1. Inleiding.
  2. Pagina opbouw.
  3. Settings.
  4. Taal selecteren.
  5. Weergeven van de content.

Labels

  • Geen tags toegevoegd.

PHP tutorial opties

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.