login  Naam:   Wachtwoord: 
Registreer je!
 Forum

meerdere talen

Offline roy - 09/03/2005 13:23 (laatste wijziging 09/03/2005 14:49)
Avatar van royPHP gevorderde Hallo,

Ik ga mijn website vertalen in 5 talen.
Dat beteken dat ik 5x het bestand x.php krijg.
Als er in dat bestand iets gewijzigd(in het script) moet worden, dan zou ik dat 5x moeten doen.

Is er een mogelijkheid om 1x het bestand x.php te hebben, en via een soort include 5 talen erin te zetten. (aan de hand van welke gekozen wordt).

Ik weet dat het in sommige software programma's met XML gebeurd. (heb ik zelf gemaakt, die bestanden) Kan dat ook voor de website? en hoe moet ik dat doen dan?

Groeten,
Roy

18 antwoorden

Gesponsorde links
Offline Wim - 30/11/1999 00:00
Avatar van Wim Crew algemeen je kan TemplatePower eens proberen.... )rnrnDan moet het wel lukken.rnrnDe bestandjes die je toevoegd, laat je verwijzen naar map . $taal . bestandje.tpl zo kan je dan verschillende talen gebruiken ;)rnrnP.S. ik zal wel eens een artikeltje over templatepower schrijven als dit er nog niet is!
Offline roy - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van roy PHP gevorderde Wow dat klinkt makkelijker dan het is zie ik alrnrnhttpwww.sitemasters.bepagina=tutorialstutorials&cat=4&id=58 rn
Offline prorsoft - 30/11/1999 00:00
Avatar van prorsoft PHP gevorderde je kan ook bij elke tag LANG gebruiken.rnbijv. p lang=FREn Françaisprnp lang=EN-USIn Englishp
Offline roy - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van roy PHP gevorderde Ik heb even zitten kijken en het werkt goed.rnrnMaar in x.tpl moet ook gewoon een stuk php-script komen en niet alleen HTML.. Hoe doe ik dat
Offline MechaVore - 30/11/1999 00:00
Avatar van MechaVore Gouden medaille

