site in verschillende talen

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Simon Simons

Simon Simons

06/08/2011 13:06:15
Quote Anchor link
hi all....

ik krijg de laatste tijd steeds meer reacties op mijn website van buiten nederland.
daarom wil ik graag dat mensen op mijn site kunnen kiezen voor een nederlandse versie en een engelse versie, hoe kan ik dit maken?
greetzz
 
PHP hulp

PHP hulp

26/04/2024 04:42:08
 
Joakim Broden

Joakim Broden

06/08/2011 13:14:28
Quote Anchor link
Is het een HTML site of een PHP site met database?

Wat je zou kunnen doen is elk database item een veld mee geven zoals language_id en daar het ID inzetten bij welke taal hij hoort. Dit language_id komt uit een tabel waar alle talen van je site in zitten. Aan de keuze van de gebruiker kun je zien welke taal hij gekozen heeft en haal je dus van die taal de ID uit de database, hier mee kun je dan weer alle juiste gegevens ut de database halen.
 
- Ariën  -
Beheerder

- Ariën -

06/08/2011 13:18:44
Quote Anchor link
Makkelijke oplossing, zonder databases:

http://www.phphulp.nl/php/forum/topic/taal-keuze-integreren/79322/
Dit is puur om de teksten op je site te kunnen vertalen.
Gewijzigd op 06/08/2011 13:21:43 door - Ariën -
 
Simon Simons

Simon Simons

06/08/2011 13:33:42
Quote Anchor link
Oetzie cookie op 06/08/2011 13:14:28:
Is het een HTML site of een PHP site met database?

Wat je zou kunnen doen is elk database item een veld mee geven zoals language_id en daar het ID inzetten bij welke taal hij hoort. Dit language_id komt uit een tabel waar alle talen van je site in zitten. Aan de keuze van de gebruiker kun je zien welke taal hij gekozen heeft en haal je dus van die taal de ID uit de database, hier mee kun je dan weer alle juiste gegevens ut de database halen.


ik werk nog niet met een database, is er ergens meer informatie te vinden hoe ik dat kan doen? ik heb er helaas niet zo veel verstand van...



Toevoeging op 06/08/2011 13:34:14:

- Aar - op 06/08/2011 13:18:44:
Makkelijke oplossing, zonder databases:

http://www.phphulp.nl/php/forum/topic/taal-keuze-integreren/79322/
Dit is puur om de teksten op je site te kunnen vertalen.


dankje... ik zal er naar kijken
 
- Ariën  -
Beheerder

- Ariën -

06/08/2011 13:40:37
Quote Anchor link
B Mulder op 06/08/2011 13:33:42:
ik werk nog niet met een database, is er ergens meer informatie te vinden hoe ik dat kan doen? ik heb er helaas niet zo veel verstand van...

http://www.phptuts.nl/view/41/
 
Simon Simons

Simon Simons

06/08/2011 14:07:51
Quote Anchor link
mmm best lastig :S

misschien heb ik een idee,
ik heb de inhoud van mijn pagina's dus de text in een aparte map staan. het zijn allemaal aparte txt bestandjes. kan ik in zon bestandje niet een deel voor nl en een deel voor eng zetten?
 
- Ariën  -
Beheerder

- Ariën -

06/08/2011 14:14:53
Quote Anchor link
Heb je al eens die link bekeken naar dat andere topic ;-)?
 
Simon Simons

Simon Simons

06/08/2011 17:06:39
Quote Anchor link
ja die heb ik bekeken maar sorry ik vind het nogal lastig... heb jij een basis-voorbeeld voor mij dat ik per pagina in 1 .txt bestand 2 texten heb: nl en eng?

alvast bedankt :) ik zou het zeer op prijs stellen
 
- Ariën  -
Beheerder

- Ariën -

06/08/2011 17:08:59
Quote Anchor link
Zie nogmaals die link. Er worden dan wel geen .txt files gebruik, maar PHP-bestanden.
Maar het komt op hetzelfde neer.

Wat vind je dan lastig?
 
Simon Simons

Simon Simons

06/08/2011 18:20:31
Quote Anchor link
de 'logica' in het php ontbreekt mij nog.
maar is het mogelijk dat ik dit heb voor index.txt:

$lang eng

engelse tekst

$lang nl

nederlandse tekst.

zoiets?
 
- Ariën  -
Beheerder

- Ariën -

06/08/2011 18:21:47
Quote Anchor link
Met PHP werk je niet met .txt bestanden, maar met .php.

Wat jij wilt is precies in dat topic omschreven.
Mooi voorbeeld. Als je het niet snapt, vertel dan even waarop je vastloopt.
Gewijzigd op 06/08/2011 18:23:10 door - Ariën -
 
Simon Simons

Simon Simons

07/08/2011 13:30:12
Quote Anchor link
ik wil zegmaar weinig hoeven aanpassen in mijn site. de tekst hoeft alleen maar vertaald te worden, dat wil ik dan overzichtelijk in die txt bestandjes, ze hoeven geen php te zijn want die txtjes worden geinclude in een php bestand..
 
Benny Lava

Benny Lava

07/08/2011 15:18:52
Quote Anchor link
Dus als ik het goed begrijp heb je een pagina zeg index.php die voor jou die txtjes uitleest en include. Dan zal dat vast op basis van index.php?pagina=home of zo gaan denk ik?

