Bonjour,

il s'agit de mon premier sujet dans ce forum que j'apprécie beaucoup et où j'ai trouvé beaucoup de bonnes réponses, mais pas celle là Smiley confus

Je développe actuellement un site multilingue avec une gestion de tout type de langues en utf-8.
les variables sont interprétées de page en page a travers l'url rewriting, ce qui signifie que en anglais ce serait par exemple:

http://www.page.com/hello-baby/


et en hebreu ou arabe ça devrait être:

http://www.page.com/HelloEnHebreu-BabyEnHebreu/


où "hello" represente une variable et "baby" une autre, interpretées dans la page de destination.

Mon problème: Smiley bawling

en hebreu ou arabe, la direction du texte est RTL, donc le resultat se transforme en "baby"-"hello", ce qui me fausse tous les résultats.

et voici a quoi ressemble le code en PHP qui construit le lien:

<a dir="ltr" href="<?php echo 'http://www.page.com/'.$hello.'/'.$baby.'/'; ?>"> lien </a>


en anglais francais espagnol, aucun problème, mais avec les languages RTL le lien se change...

la direction dir="ltr", la langue lang="ar" ou lang="en", n'arrivent pas a ne pas transformer la direction du texte de la URL.

Le problème est qu'une page qui est en language RTL, faire que les URL écrites en RTL, ne soient pas modifiés et restent el LTR.... (immobiles quoi..)

L'idée est simple, mais pas facile de trouver la solution, pourtant j'ai testé pas mal de choses, mais rien... Smiley biggol

en espérant que vous puissiez m'éclairer Smiley cligne
Modifié par carlescampi (12 Apr 2012 - 17:23)
Hello,

Je connais très mal le sujet des langages RTL.

Par contre, les URL c'est techniquement de l'ASCII (moins quelques caractères) et donc du LTR, en vrai. Les caractères qui n'appartiennent pas au jeu de caractères autorisé dans les URL doivent être transcodés en percent encoding (aussi appelé URL encoding).
Modifié par fvsch (11 Apr 2012 - 19:18)
Bonsoir fvsch,

A vrais dire t'a tout a fait raison, les variables passent correctement puisqu'elles s'encodent en percent encoding, donc en ordre...

J'ai été confus puisque le navigateur change l'url ( la partie du language RTL) en RTL

voici un exemple:

upload/44169-url.jpg

la même chose en langue latine:

/fr/_VAR1/VAR2-VAR3/VAR4/


resultat, mon problème ne viens pas de la repartition des variables mais de la transformation que j'effectue sur elles, pour les adapter a l'url. exemple: espaces, virgules, accents...

Il faut que je travaille sur cet autre sujet pour arranger mes problèmes puisque les erreurs viennent certainement de ça, je dois modifier la structure des mots sans le vouloir.

je te remercie fvsch puisque tu m'ha fait tester d'autres fonctions, lequelles m'ont fait comprendre.
Modifié par carlescampi (11 Apr 2012 - 23:46)