login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Language.

Offline Simax - 02/11/2006 09:49
Avatar van SimaxOnbekend Beste mensen,

Ik ben bezig met een site voor een klant. Deze wil graag een site met een dubble language. Nu heb ik echt geen idee hoe ik moet beginnen.

Aan jullie de vraag; "Hoe kan ik zoiets maken?"
De bedoeling is dat de gehele site verandert van taal wanneer er word geklikt op een link(language).

Alvast bedantk .

MvG,
Generix

16 antwoorden

Gesponsorde links
Offline nielsvdwal - 02/11/2006 10:07
Avatar van nielsvdwal PHP gevorderde of je maakt 2 mappen.. 1 map alles nederlands en 1 map alles engels..

en dan doe je in de url hele tijd dit meegeven: l=nl of l=en of iets als dat.. en dan doe je gewoon..

  1. <?
  2. if ($_GET['l'] == 'nl')
  3. {
  4. $map = '/nl/';
  5. }
  6. else if ($_GET['l'] == 'en')
  7. {
  8. $map = '/en/';
  9. }
  10. else
  11. {
  12. $map = '/nl/'; // Standaard taal hierneerzetten..
  13. }
  14.  
  15. //en dan ga je verder met:
  16.  
  17. include($map.$page.'.php');
  18. // zoiets dan he..
  19. ?>


hopelijk snap je de opzet een beetje 
Offline Simax - 02/11/2006 10:20 (laatste wijziging 02/11/2006 10:20)
Avatar van Simax Onbekend Ok.

Ik begrijp het idee.
Als ik de talen Nederlands en Engels wil gebruiken is dit voorbeeldje ws naar behoren.

Voorbeeld:
  1. <?php
  2. if ($_Get['language'] == 'nl')
  3. {
  4. $Map = '/nl/';
  5. }
  6. else if ($_Get)['language'] == 'en')
  7. {
  8. $Map = '/en/';
  9. }
  10. else
  11. {$Map = '/nl/';
  12. }
  13.  
  14. etc.
  15.  
  16. ?>


Bedankt voor je hulp.
Eventuele andere oplossingen zijn ok welkom. Ik zoek namelijk de meest makkelijke manier. Daarnaast ok graag zo min mogelijk ruimte gebruik. Alvast bedankt.

MvG,
Generix
Offline nielsvdwal - 02/11/2006 10:27
Avatar van nielsvdwal PHP gevorderde je zou ook in je database kunnen zetten.. 2 rijen maken..
elke pagina erin zetten.. in een rij nl zet je alles in het nederlands
en rij en alles engels.. en dan eruit halen.. maar persoonlijk lijkt mij dat minder handig..
Offline Dark_Paul - 02/11/2006 10:28
Avatar van Dark_Paul PHP ver gevorderde Of gebruik maken van een Template-Engine. Dan hoef je je PHPscripts maar één keer te maken. Dan kopieer je je templates gewoon en verander je de taal.
Offline Simax - 02/11/2006 10:39
Avatar van Simax Onbekend Hartelijk dank allemaal .
Blijven posten, want er zijn vast nog wel meer mogelijkheden.

De bedoeling is om er op een later tijdstip nog een derde taal aan toe te voegen. Wat is dan de makkelijkste methode, zodat dit in de toekomst mogelijk is.

MvG,
Generix
Offline Dark_Paul - 02/11/2006 10:44
Avatar van Dark_Paul PHP ver gevorderde Dan zou ik gaan voor een TemplateEngine. Het voordeel is namelijk, dat je je PHP scripts maar één keer typt. Je PHP is volledig gescheiden van je HTML. De HTML opmaak zet je in je template-files (.tpl). Vervolgens definieer je op je pagina, welke templatefile je gaat gebruiken. In je templatebestand staan variabele waarden tussen '{' en '}' (dus bijv {blaat}). Via je PHP script zet je die waarden. Je kan dus, als je overal dezelfde {}-vars gebruikt, verschillende templates maken met een en hetzelfde PHP-script.
De moeite om even door te kijken:
http://www.site...&id=58
Offline Rens - 02/11/2006 11:35 (laatste wijziging 02/11/2006 11:35)
Avatar van Rens Gouden medaille

