FRIHOSTFORUMSFAQTOSBLOGSDIRECTORY
You are invited to Log in or Register a Frihost Account!

Meertalige websites

 


joe_nl
Hallo allemaal,

nou ben ik al een poosje bezig met meerdere websites, ik kom veel scripts tegen, schrijf mn eigen, pas een hoop aan, enz. enz.
Waar ik nou echt al tijden naar op zoek ben is een goed systeem waardoor je een site meertalig kan maken.
Mogelijk wil ik in de toekomst bijvoorbeeld mijn scripts beschikbaar stellen, maar eerst wil ik ze perfectioneren. Zoals ze dan nu zijn zouden ze ok zijn voor het Nederlandse publiek, maar de wereld is nou eenmaal groter, Engels zou al een stap zijn Very Happy

Er zijn een paar puntjes, bijvoorbeeld: wat doe je met de input? Zoals dit forum hier, we hebben een Nederlandse afdeling, maar ik zie heel dit forum in het Nederlands. Naast dit subforum kom je niet erg veel Nederlands tegen. Dit lijkt me niet echt op te lossen, behalve door het gesplitst te houden.
Ik zou het wel fijn vinden als mensen konden kiezen uit hun eigen taal wat de scripts betreft, dat staat toch professioneler.

Wat voor opbouw is hier het beste voor, hoe defineer je de zinnen goed, hoe zorg je voor zo min mogelijk snelheidsverlies?
Een klein 3-regelig voorbeeldje zou fijn zijn, als iemand dat in de buurt heeft. Wat zijn jullie bevindingen op dit gebied, of heb je er misschien een zoorbeeld-website of tutorial voor?

Alvast bedankt,
Joe.
Babi
Weet je ook in welke taal je schrijft? HTML of PHP? Of nog wat anders? Als je bijvoorbeeld PHP gebruikt zijn er legio voorbeelden op internet te vinden. Zie bijvoorbeeld OSCommerce. In de database wordt opgeslagen welke voorkeur taal je als gebruiker hebt, bijv. 'dutch'. Alle strings staan dan ook ge'define'd in PHP files in directories die include/$language/de_php_met_strings.php, waarbij $language dan 'dutch' of 'english' is.
Met HTML zou je wat met Javascript kunnen klooien, maar zelf gebruik ik dat niet (ik gebruik immers php).
Succes ermee
joe_nl
Hm, stom dat ik dat idd niet vermeld had, zat wel in mn hoofd tijdens het scrijven van mn bericht, mijn excuses daarvoor.

Ik heb het inderdaad over PHP. HTML alleen kom je niet erg ver mee, en JavaScript lijkt me nu niet het meest ideale om dit in te doen idd.

Je ziet het wel vaker bij de professionelere en meer doorontwikkelde scripts als het phpBB-forum (zoals waar je hier tegen aankijkt).

Eigenlijk is mn grootste angst dat het script zal vertragen, heeft iemand daar ervaring mee?

Ter info: ik scrijf inderdaad zo goed als altijd in PHP, in combinatie met MySQL-servers. Prive zit ik hier bij frihost, omdat ik dit prachtig genoeg vind, hoeft niet veel te kosten en zo'n forum als dit vind ik leuk en gezellig, daarnaast doe ik nog een andere site (zie de link in mn onderschrift als je bent ingelogd), waar er ook een aantal niet-nederlandse mensen komen.
Verder is het zowiso leuker om naar een meer internationaal script te gaan, hebben nu over de 1000 vooral Nederlandse users, maar we zouden ook bijvoorbeeld een 2e afdeling met een zo goed als zelfde, maar vertaalde script kunnen beginnen.
Als ik dan toch ga vertalen (wat ik al gedaan heb grotendeels van Engels naar Nederlands, maar dan gewoon in de bestanden 1-op-1), waarom dan niet meteen lang-files erin maken als het allemaal goed werkt?

Ik kom bijvoorbeeld via Google het een en ander tegen dat er zo uitziet:
Code:
define("_PREVIOUS","Vorige pagina");

Maar wat is de beste toepassing, ne hoe pas je het het beste aan?
En nogmaals: wat is de vertraging die je er door krijgt?

Met vriendelijke groet,
Joe.
rvec
De vertraging is er bijna niet. Je moet in een apart bestand per taal een soort woordenboek maken. En in de pagina's zelf gebruik je ipv een normaal woord een verwijzing naar dat woordenboek. In dat woordenboek staat dan bijvoorbeeld:
Code:
define("_PREVIOUS","Vorige pagina");

