Hoe kan ik het best verschillende talen op een website (bijv. NL, Engels en Duits) uitwerken?
Ik wil dat gebruikers die daartoe aangewezen worden ook het recht krijgen om ze te kunnen wijzigen, dus dat sluit hardcode al uit.
Ik zat te denken aan een systeem waarbij in de DB een uniek ID, de taal, de vertaling en het nummer van de vertaling (bijv 1 = hoi) te gebruiken maar dan moet ik dus per woord / zin een query uitvoeren.. Niet echt effectief.
vinTage, in de manier die je daar gebruikt kom je dus ook uit op 1 query per zin/bericht/woord.. Kan dit niet makkelijker?
Bijv pagina = profile.php, $1 = hoi in t nederlands maar $1 is in t engels Hi..
Wat ik op het moment al uitgebouwt heb is standaart engels, zelf kan je omzetten naar elke andere taal en vervolgens wordt per zinnetje uit de db gevist wat nodig is.. Met dus telkens een query voor één zinnetje
Wat ik daar doe, is een db met 2 kolommen in de database, met in elke kolom exact dezelfde id's en inhoud, behalve natuurlijk dat de ene inhoud ENG is en de andere NL.
Daarna word er inderdaad een query per bericht gedaan, maar ik zou niet weten hoe je dat anders zou willen doen.
edit: oh zinnetjes, mjah dan is de optie van Grayen al voldoende en heb je daar geen db voor nodig
ik vond dat stukje met behulp van Google, is er ook een manier om dit met de database te combineren zodat gebruikers zonder dat ze het bestand zelf krijgen kunnen wijzigen
teksten
object (varchar(50))
tekst (text)
taal (enum)
hierin komen alle teksten te staan en in object staat dan een (unieke) naam waaraan je de tekst kunt ophalen.
berichten
object (varchar(50))
tekst (text)
taal (enum)
hierin komen alle korte meldingen en berichten te staan die weergegeven worden.
<?php
$query = "SELECT tekst FROM teksten WHERE object = 'index_alinea1' AND taal = 'nederlands'";
$result = mysql_query($query) or die (mysql_error());
$tekst = mysql_result($result,'tekst');
echo($tekst);
echo('<br /><br />');
if ($_SESSION['logged_in'])
{
$object = 'index_loggedin';
}
else
{
$object = 'index_loggedoud';
}
$query = "SELECT tekst FROM berichten WHERE object = "'.$object.'" AND taal = 'nederlands'";
mysql_query($query) or die (mysql_error());
$bericht = mysql_result($result,'tekst');
echo($bericht);
?>
<?php
$query="SELECT tekst FROM teksten WHERE object = 'index_alinea1' AND taal = 'nederlands'";
Op 't end kan ik voor alle talen een language_*taal* bestandje maken en omdat deze wordt bepaald door de db hoef ik alleen maar hierin nieuwe records toe te voegen..
Edit: op deze manier hou ik de query's etc in één bestand wat het werk voor mij een stuk overzichtelijker maakt en houd