Ben bezig voor me site met multi talen script.
Loop alleen vast op 1 probleem.
Even korte uitleg:
Haal de taal op via de browser met deze code
if (empty($lang)) {
$lang = substr($_SERVER['HTTP_ACCEPT_LANGUAGE'], 0, 2);
}
switch ($lang)
{
case "nl" :
include("lang/nl.php");
break;
case "en" :
include("lang/en.php");
break;
case "de" :
include("lang/de.php");
break;
default :
include("lang/en.php");
break;
}
En dan via $title $naam haal ik het op in het script.
Dat werkt allemaal goed.
Maar nu wil ik als iemand een uitnodiging naar een andere gebruiker stuurt hij dan de taal van de persoon pakt waar die uitnodiging heen gaat nu is het de taal van de persoon die hem verstuurd.
$mysqli->query("INSERT INTO `[messages]`(`time`,`IP`,`from`,`to`,`read`,`subject`,`message`) values(NOW(),'{$_SERVER['REMOTE_ADDR']}','afzender','{$man->login}','0','uitnodiging',' $verstuurd')");
nl.php
$verstuurd = Je uitnodiging is verstuurd.
en.php
$verstuurd = Your invitation has been sent.
Dus hij zou bij $man->login moeten checken welke taal de persoon is.
In de database wordt ook de taal omgeslagen waneer iemand inlogt.
$mysqli->query("UPDATE `[users]` SET `lang`='$lang' WHERE `login`='$data->login'");
Hopelijk weet iemand een oplossing ben al tijdje mee bezig maar kom er niet uit.
Anyway, kan je jouw SELECT query even echo'en?
Ik neem aan dat je die net als in mijn voorbeeld in een aparte string zet, dan kan je die makkelijk debuggen.
Maar nu wil ik als iemand een uitnodiging naar een andere gebruiker stuurt hij dan de taal van de persoon pakt waar die uitnodiging heen gaat nu is het de taal van de persoon die hem verstuurd.
Dan moet je die taal (van de ontvanger) in je query selecteren? Daarbij, zoals in mijn antwoord stond, het probleem blijft - je slaat iets op in een specifieke taal. Op het moment dat de taal wijzigt zit je nog steeds met je hardcoded berichten...
Robin . op 28/02/2020 19:55:31
Antwoord? is dooie boel daar iedereen zegt veel daar maar helpt weinig.
Wie denk je dat het antwoord gaf? :/
En wat versta je precies onder hulp? Dingen die je kunt knippen en plakken?
Robin . op 28/02/2020 19:55:31
Hier wordt ik teminsten wel geholpen.
Weet niet precies wat je voor hulp verwacht? Je bent in een bestaand (?) systeem dingen aan het omgooien en weet niet precies hoe je je queries moet opstellen. Dan hebben we nog een hele lange weg te gaan vrees ik. Plus dan is het niet enkel een kwestie van dingen bijmetselen maar ook nadenken over de algehele structuur van het systeem en dat een beetje hanteerbaar houden. Daar was mijn antwoord voornamelijk op gericht, maar dat is waarschijnlijk niet het type "hulp" wat jij zoekt, noch het type hulp wat je nodig hebt...
Anyway, stap voor stap komen we er wel. Maar klopt het wel wat je wilt?
Als ik de tekst "Je uitnodiging is verstuurd." zie, dan lijkt mij dit een melding die je ziet na het versturen van een bericht. En die hoort gewoon in de taal van jou zelf te zijn.
Of gaat het om een vertaald privé-bericht? In dat geval zou je dus speciale placeholders kunnen maken zoals [invite] welke wordt vertaald in: Uitnodiging, Invite, Einlading etc). Dan is de tekst niet hardcoded. Maar ik vraag me af hoe vaak iemand van taal wisselt.