webleads-tracker

[PHP] gestion des langues

Gaetan Lebreton
Bonjour tout le monde,

J'aimerai connaitre le meilleur moyen de gérer les langues sur un site web sans avoir à passer un temps fou des qu'il s'agit de rajouter une nouvelle langue ?

Merci d'avance.

Jérémie [Medialibs]
Que souhaites tu savoir exactement ?
Tu veux avoir des conseils par rapport à la gestion des langues dans e-majine ou dans un projet PHP en générale (développement) ?
Je te pose ces questions parce que tu a préfixé ton sujet avec PHP
Directeur du Labo R&D
Medialibs

Gaetan Lebreton
En faite cela concerne un projet PHP en générale.Rien a voir avec e-majine.

Je voudrais connaitre votre avis sur une gestion de langue d'un site quelconque. Quel est la meilleure façon de faire au niveau du développement ?

Jérémie [Medialibs]
Alors la c'est un sujet compliqué puisque ça impact l'ensemble de la logique de développement.
Pour gérer les traductions, il existe un outil : gettext. Il permet d'utiliser un identifiant qui sera traduit dans toutes les langues du site. En fait à la place de faire :
<?php
echo 'Mon titre';
?>

Tu auras
<?php
echo _('Mon titre');
?>

Cela sera traduit en fonction des langues du site. Voici un tutorial sur gettext.

Ensuite, il est très important de bien penser la DB. Pour stocker, un article il faudra par exemple :
  • id_article
  • nom
  • texte
  • langue

Si un article doit être associé à plusieurs langues, alors il faudra addapter pour gérer une table association.

Ensuite à toi de voir ce que tu veux faire au niveau de l'arborescence du site :
/fr/, /en/ ou /index.php?lang=fr, /index.php?lang=en, ...

Voilà quelques pistes...
Directeur du Labo R&D
Medialibs

Gaetan Lebreton
Merci pour les pistes.

Julien Guerry
Gettext est simple et largement suffisant.
J'ai découvert récemment TMX, ça a l'air lourd (comparé à gettext) mais potentiellement intéressant (XML) :
http://evolt.org/PHP-Localization-with-TMX-standard

Fabien Lacroix
Bonjour,
Et dans le cas d'e-majine, comment ce passe la gestion des langues ?
En fait, dans le cadre d'un projet en cours d'intégration, il y a différentes version étrangère de prévue. Actuellement, le site est en anglais et je dois placer les traductions FR : quel est le moyen le plus rapide ? Et surtout, coté site, des drapeaux sont prévu pour choisir la langue mais dois-je créer un répertoire par langue et dupliquer les articles pour ensuite les traduire ?

Fabien

Jérémie [Medialibs]
J'ai créé une nouvelle discussion sur la gestion de langues dans e-majine.

Voir la discussion : "Gérer un site multi-langues"
Directeur du Labo R&D
Medialibs