Multi talen script
Pagina: « vorige 1 2 3 volgende »
Thomas van den Heuvel op 28/02/2020 19:48:38:
Antwoord? is dooie boel daar iedereen zegt veel daar maar helpt weinig.
Hier wordt ik teminsten wel geholpen.
Ik neem aan dat je die net als in mijn voorbeeld in een aparte string zet, dan kan je die makkelijk debuggen.
Gewijzigd op 28/02/2020 19:57:46 door - Ariën -
Code (php)
1
2
2
$lang1 = $mysqli->query("SELECT * FROM `[users]` WHERE `id`='$id'");
$lang = $lang1->fetch_assoc();
$lang = $lang1->fetch_assoc();
Neem aan dat die dan checkt vanuit $lang in de database kijkt.
Of moet ik het nog ergens aangeven dat die die moet checken?
Had deze ook nog veranderd naar
Gewijzigd op 28/02/2020 20:01:01 door robin .
En lees even terug over escapen met mysqli_real_escape_string().
Gewijzigd op 28/02/2020 20:09:59 door - Ariën -
voorbeeld terug, waarin ik de SELECT-query in een aparte $sql zet.
Nee, kijk even mijn vorige Gewijzigd op 28/02/2020 20:26:19 door - Ariën -
Die ( en ) horen er niet. En zorg ervoor dat je $id buiten quotes zet, en tussen '.
Je wilt geen rotzooi in je query.
Code (php)
1
2
3
4
5
2
3
4
5
<?php
$query = "SELECT * FROM [users]
WHERE id = '".$mysqli->real_escape_string($id)."'");
echo $query;
?>
$query = "SELECT * FROM [users]
WHERE id = '".$mysqli->real_escape_string($id)."'");
echo $query;
?>
Quote:
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.
Gewijzigd op 28/02/2020 21:12:45 door - Ariën -
Alleen in andere taal.
Ik heb op de me server dan browser in engels en op pc in nederlands zo kan ik dan testen maar hij blijft het sturen vanuit de taal van de verstuurder
Robin . op 28/02/2020 22:01:08:
Zijn gewoon standaard teksten, het blijft gewoon altijd de zelfde tekst.
Alleen in andere taal.
Alleen in andere taal.
Lekker tegenstrijdig? Hetzelfde of anders?
Maar is het de inhoud van het bericht, of een bevestigingsmelding die de verzender ziet na het versturen?
In het laatste geval zou een simpele variabele gewoon moeten werken.
Gewijzigd op 28/02/2020 22:10:11 door - Ariën -
Code (php)
1
2
3
2
3
$sql=$mysqli->query("SELECT `lang` FROM `[users]` WHERE `id`='".$mysqli->real_escape_string($id)."'");
$tmp=$sql->fetch_assoc();
$taalOntvanger=$tmp->lang;
$tmp=$sql->fetch_assoc();
$taalOntvanger=$tmp->lang;
Weet niet of dit makelijk is. om te kijken welke taal het is.
Code (php)
1
2
3
4
5
6
7
8
9
10
2
3
4
5
6
7
8
9
10
<?php
// sla de SQL-query op in een aparte string, zodat je deze makkelijk kan debuggen.
$sql = "SELECT `lang` FROM `[users]` WHERE `id`='".$mysqli->real_escape_string($id)."'";
//echo voor test-doeleinden de query.
echo "De query is :".$sql;
// Voer de query() uit met de inhoud van $sql.
$query = $mysqli->query($sql);
?>
// sla de SQL-query op in een aparte string, zodat je deze makkelijk kan debuggen.
$sql = "SELECT `lang` FROM `[users]` WHERE `id`='".$mysqli->real_escape_string($id)."'";
//echo voor test-doeleinden de query.
echo "De query is :".$sql;
// Voer de query() uit met de inhoud van $sql.
$query = $mysqli->query($sql);
?>
Gewijzigd op 28/02/2020 22:17:31 door - Ariën -
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
$sql = "SELECT `lang` FROM `[users]` WHERE `id`='".$mysqli->real_escape_string($id)."'";
$sql = "INSERT INTO `[messages]`(`time`,`IP`,`from`,`to`,`read`,`subject`,`message`) VALUES (
NOW(),
'".$_SERVER['REMOTE_ADDR']."',
'afzender',
'".$man->login."',
'0',
'invite',
'".$mysqli->real_escape_string($lang['invitation_sent'])."'
)";
$mysqli->query($sql);
$sql = "INSERT INTO `[messages]`(`time`,`IP`,`from`,`to`,`read`,`subject`,`message`) VALUES (
NOW(),
'".$_SERVER['REMOTE_ADDR']."',
'afzender',
'".$man->login."',
'0',
'invite',
'".$mysqli->real_escape_string($lang['invitation_sent'])."'
)";
$mysqli->query($sql);
Heb het dan nu zo staan maar hij verstuurd nog steeds in taal van verzender en niet in ontvanger?
Ik wil je best helpen, maar het zou fijn zijn als je ook deed wat er gevraagd wordt.
Gewijzigd op 28/02/2020 22:32:29 door - Ariën -
De query is :SELECT `lang` FROM `[users]` WHERE `id`='94'
En waar komt $id vandaan?
maar even voor de duidelijkheid:
- Ariën - op 28/02/2020 22:08:17:
Maar is het de inhoud van het bericht, of een bevestigingsmelding die de verzender ziet na het versturen?
Graag antwoord. Want het wordt nu wel erg onduidelijk.
Gewijzigd op 28/02/2020 22:40:02 door - Ariën -
Het is gewoon bevestiging dus zal moeten staan
Account naam heeft je uitgekocht
En als die gene engels is
Username have buy you out.
En dat bericht moet dan verzonden worden in de taal van de gene die het ontvangt.
Want als een nederlander een engelse uitbreekt krijgt de engelse anders een nederlands bericht kan die natuurlijk niet lezen.
Daarom moet het dan veranderen dus als een nederlander iemand uitbreekt die engels is de engelse gewoon het bericht in het engels krijgt of andersom.
Gewijzigd op 28/02/2020 22:58:54 door - Ariën -