OVH Cloud OVH Cloud

Traductions ?

4 réponses
Avatar
phpounch
Bonjour,

Je cherche un moyen simple pour faire un site multilingue. J'ai déja entendu
parler de gettext!
Qu'est-ce que c'est exactement et si c'est un outil approprié, est-ce bon?

Merci,
Dams

4 réponses

Avatar
blob
Je cherche aussi...

J'ai l'impression que gettext a été surtout développé pour
l'internationalisation et la localisation des logiciels et que dans une
problématique web, il est surtout adapté à la partie statique (ou à la
partie interface) d'un site. Je n'ai pas l'impression que ce soit une
solution à envisager pour gérer un site dynamique dont le contenu serai
multilingue. Mais je me trompe peut-être.

Pour un site dynamique multilingue avec un contenu stocké dans une base de
données et avec la même arborescence pour toutes les langues (si le contenu
manque dans une langue, on propose de l'afficher dans les langues où il
existe), on peut hésiter entre deux approches :
1. les traductions d'un même article dans la même entrée de la table
2. une entrée par traduction avec une liaison entre les entrées

Exemples qui suivent avec un seul type de page (pas de gabarits) :

Première approche :

une table avec l'arborescence et le contenu :
id_arbo, id_parent, champ1_fr, champ1_en, champ2_fr, champ2_en, date,
online, ...
les champs à traduire sont présents dans toutes les langues
la structure est simple, simple a gérer, et à maintenir (cohérence)
mais lorsqu'on ajoute une langue (ça arrive relativement souvent) il faut
modifier la structure des tables et les scripts

Deuxième approche :

une table avec l'arborescence
id_arbo, id_parent, id_contenu, ...

une table avec le contenu
id_contenu, lang, champ1, champ2, ...
id_contenu est le même pour les versions d'un même contenu dans différentes
langues
lang contient 'fr', 'en', ...
et une clé primaire sur (id_contenu, lang) pour assurer l'unicité d'un
contenu dans une langue donnée

ex :
18, 'fr', 'bonjour', 'comment allez-vous ?', ...
18, 'en', 'hello', 'how are you?', ... (traduction libre)

pour ajouter une langue, il suffit de traduire les contenu
la structure des table reste inchangée, de même que les scripts s'ils ont
été faits dans ce sens
18, 'sk', 'ahoj', 'ako sa mate ?', ...(la Slovaquie rejoint ce week-en
l'Union Européenne)

Ca se complique un peu quand les contenus n'ont pas toujours la même
structure et qu'on doit gérer des gabarits.


Qu'en pensez-vous ?


Blob
Avatar
Guillaume Brocker
phpounch wrote:

Bonjour,

Je cherche un moyen simple pour faire un site multilingue. J'ai déja entendu
parler de gettext!
Qu'est-ce que c'est exactement et si c'est un outil approprié, est-ce bon?


gettext permet de gérer de façon transparente les textes traduits en
différentes langues. Je l'ai personnellement utilisé pour des
développements C++ pour affirmer que c'est un outil à la fois simple et
puissant.

Pour de plus amples informations:
<http://www.gnu.org/software/gettext/gettext.html#TOCintroduction>

--
Guillaume Brocker

Avatar
Luuuuuuuuuuuuuuuzzzzzzzzzzzzzzzzzzz
phpounch a pensé très fort :
Bonjour,

Je cherche un moyen simple pour faire un site multilingue. J'ai déja entendu
parler de gettext!
Qu'est-ce que c'est exactement et si c'est un outil approprié, est-ce bon?

Merci,
Dams


Bonjour,

Tu as phplang qui fonctionne bien...
http://www.phpheaven.net/fr.html

en oeuvre sur le site www.european-diving-association.com si tu veux
voir.... très très simple à mettre en fonction.

--
Luuuuuuuuuuuuuuuuuuzzzzzzzzzzzz
Larguer les PLOMBS pour répondre

Avatar
blob
Voir aussi la faq de ce groupe...
http://faqfclphp.free.fr/#rub4.6

Blob