PHP gevorderde
if ($taal==NL)rn{rndit is nederlandsrn}rnelseif($taal==EN)rn{rnthis is english rn}rnzo
Offline roy - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van roy PHP gevorderde nee, TemplatePower dit zou mooi zijn om te gebruiken.rnrnIk heb nu een script, PHP + HTML door elkaar, de tekst die er instaat wil ik via een template laten verschijnen.. (eerst voor 1 taal dan maar om te kijken of het werk.rnrnmet een template heb je een PHP en een TPL bestand.rnin het PHP bestand komen mijn vertalen, en in het TPL bestand staat normaal gesproken alleen HTML maar ik wil heel mijn script erin. Dat werkt niet... rnrnWeet iemand een systeem hoe het wel werkt TemplatePower spreekt mij wel aan!
Offline Fenrir - 30/11/1999 00:00
Avatar van Fenrir PHP expert Het is goed om TemplatePower te gebruiken, maar niet voor zoiets.rnTemplatePower gebruik je voor templates, en niet voor talen.rnrnJe kunt het zo doenrnrnNL.phprn[code]phprn$lang['WELKOMSTBERICHT'] = 'Hoi';rn$lang['ERROR_001'] = 'Er is een error opgetreden';rn[code]rnrnEN.phprn[code]phprn$lang['WELKOMSTBERICHT'] = 'Hi';rn$lang['ERROR_001'] = 'An error occurred';rn[code]rnrnen dan in je codernrn[code]phprninclude($_SESSION['lang'] . '.php');rnrnif(error)rn{rnecho $lang['ERROR_001'];rn}elsern{rnecho $lang['WELKOMSTBERICHT'];rn}rn[code]
Offline roy - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van roy PHP gevorderde ok ik ga het proberen!rnrn$lang['WELKOMSTBERICHT'] = 'Hi';rndeze regels kan ik zo ver mogelijk uitbreidenrnrn[code]phprninclude($_SESSION['lang'] . '.php');rnrnif(error)rn{rnecho $lang['ERROR_001'];rn}elsern{rnecho $lang['WELKOMSTBERICHT'];rnin deze else komt toch gewoon de rest van mijn scriptrn}rn[code]
Offline roy - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van roy PHP gevorderde Hallo,rnrnBedankt, ik heb nog een vraag.rnrn[code]phprnif(isset($_GET['taal'])) {rn er staat een taal in de URLrn switch($_GET['taal']) {rn engelsrn case en include(langenglish.php); break;rn nederlandsrn case nl include(langdutch.php); break;rn onbekendrn default include(langdutch.php); break;rn }rn} else {rn geen taal ingevuld, pak de defaultrn include(langdutch.php);rn}rn[code]rnrnik wil een meerkeuzelijstje en dan zoiets, maar de taal moet opgeslagen worden in een session of cookie, liever een session, hoe moet ik dat doenrnrnMet vriendelijke Groet,rnRoy de Kleijn
Offline Fenrir - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van Fenrir PHP expert Die if is maar een voorbeeld.rnrnJe kunt het uit de url halen door ditrn[code]rnphprnrnalle talen die je hebtrn$talen = array('NL', 'EN');rnrnif(isset($_GET['taal']) && in_array($_GET['taal'], $talen))rn{rn$_SESSION['lang'] = $_GET['taal'];rn}rnrncontrolernif(empty($_SESSION['lang']))rn{rn$_SESSION['lang'] = 'NL';rn}rnrninclude($_SESSION['lang'] . '.php');rnrn[code]rnrnroep je zo aanrnrnpagina.phplang=NL
Offline numlockrond - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van numlockrond Onbekend die if was gewoon een voorbeeld.rnrnDit is trouwens iets voor constanten. Constanten zijn een soort variabelen, maar je kunt ze niet wijzigen (vandaar ook de naam constante).rnDe talen zet je in een taalbestand (include) zoals Fenrir zegt, maar je wijzigt ze daarna niet meer. Daar is een constante dus voor. Variabelen heten niet voor niets variabelen, die kun je steeds wijzigen, maar das niet nodig.rnrnnl.phprn[code]phprndefine('WELKOMSTBERICHT', 'Hoi');rndefine('ERROR_001', 'Er is een error opgetreden');rn[code]rnrnen dan in je scriptrn[code]phprnecho WELKOMSTBERICHT;rn[code]rnrnen dan kun je bijv. een prefix gebruiken voor de overzichtelijkheidrnrnGB_NEW = plaats een nieuw berichtrnGB_ERROR = je moet alle velden invullenrnFORUM_REPLY = plaats reactiernFORUM_ACTIVE = actieve forumberichtenrnrnMet een array kan natuurlijk ook wel, maar constanten is net iets mooier (vind ik iig).
Offline roy - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van roy PHP gevorderde [b]ik krijg deze foutmelding[b]rnWarning main(El.php) failed to open stream No such file or directory in varwwwhtmlChrisindex.php on line 21rnrnWarning main() Failed opening 'El.php' for inclusion (include_path='.phpincludesusrsharephp') in varwwwhtmlChrisindex.php on line 21 rnrndeze staat op de index.phprn[code]phprnrnalle talen die je hebtrn$talen = array('NL', 'en');rnrnif(isset($_GET['taal']) && in_array($_GET['taal'], $talen))rn{rn$_SESSION['lang'] = $_GET['taal'];rn}rnrncontrolernif(empty($_SESSION['lang']))rn{rn$_SESSION['lang'] = 'NL';rn}rnrninclude($_SESSION['lang'] . '.php');rn[code]rnrnHier roep ik hem aanrna href=index.phplang=NLDutcharnrnHoe kom El.php in die foutmeldingrn
Offline Frederic - 30/11/1999 00:00
Avatar van Frederic PHP ver gevorderde Failed opening 'El.php' for inclusion == hij bestaat nietis niet gevonden
Offline roy - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van roy PHP gevorderde dat begrijp ik, NL.php bestaat wel en die roep ik aan...rnEl.php die gebruik ik nergens en bestaat ook niet...rn
Offline prorsoft - 30/11/1999 00:00
Avatar van prorsoft PHP gevorderde Ik denk dat je beter dit kunt doenrn[code]phprnrnalle talen die je hebtrn$talen = array('NL', 'en');rnrnverandering 1rnif(isset($_GET['taal']) && $_GET['taal']'' && in_array($_GET['taal'], $talen))rn{rn$_SESSION['lang'] = $_GET['taal'];rn}rnrncontrolernverandering 2rnif(!isset($_SESSION['lang']) $_SESSION['lang']'')rn{rn$_SESSION['lang'] = 'NL';rn}rnrninclude($_SESSION['lang'] . '.php');rn[code]
Offline prorsoft - 30/11/1999 00:00
Avatar van prorsoft PHP gevorderde haha ik zie het alrnje roept die pagina aan met [i]index.phplang=NL[i] maar het moet [i]index.phptaal=NL[i] zijn
Offline roy - 30/11/1999 00:00 (laatste wijziging 30/11/1999 00:00)
Avatar van roy PHP gevorderde goed het werkt nog niet.rnrn[b]dit staat op de index[b]rn[code] rnsession_start(); rnob_start(); rn rnphprnrnalle talen die je hebtrn$talen = array('NL', 'EN');rnrnverandering 1rnif(isset($_GET['taal']) && $_GET['taal']'' && in_array($_GET['taal'], $talen))rn{rn$_SESSION['lang'] = $_GET['taal'];rn}rnrncontrolernverandering 2rnif(!isset($_SESSION['lang']) $_SESSION['lang']'')rn{rn$_SESSION['lang'] = 'NL';rn}rnrninclude($_SESSION['lang'] . '.php');rn[code]rnrn[b]zo roep ik hem aan[b]rnindex.phptaal=ENrnindex.phptaal=NLrn
Offline Fenrir - 30/11/1999 00:00
Avatar van Fenrir PHP expert @prosoft jouw code doet precies hetzelfde, maar hij is langer.rnrnIk heb het getest, en het werkt bij mij.rnProbeer eens letterlijk deze codernrn index.phprn[code]phprnrnsession_start();rnrnalle talen die je hebtrn$talen = array('NL', 'EN');rnrnif(isset($_GET['taal']) && in_array($_GET['taal'], $talen))rn{rn$_SESSION['lang'] = $_GET['taal'];rn}rnrncontrolernif(empty($_SESSION['lang']))rn{rn$_SESSION['lang'] = 'NL';rn}rnrninclude($_SESSION['lang'] . '.php');rnrn[code]rnrn EN.phprn[code]EN[code] rnrn NL.phprn[code]NL[code]rnrnDit is het resulaatrnindex.php NLrnindex.phplang=EN ENrnrnen als je dat dan veranderd, dan blijft toch de taal die je het laats gekozen had, door de session.rn
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.219s