nou ja, dan kan je dat op een zelfde manier doen voor andere talen. Dus bijvoorbeeld:
index.php?lang=NL en index.php?lang=EN. Dan zorg je dat je de txt-files van NL en EN apart hebt. Dit kan bijvoorbeeld door alle txtjes in het Nederlands in de map NL te zetten enz.

en dan zal erin je PHP code ongeveer zo uit kunnen zien:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php
$lang
= 'NL'; // default waarde
$get_lang = strtoupper($_GET['lang']);

if ($get_lang == 'NL') {
    $lang = 'NL';
}
elseif ($get_lang == 'EN') {
    $lang = 'EN';
}


// Hier je pagina selectie etc.... maar dan met de juiste map
// Uiteraard ook controleren of het bestand bestaat enz. maar dat heb je waarschijnlijk al
// bijv. /NL/home.txt of /EN/home.txt

include('/'. $lang .'/home.txt');
?>


Mocht je het helemaal mooi doen wil je uiteraard je URL van www.jewebsite.nl/NL/ of www.jewebsite.nl/EN/ willen hebben en dan kun je zoiets als dit gebruiken in je .htaccess.
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
#.htaccess
RewriteEngine On
RewriteRule ^([A-Za-z]+)$ index.php?lang=$1
 
Simon Simons

Simon Simons

07/08/2011 15:49:33
Quote Anchor link
="Benny Lava op 07/08/2011 15:18:52"]
Dus als ik het goed begrijp heb je een pagina zeg index.php die voor jou die txtjes uitleest en include. Dan zal dat vast op basis van index.php?pagina=home of zo gaan denk ik[/quote]

dat index.php?pagina=home.... betekent dat dat je maar 1 phpbestand hebt die verschillende txt's kan includen?

anders bedoel ik het volgende: (sorry als ik onduidelijk ben of niet goed luister...)
ik heb een pagina die include de inhoud van de pagina bijvoorbeeld index.
dan wil ik in dat index.txt bestand:
(ongeveer)

$lang eng

welcome on studiobj.nl

$lang nl

welkom op studiobj.nl



zoiets...
 
- Ariën  -
Beheerder

- Ariën -

08/08/2011 00:18:52
Quote Anchor link
En waarom in tekst bestanden, i.p.v. in PHP wat haast op dezelfde manier werkt?


Voordelen:
- Niemand anders kan het vertaal-bestand uitlezen
- Het is sneller en makkelijker te onderhouden.

Dus kijk nog eens naar mijn gegeven link. Enige basiskennis van PHP is wel nodig.
 
Benny Lava

Benny Lava

08/08/2011 13:10:17
Quote Anchor link
Vond het zelf wel een keer leuk om te prutsen met text-files, dus heb iets gescript.
In combinatie met wat ik eerder gepost heb en dit moet het zeker lukken om je script werkend te krijgen B Mulder. Verder zal ik het niet voorkauwen......

Oke dan, hier een voorbeeldje van wat het stukje kan zijn om alles in een text-bestand te houden. Omdat het in een text-bestand zit zal je moeten zoeken naar de offsets van wanneer Engelse en Nederlandse teksten beginnen. Het is maar een voorbeeld van hoe je dat stukje kunt doen maar er ontbreken nog wat foutafhandeling enz. wat het productie waardig zal maken. (hou er rekening mee!)
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
<?php
// uiteraard moet je wel controleren of de file bestaat enz...
$lines = file('index.txt', FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);

// Offsets bepalen
$key1 = array_search('$lang eng', $lines);
$key2 = array_search('$lang nl', $lines);

// Splitsen
$lang_nl = array_slice($lines, $key2+1);
$lang_en = array_slice($lines, $key1+1, $key2-1);

// Print nederlands
foreach($lang_nl as $line) {
    echo $line .'<br />';
}


// Print engels
foreach($lang_en as $line) {
    echo $line .'<br />';
}

?>

En het text-bestand ziet eruit zoals je zelf aangeeft hoe het moet zijn:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
2
3
4
5
6
7
8
9
$lang eng

welcome on studiobj.nl
next line

$lang nl

welkom op studiobj.nl
volgende regel


Nog even een toevoeging van wat - Aar - zegt klopt wel. Maarja, ligt er maar net aan wie de website zal gaan onderhouden. Je geeft als voordeel op dat het makkelijker te onderhouden is, maar dat is maar net te vraag juist wie dat doet. Want uit eigen ervaring zijn soms mensen bang om php te openen omdat ze niet weten hoe het werkt. En tegen iemand zeggen het is een txt bestand is kan geruststellend zijn.
Gewijzigd op 08/08/2011 13:11:51 door Benny Lava
 
- Ariën  -
Beheerder

- Ariën -

08/08/2011 14:01:46
Quote Anchor link
Quote:
Want uit eigen ervaring zijn soms mensen bang om php te openen omdat ze niet weten hoe het werkt. En tegen iemand zeggen het is een txt bestand is kan geruststellend zijn.

De uitleg om aan te geven hoe het werkt is ook niet echt rocket-science.. ;-)

Ik weet haast zeker dat die manier met text-bestanden die Benny omschrijft enorm trager is dan mijn manier.
 
Benny Lava

Benny Lava

08/08/2011 14:08:22
Quote Anchor link
- Aar - op 08/08/2011 14:01:46:
De uitleg om aan te geven hoe het werkt is ook niet echt rocket-science.. ;-)

Ik weet haast zeker dat die manier met text-bestanden die Benny omschrijft enorm trager is dan mijn manier.


Haha, nee inderdaad ;)
 



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.