Multi talen script

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

Pagina: « vorige 1 2 3

Robin .

robin .

28/02/2020 23:03:30
Quote Anchor link
Maar dat bericht wordt opgeslagen in de database dan kan het toch niet meer veranderd worden?
Als dat een makkelijker en sneller weg is dan op deze manier.
 
PHP hulp

PHP hulp

24/04/2024 11:05:07
 
- Ariën  -
Beheerder

- Ariën -

28/02/2020 23:05:43
Quote Anchor link
De inhoud hoef je niet aan te passen. De vertaling gebeurt dan door str_replace.
Gewijzigd op 28/02/2020 23:06:42 door - Ariën -
 
Robin .

robin .

28/02/2020 23:15:54
Quote Anchor link
Dat ziet er best ingewikkeld uit.
 
- Ariën  -
Beheerder

- Ariën -

28/02/2020 23:19:22
Quote Anchor link
En dus is het geen uitdaging? ;-)
Eigenlijk valt het best wel mee als je het door hebt.
 
Robin .

robin .

28/02/2020 23:23:27
Quote Anchor link
Gaat het op deze manier niet lukken dan volgensmij zijn we er bijna.
Zou toch moeten lukken?
 
- Ariën  -
Beheerder

- Ariën -

28/02/2020 23:26:19
Quote Anchor link
Probeer..... :-)
 
Robin .

robin .

28/02/2020 23:28:42
Quote Anchor link
Doe me best maar miss gewoon net iets meer ervaring in php...;)
 
- Ariën  -
Beheerder

- Ariën -

28/02/2020 23:32:29
Quote Anchor link
Ja, dat komt vanzelf wel als je er veel mee oefent, en begrijpt wat er in je script gebeurt.
 
Robin .

robin .

28/02/2020 23:36:02
Quote Anchor link
Doe me best haha maar jij weet ook niet de oplossing om me uit de brand te helpen?
 
- Ariën  -
Beheerder

- Ariën -

28/02/2020 23:39:21
Quote Anchor link
Door even terug te lezen! Er zijn inmiddels al een hoop antwoorden over drie pagina's gegeven.
Herhalen vind ik nu wel een beetje zonde van mijn tijd.
 
Thomas van den Heuvel

Thomas van den Heuvel

29/02/2020 01:03:10
Quote Anchor link
Vraag je dan wel af wat de dynamische delen in de zinsnede zijn, dit is waarschijnlijk niet buy_out of wat dan ook (mogelijk bedoel je bail out?).

Voortbordurend op mijn eerdere voorstel:
Het bericht(type) wordt bijvoorbeeld geïdentificeerd als: message_you_have_been_bailed_out oid.

Een vertaling in het engels is dan bijvoorbeeld:
Player [player_that_posted_bond] has bailed you out!

Een vertaling in het nederlands is dan bijvoorbeeld:
Speler [player_that_posted_bond] heeft jouw borg betaald!

Je zou dit bericht dus taalonafhankelijk kunnen opslaan door het "bericht id" (you_have_been_bailed_out) te onthouden in combinatie met een lijst van "invulvakjes" (in dit geval enkel het vakje player_that_posted_bond). Voor de weergave pak je dan het taalspecifieke sjabloon wat hoort bij dit bericht id en vervang je alle invulvakjes door de inhoud hiervan, bijvoorbeeld met str_replace().

En op deze manier zou je *al* je dynamische taalspecifieke zinnen kunnen afhandelen.

Toevallig is de volgorde van de zin en de dynamische delen in het bovenstaande geval min of meer hetzelde, maar dat is lang niet altijd gegarandeerd in verschillende talen met verschillende zinsconstructies.

Of je slaat direct dit verwerkte sjabloon op als (taalspecifiek) bericht, ingeval iemand zelden/nooit schakelt tussen talen. Maar waarschijnlijk vraagt dan iemand binnen de kortste keren waarom de berichten niet van taal meeveranderen wanneer iemand van taal schakelt :p.

Ah well, waarschijnlijk moet je hier eerst zelf tegenaan lopen.
Gewijzigd op 29/02/2020 01:05:02 door Thomas van den Heuvel
 
- Ariën  -
Beheerder

- Ariën -

01/03/2020 11:33:13
Quote Anchor link
Zo te zien ben je weer verder bij de buren van ICTscripters gegaan met je vraag? Ik neem aan dat we hier nog een terugkoppeling zien?
 
Robin .

robin .

01/03/2020 14:41:13
Quote Anchor link
Als ik het werkend heb zal ik hier ook een update doen.

Of als iemand nog een tip heeft altijd welkom.
 
- Ariën  -
Beheerder

- Ariën -

01/03/2020 14:59:42
Quote Anchor link
Er zijn heel wat tips, adviezen en ideeën gegeven. Bouw anders eens een compacte testcase, en kijk eens of dat bevalt. Laat het hier dan ook eens zien, zodat we eventueel nog kunnen beoordelen.
Gewijzigd op 01/03/2020 14:59:54 door - Ariën -
 
Robin .

robin .

02/03/2020 05:03:15
Quote Anchor link
Het is gelukt

Iedereen bedankt voor de tips.

Het is gelukt,

Heb het nu zo gedaan.

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
$uitbraak = array(
"en"=>"You are lucky $data->login has bought you out!",
"de"=>"Sie haben Glck, dass $data->login Sie aufgekauft hat!",
"nl"=>"Je hebt geluk $data->login heeft je uitgekocht!");
$language=$man->lang;
$sql = "INSERT INTO `[messages]`(`time`,`IP`,`from`,`to`,`read`,`subject`,`message`) VALUES (
 NOW(),
 '".$_SERVER['REMOTE_ADDR']."',
 'afzender',
 '".$man->login."',
 '0',
 'invite',
 '$uitbraak[$language]'
)";
$mysqli->query($sql);
 
- Ariën  -
Beheerder

- Ariën -

02/03/2020 15:01:04
Quote Anchor link
Oké dan.
Het wordt dus niet on-the-fly vertaald bij een taal-wisseling. Dat is nu dus duidelijk.
Ik raad wel aan om real_escape_string toe te passen op de data uit de array in de query. Ik vrees dat een ' de query plat zal leggen.

Ik snap alleen niet waarom je afwijkt van een taal-bestand?
Gewijzigd op 02/03/2020 15:05:14 door - Ariën -
 

Pagina: « vorige 1 2 3



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.