PHP language switch

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Arjen van Putten

Arjen van Putten

01/02/2007 12:59:00
Quote Anchor link
Hallo mensen,

Ik moet voor een opdracht op school een website maken waar naar campings gezocht kan worden. Deze campings komen in een database te staan. Of ik de rest van de 'statische' tekst die bijvoorbeeld op de homepagina komt te staan ook in de database zet, weet ik nog niet.

Op deze website moet er geswitcht kunnen worden tussen verschillende talen. Nou is mijn vraag op welke manier ik dit het beste kan doen. Want ik weet dat het op verschillende manieren kan, maar wat is in dit geval de beste manier?

Groeten,

Arjen
 
PHP hulp

PHP hulp

16/06/2024 04:50:33
 
Robert Deiman

Robert Deiman

01/02/2007 13:11:00
Quote Anchor link
Een combinatie van sessies en cookies is daarvoor vaak handig. Wanneer ik je site bezoek, is het vaak het slimst om het te presenteren in een wereldwijd bekende taal. (Engels!)
Ik als Nederlander zal de informatie graag willen zien in het Nederlands en zal op een vlaggetje klikken, waarmee je naar een pagina gaat waar met GET een waarde opgehaald kan worden. De locatie wordt dan bijv:
http://www.vakantiezoeker.nl/index.php?lang=nl

In een switch, of met een andere controlemethode (if/else, in_array) laat je een sessie aanmaken, en een cookie schrijven naar de computer. De sessie is geschikt voor gebruikers die geen cookies accepteren, en met een cookie blijft ook de volgende keer dat ik op de site kom de taal NL voor mij weergegeven worden (tot ik de cookie verwijderd heb)

En voor de tabellen weet ik niet wat de beste manier is, ik vind dit handig:
- een tabel met talen (id,taal,afk) waarbij taal volledig is uitgeschreven, en afk wordt gebruikt om te bepalen welke taal je kiest.
- Een tabel met de gegevens waarbij je ook een kolom taal hebt, waarin je het id plaatst van de taal.

Zo kan je gewoon 1 tabel gebruiken, en krijg je geen dubbele gegevens, voor elke taal een nieuwe kolom vind ik niet handig, omdat je dan niet zo gemakkelijk een nieuwe taal toevoegd.
Je kan dan ook bijvoorbeeld controleren of informatie al in een taal beschikbaar is, en zo niet dan geef je een melding dat de informatie niet in de gevraagde taal beschikbaar is, en geef je de informatie in het Engels, of je geeft de gebruiker de mogelijkheid zelf te kiezen uit de talen waarin het item wel beschikbaar is, maar deze zet je dan NIET in een sessie of cookie!
 
Gerben G

Gerben G

01/02/2007 13:11:00
Quote Anchor link
zorg dat alle tekst in alle talen in de database staat en onthoud d.m.v een sessie welke taal er gebruikt moet worden
 
Arjen van Putten

Arjen van Putten

01/02/2007 13:31:00
Quote Anchor link
Beadankt voor jullie snelle reacties. Ik denk dat ik al een beetje een idee heb hoe ik het ga aanpakken, als het niet lukt horen jullie het wel ;)

Bedankt!
 
Robert Deiman

Robert Deiman

01/02/2007 14:17:00
Quote Anchor link
Donhertog schreef op 01.02.2007 13:11:
zorg dat alle tekst in alle talen in de database staat en onthoud d.m.v een sessie welke taal er gebruikt moet worden


Het zorgen dat alle tekst in Alle talen in de database staat is vaak wel een probleem. Een tekst zal naar alle waarschijnlijkheid oorspronkelijk in het Nederlands of het Engels worden gemaakt. Maar die moet nog worden vertaald naar het Frans en dat kan je niet altijd zelf. Maar je wilt bezoekers die informatie niet onthouden, dus zet je de informatie er wel op in 1 taal alvast, en als je een keurige melding geeft dat informatie NOG beschikbaar is in die 1e taal(of misschien wel al 2 talen) ziet het er keurig uit, en komt iemand ook terug om die informatie alsnog te lezen, als het wel in de gewenste taal beschikbaar is.
Zie het als een "lokkertje" om te zorgen dat ze toch terugkomen, omdat de informatie er al wel is, maar nog niet in de juiste taal. Ze weten dan dat dat nog komt, en zullen zo nu en dan kijken of het er al op staat.
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.