login  Naam:   Wachtwoord: 
Registreer je!
 Forum

PHP: meerdere talen

Offline demich - 25/05/2008 10:08
Avatar van demichNieuw lid Hallo,

Ik ben bezig aan een webapplicatie (soort van CMS) en nu wil ik die zo maken dat je alles gemakkelijk kan vertalen dus dat je 1 bestand hebt per taal. Nu staat alle tekst nog tussen echo's.

Hoe doe ik dat het best ? Moet ik dan voor elke string een variabele gaan maken ?

5 antwoorden

Gesponsorde links
Offline Joost - 25/05/2008 11:46 (laatste wijziging 25/05/2008 11:46)
Avatar van Joost PHP expert Aan het begin kijken vanaf welk land de bezoeker komt (of vragen), en die dan doorsturen naar http://www.jouwdomein.nl/land/.
Land vervangen door bv nl, en, fr, de etc.
In die mappen zet je dan de verschillende bestanden met de verschillende talen.
Offline finduilas - 25/05/2008 12:00
Avatar van finduilas PHP gevorderde of je werkt met een include van het taalpakket en door middel van GET['lang'] kun je dan opvragen welke taal het moet zijn. In de plaats van je echo's zet je dan variabelen die de waarde kregen in dat geinclude bestand.

Lijkt veel werk maar is eenvoudiger als je veel talen wilt hebben en je nog veel uitbreidingen gaat doen op je website..
Offline ArComAr - 25/05/2008 17:57 (laatste wijziging 25/05/2008 17:57)
Avatar van ArComAr VB.NET gevorderde Of je werkt met een extern bestand dat enkel waardes declareert. Op basis van de keuze kan je dan het juiste bestand inladen en dan wordt de juiste tekst getoond indien je gebruik maakt van die gedeclareerde waardes.

misschien moeilijk uitgelegd maar tis in feit zeer simpel:
  1. //bestand "nl.php"
  2. define('_ADD','Post een bericht');
  3.  
  4. //bestand "en.php"
  5. define('_ADD','Post a message');
  6.  
  7. //in je gewone pagina:
  8. include $_SESSION['language'] . ".php";
  9. <input type="button" value="<?php echo _ADD ?>" />

in de sessie variabele "language" zit bijvoorbeeld de waarde "nl" of "en". Je plaatst hier dan de extensie (".php") achter en je include dit bestand. Je gaat dan, op basis van dat bestand de verschillende waardes in een andere taal hebben en dan hoe je enkel te switchen van taalbestand om een andere taal te kiezen.

Nu voor knoppen en labels gaat dit, maar ik weet niet of dit een goed idee is wanneer je grote blokken tekst in verschillende talen wil hebben.
Offline zointer - 25/05/2008 19:18 (laatste wijziging 25/05/2008 19:19)
Avatar van zointer HTML gevorderde ts wil de taal tekst niet tussen zijn code maar in een aparte file:
dus; nl.php, en.php....
voor nl =
  1. $lang1 ="Hallo";
  2. $lang2 ="en";
  3. $lang3 ="Welkom";

voor en =
  1. $lang1 ="hello";
  2. $lang2 ="and";
  3. $lang3 ="Welcome";


dan echo =
  1. echo $lang1.' '. $lang2.' '. $lang3;


En dan enkel zorgen als men een taal selecteert dat deze aan de file is gekoppeld.

edit: code is enkel ter illustratie 
Offline zointer - 25/05/2008 19:22
Avatar van zointer HTML gevorderde Mijn idee is dat met een file nog beter is dan in een db, zelfs om laten te vertalen.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.213s