Application / Site web. Les meilleures soluces ? [Multilinguisme] - Divers - Programmation
Marsh Posté le 08-09-2003 à 20:40:39
bah en Delphi t'as le TJvTranslator qui marche bien et qui utilise des fichiers XML.
Sinon y a le même genre pour des fichiers INI que j'ai fait (en fait Zion a fait la version XML parce qu'il trouvait mes INI pas assez optimisés )
Marsh Posté le 08-09-2003 à 20:55:06
antp a écrit : bah en Delphi t'as le TJvTranslator qui marche bien et qui utilise des fichiers XML. |
Sympa, mais excuse moi, je vois pas de doc pour ce composant ( comme 90% des compos jvcl )
Marsh Posté le 08-09-2003 à 21:00:12
pas besoin de doc
tu peux tj downloader la source de mon soft Ant Renamer si tu veux voir comment je l'utilise
Marsh Posté le 08-09-2003 à 21:13:35
pas besoin de doc heu t'es chaud toi
Ca marche comment ?
C quoi les fonctions ?
la structure dudit fichier xml ?
etc etc etc
mais bon, je vais voir sur ant renamer, mais spa tres clair quand meme
reste le site
Et les autres languages : C++, etc
Marsh Posté le 08-09-2003 à 21:17:48
tetedeiench a écrit : pas besoin de doc heu t'es chaud toi |
Pour les sites, tu peux utiliser des templates, mais pour ma part je préfère les fichiers langues avec des tableaux du style :
$tonmot = array('en_français','en_anglais','en_allemand');
Ensuite dans ta page, tu fais un bête include et tu testes la variable de langue que tu passes dans l'URL, genre : index.php?lang=0
Tu vas simplement faire :
echo $tonmot[$_GET['lang']];
C'est en simplifié là... évidemment, mais tu as le principe. C'est plus rapide que les systèmes de template...
Marsh Posté le 08-09-2003 à 22:53:29
oui, mais c pas un peu le bordel a force ?
Imaginons le mec qui a des articles en plusieurs langues... il fait quoi/comment ?
Marsh Posté le 09-09-2003 à 02:52:29
tetedeiench a écrit : oui, mais c pas un peu le bordel a force ? |
Nom, mon système ne s'applique pas pour des articles. Pour des articles, on utilise une BDD évidemment...
Marsh Posté le 09-09-2003 à 09:29:46
pareil que gm_superstar
tous mes textes, du titre au bouton sont stockés dans des tableaux, un fichier de traduction par page
Code :
|
avantages :
c'est rapide
facile à maintenir (page admin avec include des textes dans des <textarea> pour modifs)
extensible (suffit de bien organiser le fichier et on peut facilement rajouter des infos)
inconvénients :
j'en vois pas à l'heure actuelle, mais c'est clairement fait pour peu de contenu, au dela faut taper dans une BDD
la gestion de la langue se fait avec url_rewrite, j'ajoute un répertoire /fr /us selon les cas, avec enregistrement dans un cookie pour rappel ultèrieur (les moteurs de recherche adorent, ils références les 2 versions sans problème)
Marsh Posté le 09-09-2003 à 09:35:26
tetedeiench a écrit : |
GNU gettext http://www.gnu.org/software/gettext/
Marsh Posté le 09-09-2003 à 12:02:22
ReplyMarsh Posté le 09-09-2003 à 12:10:21
Hermes le Messager a écrit : |
méga confusion !!! j'étais pas bien réveillé
il s'agissait de toi
Marsh Posté le 09-09-2003 à 12:44:43
moi j'ai un /fr dans l'URL qui provoque la modif d'un paramètre "lang"
Puis dans chaque page j'ai un case qui initialise des variables avec le texte de la page, selon la langue.
Puis je fais des echo du code HTML, et entre les tags je mets les variables contenant le texte.
Marsh Posté le 10-09-2003 à 00:23:18
personne n'evoque ici l'include
avec variable en session
Code :
|
ainsi on ne charge que les variables dont on a besoin et non pas un tableau contenant l'ensemble des trads
Marsh Posté le 10-09-2003 à 09:31:17
utiliser une session pour gérer la langue c'est pas franchement génial
tu dois utiliser la session dès la première page (résultat sans "bidouilles" bye bye le référencement, les bots aiment pas les SID)
ça fait 2 accés disque par visiteur et par page supplémentaires par rapport aux tableaux (lecture et écriture du fichier de session pour finalement inclure quand même un fichier)
définir quelques variables en plus quitte à les détruire est bien plus propre à mon gout
Marsh Posté le 10-09-2003 à 09:44:14
ca me semble au contraire un cas exemplaire d'utilisation des sessions
jamais entendu parlé de cette histoire de réferencement et session_id .... tu peux développer
Marsh Posté le 10-09-2003 à 09:50:12
La Java permet de créer assez facilement des applis multilangues.
i18n Powaaaa
Marsh Posté le 10-09-2003 à 10:13:08
en PHP gettext semble bien approprié...
http://www.mandragor.org/tutoriels [...] d=9&chap=0
jamais utilisé jusqu'a maintenant
Marsh Posté le 10-09-2003 à 11:09:16
simogeo a écrit : ca me semble au contraire un cas exemplaire d'utilisation des sessions |
Pour transmettre une variable de page en page sans avoir besoin de la modifier et donc l'influence sur la sécurité est inexistante, y'a des cookies pour ça, des variables get, les sessions c'est complètement démesuré
un panier ecommerce ça c'est typique de l'utilisation de session
faut pas oublier que les sessions c'est à double tranchant, 2 accés disque pour le serveur par visiteur et par page, mine de rien ça lui fait du boulot en plus
les robots d'indexation des 3/4 des moteurs de recherche ne parcourent pas les lient contenant un SID stout..
Marsh Posté le 10-09-2003 à 12:08:04
Sh@rdar a écrit : |
c'est jamais qu'un cookie côté serveur
Sh@rdar a écrit : |
rien ne t'oblige a transmettre l'id dans l'url
Marsh Posté le 10-09-2003 à 13:17:42
simogeo a écrit : |
si le client n'accepte pas le cookie, faut bien transmettre le sid non ? sinon c'est cookies obligatoire pour surfer
si le client est un robot qui n'accepte pas les cookies ? tu références mal ton site
dans les deux cas la solution n'est pas optimale, y'a des solutions plus simples et plus fiables, autant en profiter
Marsh Posté le 10-09-2003 à 13:20:43
Et si le cookie ne sert qu'à éventuellement rediriger vers le /fr quand on arrive sur la page principale ? Une fois que c'est sur un /fr, tu sais que tu dois rajouter /fr à la fin de tous tes liens (c'est ce que je fais)
Marsh Posté le 10-09-2003 à 13:25:27
personnellement je ne garde le cookie que pour que le visiteur retrouve la même langue à sa prochaine visite
dans l'ordre de priorité des variables le cookie passe avant le get (parce que le visiteur peut provenir d'un lien vers une autre langue par ex, ou se gourrer en tapant l'url, là ça ajuste automatiquement)
Marsh Posté le 10-09-2003 à 16:42:12
Sh@rdar a écrit : la gestion de la langue se fait avec url_rewrite, j'ajoute un répertoire /fr /us selon les cas, avec enregistrement dans un cookie pour rappel ultèrieur (les moteurs de recherche adorent, ils références les 2 versions sans problème) |
qu'entends-tu par url_rewrite ?
Marsh Posté le 10-09-2003 à 17:16:53
réécriture d'url à la volée (une fonction apache du tonnerre) ce qui permet de taper une url, mais d'en appeler une autre avec ce que tu veux
le tout est basé sur des regexp
tu génères un masque dans un .htaccess comme ça :
Code :
|
et quand tu tapes http://mondomaine.com/mapage_12.html ça se transforme en http://mondomaine.com/monscript.php?id=12
le tout est totalement transparent pour l'utilisateur qui ne verra que la page qu'il a tapé, c'est excellent pour le référencement (les robots pensent avoir à faire à un site statique et les url sont plus "propres" )
Marsh Posté le 10-09-2003 à 17:23:41
moi j'appelle www.antp.be/software/renamer/fr, ça appelle software.php (y a 5 ou 6 fichiers comme ça, les "zones" du site) qui fait un include de index.php. Ensuite index.php récupère l'URL complète pour transformer les "dossiers" en variables PHP.
Marsh Posté le 10-09-2003 à 17:28:56
Sh@rdar a écrit : réécriture d'url à la volée (une fonction apache du tonnerre) ce qui permet de taper une url, mais d'en appeler une autre avec ce que tu veux
|
c'est bien ce qu'il me semblait, je connaissais celà sous le nom de mod_rewrite c'est pour ça
Marsh Posté le 10-09-2003 à 17:32:31
ratibus a écrit : |
et je me fends d'une explication parce que Mossieu n'a pas eu le nom exact du mod apache
Marsh Posté le 10-09-2003 à 17:35:23
pour ceux qui utilisent l'url rewriting, je vous conseille d'activer le log_rewrite et de vérifier combien de requêtes se mange apache par réécriture
j'ai eu des surprises en voyant 4-5 GET par url, depuis j'ai modifié pas mal de trucs
Marsh Posté le 10-09-2003 à 17:40:57
Sh@rdar a écrit : |
bah, consoles toi, ça m'a été utile
Marsh Posté le 10-09-2003 à 17:50:31
Sh@rdar a écrit : |
le prends pas mal, je pensais que tu parlais d'autre chose
Marsh Posté le 11-09-2003 à 08:38:42
ratibus a écrit : |
j'aurais pu ajouter un quand même
Marsh Posté le 08-09-2003 à 19:55:32
Je groupe les deux, car comme ca, ca répondra a quasiment tous les besoins d'internationalisation.
j'aimerai en fait dans un premier temps, sortir mon site web en version multilingue.
Quelle est la technique que vous recommandez pour s'en sortir sans trop de problemes ? ( php inside... je suppose que ca impliquera le XML, nan ? ).
Pour une application, pareil, quelle est la meilleure technique pour une application multilingue via des fichiers de langue, pour éviter de tout recoder a la mano et de faire des milliers d'assignements ?
je pense notamment a comment gérer le retour a la ligne avec les compos d'affichage ( Tmemo, Tlable sous delphi par exemple), comment enregistrer facilement le tout, si des techniques épurées toutes pretes pour des languages connus existent déjà ( Delphi, C++, etc).
bref, que vous apportiez vos idées et vos solutions pour un site web multilingue sans trop de prises de tete, et une appli multilingue avec fichier de langue sans trop d'emmerdes non plus
Merci
---------------
L'ingénieur chipset nortiaux : Une iFricandelle svp ! "Spa du pâté, hin!" ©®Janfynette | "La plus grosse collec vivante de bans abusifs sur pattes" | OCCT v12 OUT !