ik zit met een vraagje waarik niet zo uitkom.
Ik zou graag de site willen vertalen, alleen de standaard tekst, dus niet wat in de DB staat (wat ook moeilijk gaat dan )
Hoe doe ik dit?
Of wat is de beste manier om het te doen?
(Gewoon ipv $tpl->assign troep: echo $_LANG['naam']['type'] )
Mocht dit niet duidelijk zijn, wil ik hem best wel even duidelijk in normaal PHP scripten zonder TP
niet op msn boeit niet zoveel, anders gaan me maten weer whinen of ik morgenaaf mee ga naar lampe (disco) en weinig zin in lol... Hier het voorbeeld zonder TP. (PS. kheb nieuwe msn e-mail, heb je die al? zoniet.. hij staat in mijn profiel van SiMa)
Hmmss ga het even proberen toe te passen.
Betekent dus dat ik alle nederlandse tekst, ook lange teksten moet vertalen, en ook voor de Nederlandse aparte pagina moet aanmaken, klopt dat?
Ja tuurlijk moet je alles vertalen. Per taal een nieuw bestand:
english.lang.php voor engels
nederlands.lang.php voor nederlands
deutch.lang.php voor duits
of je kan alles in het engels houden qua scripting door
english.lang.php voor engels
dutch.lang.php voor nederlands
german.lang.php voor duits
het laatste is wat ik zou doen als ik jouw was. Alles qua scripting (dus ook bestanden) engelse namen geven.
Verder hoef je maar enkel index.php of home.php o.i.d te maken, omdat je variabel enkel uit de geselecteerde bestand wordt gehaald. (dus nederlands bij $iLangId 1, en engels bij $iLangId 2)
Heb ik nog 2 vragen erover.
Op index.php heb ik een paginascript staan. Kan ik die switch er gewoon bijzetten dan of...?
En als ik nog een lange tekst heb kan ik dan dit doen:
$_LANG['INDEX']['HELLO'] = 'Welcome on my website';
$_LANG['INDEX']['WHO'] = 'Who are you?';
Of iets in die richting, maar je mag ze niet overschrijven, dus gebruik unieke namen per zin / tekst.
En als het goed is kan je die wel bij je navigatie systeem zetten, maar dat weet ik niet zeker.. test gewoon zou ik zeggen en je merkt het of hij hem goed include/required.
['INDEX'] moet je wel laaten staan bij als, ookal zit je op index.php ;)
Het is namelijk een aanduiding van locatie, maar hij moet gewoon blijven staan. Of heb je hem ook in de language file verwijderd?
Zoniet, moet je $_LANG['INDEX']['HELLO']; aanhouden
Met een link lukt niet, ikzelf doe het via mijn database. Leden kunnen een taal (lang_id) kiezen, en via dat controleer ik via de switch methode welke language per welke user moet worden gebruikt. Dus daarvoor een login systeem vereist. Anders een cookie aanmaken... ik zou over het selecteren zo even een voorbeeld geven.
Thanks dat ene werkt iig, stom van me, had zelf kunnen weten
Maar dat hoe ik die languages selecteer, snap niet zo.
Is wel makkelijk, zoals je zei, dat als iemand ingelogd altijd dan die language krijgt.
Zie mijn vorige post met cookies, waarbij geen login vereist is. Dit kan je aanpassen en op jouw manier ergens aan je site toevoegen (als je het leuk wilt doen met vlaggetjes bovenin je pagina? ;) )
Citaat:
Is wel makkelijk, zoals je zei, dat als iemand ingelogd altijd dan die language krijgt.
Hierbij ga je wel wat verder, je gebruikt dan je MySQL database, waarbij gebruikers een taal kunnen kiezen bij het registreren en het wijzigen van hun profiel. Hierbij wordt er door php (config o.i.d) de juiste taal gedefineerd, en gebruikt. Ben je niet ingelogged krijg je de 'default', dus over het algemeen engels.
Ook hier kan ik je wel bij verder helpen, ik gebruik het namelijk zelf ook op mijn website (alhoewel nederlands nog niet bestaad in mijn switch, dus nog niet gebruikt kan worden (omdat hij nog niet bestaat )).