Crew algemeen
Maak een .php bestand aan, met daarin een array met de zinnen e.d.
  1. <?PHP
  2. // even kijken of er een taal is opgegeven
  3. if(IsSet($_GET['lang']))
  4. {
  5. // ja, nu kijken of we die taal ondersteunen
  6. if($_GET['lang'] == 'nl')
  7. {
  8. // nederlands
  9. include 'lang/nl.php';
  10. } else if($_GET['lang'] == 'en')
  11. {
  12. // engels
  13. include 'lang/en.php';
  14. }
  15. } else
  16. {
  17. // de standaard taal
  18. include 'lang/en.php';
  19. }
  20. echo $aLang['welkom'];
  21. ?>


lang/nl.php:
  1. <?PHP
  2. $aLang['welkom'] = "Welkom";
  3. ?>


lang/en.php:
  1. <?PHP
  2. $aLang['welkom'] = "Welcome";
  3. ?>


Zo typ je je php code ook maar 1 keer, en ikzelf vind het makkelijk om zo een nieuwe taal toe te voegen...
:)
Offline Simax - 02/11/2006 11:45
Avatar van Simax Onbekend Ok.

@Rensjuh:
Ik moet dan wel voor beide talen een apart html-pagina maken, toch?

Bedankt allemaal .

MvG,
Generix
Offline Rens - 02/11/2006 12:14
Avatar van Rens Gouden medaille

Crew algemeen
PHP bestand, geen html pagina 
Offline Stijn - 02/11/2006 12:20
Avatar van Stijn PHP expert ik vind het beter en sneller werken met constanten

define('WELKOM' , 'welkom'); //nl.php
define('WELKOM' , 'welcome'); //en.php

dan moet je niet in je PHP zo'n quotes en [] zetten maar gewoon de constante ieder zijn eigen manier natuurlijk
Offline Thomas - 02/11/2006 12:38
Avatar van Thomas Moderator Ik zou met templates werken. De teksten (in wat voor taal dan ook) zijn doorgaans statisch - deze zou ik dus niet in een dynamische omgeving (m.a.w. in een PHP-script) zetten.
De wijze waarop templates (m.b.v. PHP) opgebouwd worden is in principe niet taal-afhankelijk dus de code behorend bij een template hoeft maar een keer geschreven te worden - dit in tegenstelling tot bovenstaande constructies waarbij je alles (per taal opnieuw) zou moeten programmeren...
Offline Simax - 02/11/2006 12:39
Avatar van Simax Onbekend Maar..

Nu rest mij nog een vraag.
Hoe los ik het probleem op dat mijn nieuws.php (die artikelen haald uit mijn sql-database), ook in meerdere talen antwoord.

MvG,
Generix
Offline Thomas - 02/11/2006 12:43
Avatar van Thomas Moderator Nieuws zul je in elke taal moeten schrijven... en op grond van een cookie of wat dan ook toon je het nieuws in een bepaalde taal...

Of je maakt een optie waarbij je het nieuws maar in een aantal talen submit, als het nieuws niet beschikbaar is in een bepaalde taal zou je hier een boodschap over kunnen tonen.
Offline Simax - 02/11/2006 13:02 (laatste wijziging 02/11/2006 13:02)
Avatar van Simax Onbekend Ok.

Hartelijk bedankt voor jullie hulp .

MvG,
Generix
Offline rroobb - 02/11/2006 16:17 (laatste wijziging 02/11/2006 16:18)
Avatar van rroobb PHP interesse Ik ken ook een gastenboek script waarbij er een bestand geinclude wordt met de naam language.php

Daar staat zoiets dan:

  1. <?
  2. $name = "Naam:";
  3. $thanks = "Bedankt voor het schrijven in het gastenboek!";
  4. ?>


Zo kon je dus makkelijk de taal/tekst aanpassen, en is het dus overzichtelijk...

En in de pagina werdt dus zo gedaan:
  1. <?
  2. echo $thanks;
  3. ?>


Bijvoorbeeld ;)
Het heeft ook zijn nadelen maar dit is een voorbeeld he ;)
Offline Thomas - 02/11/2006 16:21 (laatste wijziging 02/11/2006 16:22)
Avatar van Thomas Moderator Een soortgelijke constructie werd al eerder voorgesteld, maar dat zou ik dus niet doen - het is (IMO) beter om code en layout/content te scheiden. Het wordt anders een eindeloos geklooi met variabelen of constanten of wat dan ook...

Ergo: Templatesysteem.
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.243s