JeuWeb - Crée ton jeu par navigateur
[PHP] Quelles sont les solutions pour faire un site multilingue ? - Version imprimable

+- JeuWeb - Crée ton jeu par navigateur (https://jeuweb.org)
+-- Forum : Discussions, Aide, Ressources... (https://jeuweb.org/forumdisplay.php?fid=38)
+--- Forum : Programmation, infrastructure (https://jeuweb.org/forumdisplay.php?fid=51)
+--- Sujet : [PHP] Quelles sont les solutions pour faire un site multilingue ? (/showthread.php?tid=5876)

Pages : 1 2 3 4


RE: [PHP] Quelles sont les solutions pour faire un site multilingue ? - php_addict - 05-01-2012

merci pour vos conseils

j'ai encore 2 questions à ce sujet:

1) est ce que quelqu'un parvient à utiliser gettext() en local avec wampserver notamment pour la compilation des fichiers langues?

2) je suis en train de nettoyer mes modèles car il contenaient encore quelques éléments html qui devraient être dans les vues, je sais c'est mal...et je me pose la question suivante:

où stocker et comment récupérer tout les textes correspondant par exemple aux contenus des emails à envoyer, où bien des textes utilisés pour les Messages privés du jeu envoyés automatiquement, genre "Bienvenue dans le jeu" et autres MP ...
car jusqu'à maintenant j’utilisais les constantes en php mais je me suis rendu compte que c'était assez horrible à gérer...


RE: [PHP] Quelles sont les solutions pour faire un site multilingue ? - Holy - 05-01-2012

Je vois pas trop ce qui t'empêche de les utiliser avec gettext. C'est jamais que des chaines de caractères, tu les stockes là où tu veux (tableau, json, constante, ...).


RE: [PHP] Quelles sont les solutions pour faire un site multilingue ? - php_addict - 05-01-2012

(05-01-2012, 02:03 AM)Holy a écrit : Je vois pas trop ce qui t'empêche de les utiliser avec gettext. C'est jamais que des chaines de caractères, tu les stockes là où tu veux (tableau, json, constante, ...).

oui pas de problème avec gettext je me demande quelle est la meilleure façon de stocker ces données car j'aime de moins en moins les constantes pour stocker ce genre de données...


RE: [PHP] Quelles sont les solutions pour faire un site multilingue ? - niahoo - 05-01-2012

ben je pige pas, gettext va les chercher dans les fichiers .po (compilés en .mo). donc nul besoin de les stocker ailleurs, si ?



RE: [PHP] Quelles sont les solutions pour faire un site multilingue ? - php_addict - 05-01-2012

oups pardon je me suis mal exprimé, je pensais aux textes à trous du genre:

Vous avez gagné {nb} points le {jj/mm/AAAA} en attaquant {machin}

vous stockeriez ca direcement dans po ?


RE: [PHP] Quelles sont les solutions pour faire un site multilingue ? - keke - 05-01-2012

dans .po

'Vous avez gagné %s point(s) le %s en attaquant %s'

et dans ton code :
sprintf ( _('Vous avez gagné %s point(s) le %s en attaquant %s'), $nb_points, $date, $nom_defenseur);

kéké qui utilise quotidiennement easyphp/gettext


RE: [PHP] Quelles sont les solutions pour faire un site multilingue ? - niahoo - 05-01-2012

voilà et ensuite rien ne t'empêche d'utiliser des raccourcis

dans .po

'Vous avez gagné %s point(s) le %s en attaquant %s'

et dans ton code :
sprintf ( _('msg.earnings.attack'), $nb_points, $date, $nom_defenseur);


RE: [PHP] Quelles sont les solutions pour faire un site multilingue ? - Myrina - 05-01-2012

Ceci ne fonctionne que si, dans les autres langues, la construction de la phrase place les valeurs dynamique dans le même ordre (nb points, date, nom)...

Dans ce cas, il faudrait plutôt passer par str_replace.

PS: je n'ai pas vu d'interrogation sur le traitement multilingue du contenu de la base de données; un oubli?



RE: [PHP] Quelles sont les solutions pour faire un site multilingue ? - djidi - 05-01-2012

(05-01-2012, 10:23 AM)Myrina a écrit : Ceci ne fonctionne que si, dans les autres langues, la construction de la phrase place les valeurs dynamique dans le même ordre (nb points, date, nom)...

Dans ce cas, il faudrait plutôt passer par str_replace.

Sauf si on précise l'ordre, ce qui est possible avec sprintf.
http://www.jeuweb.org/showthread.php?tid=8151&pid=104110#pid104110


RE: [PHP] Quelles sont les solutions pour faire un site multilingue ? - Myrina - 05-01-2012

(05-01-2012, 10:55 AM)djidi a écrit : Sauf si on précise l'ordre, ce qui est possible avec sprintf.
http://www.jeuweb.org/showthread.php?tid=8151&pid=104110#pid104110
Je ne connaissais pas le %1$s, merci Wink