Site multilangues ?

Répondre
clicone
clicone
Déconnecté
Si Dieu existe, j'espère qu'il a une bonne excuse -woody allen-
Bonjour, Pour faire un site multi-langues quelle est la meilleure solution ?

- toutes les variables dans un fichier texte ?
- Tout dans la base de données ?
- ?

Merci pour votre aide
Bzh
Bzh
Déconnecté
C'est tjrs pareil !

Tout dépend de ta cantité de langues et surtout du nombre de mots à traduire !
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
La meilleure solution, c'est le gettext :)
LupusMic
LupusMic
Déconnecté
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
(La Globule) Et question performances, ça risque pas d'être tendu ? Parce que ça risque de faire un paquet de fichiers ouverts si le site est chargé.

À moins qu'on ne puisse utiliser une SGBD pour backend ?
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Et question performances, ça risque pas d'être tendu ? Parce que ça risque de faire un paquet de fichiers ouverts si le site est chargé.


Je ne comprend pas :/

En fait, quand tu utilises du gettext, tu as un couple de fichier par langue :
- un fichier .po qui contient tous les textes du site plus leurs traductions
- un fichier .mo qui est une version compilée du .po, et c'est ce fichier qui est utilisé pour afficher une traduction

Et ce .mo, il pese genre 100 octets.

Donc quand tu surfes dans une certaine langue, PHP (gettext) cherche la traduction dans un fichier unique de 100 octets.

Niveau perf, ca marche extrêmement bien.
LupusMic
LupusMic
Déconnecté
Développeur récurrent, procédural et relationnel. Caustique soupe-au-lait.
En fait, je m'inquiètes des performances, car j'imagine le gros site, qui inclus déjà une vingtaine d'includes PHP, ouvre une dizaine de tables MySQL etc. Donc rajouter l'ouverture de fichiers que j'imaginais gros m'inquiétais. Mais en fait, si c'est si peu...
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Non non, c'est fait pour, ca marche super bien.

On l'utilise aussi au taff sur des gros portails (60 000 visiteurs uniques par jour) et aucun problème à signaler.
clicone
clicone
Déconnecté
Si Dieu existe, j'espère qu'il a une bonne excuse -woody allen-
Merci à tous pour vos avis très pertinents.
mojorisin
mojorisin
Déconnecté
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
Il faut que gettext soit disponible aussi.
Et gettext n'est pas idéale pour la traduction de pavé de texte.
clicone
clicone
Déconnecté
Si Dieu existe, j'espère qu'il a une bonne excuse -woody allen-
@ mojorisin ... aH bon ! si gettext n'est pas ideal ca relance le débat alors, que conseile tu ?
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
Et gettext n'est pas idéale pour la traduction de pavé de texte.


Tu dis cela parce qu'à la moindre faute d'orthographe ta traduction est morte ?
Sinon, pourquoi ?
mojorisin
mojorisin
Déconnecté
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
Oui entre autre, et avoir une fonction _($string); ayant 1000 caractères c'est pas terrible :)
LA GLOBULE
LA GLOBULE
Déconnecté
111 111 111 x 111 111 111 = 12 345 678 987 654 321
C'est pas faux.

Mais faire un fichier de trad en PHP avec des tableaux, le problème persistera.

Gettext reste quand même plus optimisé.
Je ne suis pas sur que la solution parfaite, bien adaptée au web existe.

Sinon, que proposes tu ?
mojorisin
mojorisin
Déconnecté
echo ’16i[q]sa[ln0=aln100%Pln100/snlbx]sbA0D4D465452snlbxq’|dc
Je pense que l'idéale reste un mixe de diverses solutions :
Parties dynamiques stockées en base
Libellé, petits textes sous forme gettext ou équivalent et utilisation de vues différentes pour les grosses parties textuelles.

Mais comme tu le dis le soucis est que le web est un médium, donc véhicule plus de texte qu'une application système.

Après je pense que le couple xml/xslt est une bonne alternative pour de gros sites avec un contenu texte riche.
Répondre
Accès rapide :

Remonter Remonter
L'éditeur javascript - CSS - Gentoo - Tutoriaux PHP - Tutoriels PHP - Php - Breizh Blog