en in de gewone pagina staat dan:
Code:
_PREVIOUS
ipv Vorige pagina.

Dit kan je ook met hele lappen tekst doen. Ik weet niet precies hoe het werkt maar ik zou eens kijken in de phpbb bestanden, daar zou het in moeten staan en die bestanden zijn over het algemeen goed overzichtelijk gemaakt met veel commentaar.

En als je een extra taal wilt toevoegen kan je alles heel eenvoudig (laten) vertalen, omdat alles wat vertaald moet worden in 1 bestand staat.
joe_nl
Kijk, da's een antwoord waarnaar ik op zoek was, hier heb ik wat aan en ga ik meteen uitproberen! Bedankt!

Misschien een kleine aanpassing: op mijn site heeft iedereen een eigen profiel, staat allemaal in een MySQL-database. Als ik daar nou een extra optie "Taal" in maak, en dat dus laat onthouden als er bijvoorbeeld Nederlands en Engels is, wat is dan een goeie manier om dat elke keer wanneer iemand inlogt meteen zn eigen taal te krijgen?
Ik druk het misschien hopeloos uit, maar in het phpBB-script kan ik het niet echt vinden...

Ik bedoel ongeveer zo:
SQL: 2 opties; Nederlands en Engels
2 volledig vertaalde bestanden lang.nederlands en lang.english (wat voor extensie lijkt je het beste, .php gewoon neem ik aan?)

Joe roep je nu een van de 2 aan, en als je voor de andere kiest, hoe kan die keuze dan het beste worden onthouden, en dan de volgende keer weer weergegeven worden?

Grz. en nogmaals ebdankt,
Joe.
joe_nl
Okeej, het is me heel duidelijk dat je scripts er niet simpeler en duidelijker gaan uitzien Smile

In phpBB zien de taaldefenities er zo uit:
Code:

$lang['Forum'] = 'Forum';
$lang['Category'] = 'Categorie';
$lang['Topic'] = 'Onderwerp';


De manier hoe ze nu welke taal aanroepen is me nog niet helemaal duidelijk, ik weet dat ze de keuze opslaan in ieders profiel, en zo iets wil ik dus ook.

Ik neem aan dat er een of andere include of require in moet bovenaan, en in verband met die keuze mogelijk in combinatie met SQL?

Oja, voor ik het vergeet, wat staat er rondom/boven/onder _PREVIOUS ?

Grz. Joe.
Gieter
Wel, ik denkt dat er een MySQL-query uitgevoerd wordt, die kijkt in de database welke taal ingesteld is voor de huidige gebruiker. Dat wordt opgeslaan in een variable, en met die variable doet men dan bijvoorbeeld:

Code:
include("/lang/". $var . ".php);


Op die manier wordt het volgende (denkbeeldige) bestand met Nederlandse woorden ingevoegd: /lang/dutch.php (dit is een voorbeeld, je kan gelijk welke naam kiezen, zorg gewoon dat het juiste taalbestand geladen wordt.)

Dan hoef je alleen maar de array $lang te gebruiken waar je dat nodig hebt op je webpagina. Ik heb niet veel tijd om deze post te typen, maar ik hoop dat het nu wat duidelijker is.
joe_nl
Ja, hier heb ik wel wat aan denk ik, dank je!
Ik ga het gewoon proberen, en dan hoor je het wel.

Grz. en bedankt,
Joe.
rvec
uit phpBB3 index.php:
Code:
'TOTAL_POSTS'   => sprintf($user->lang[$l_total_post_s], $total_posts),


bovenin het taalbestand:
Code:
if (empty($lang) || !is_array($lang))
{
   $lang = array();
}


en een stukje uit het taalbestand:
Code:
$lang = array_merge($lang, array(
   'ACTIVE_TOPICS'         => 'Active topics',


en als laatste een stukje uit search.php:
Code:
{
   trigger_error($user->lang['NO_SEARCH_TIME']);
}


Ik hoop dat je er wat aan hebt
Reply to topic    Frihost Forum Index -> Dutch -> Algemeen

FRIHOST HOME | FAQ | TOS | ABOUT US | CONTACT US | SITE MAP
© 2005-2007 Frihost, forums powered by phpBB.