La théorie
Solution recalée : une structure de site par langue
La première solution aurait été de définir autant de hiérarchisation de contenus (ex : categorie > page > sous-page) que de langues disponibles. Les langues seraient ainsi des dossiers à la base du site permettant de diviser les contenus par langue (ex : FR > catégorie fr-1 > page fr-1). Ainsi, par exemple, cela permettrait de créer un site web très complet en français et de créer uniquement quelques pages de présentation en anglais et en allemand. Cette solution n'a pas été retenue car, si elle est souple en apparence, en pratique elle demeure compliquée dans la gestion du site (les contenus multilingues ne sont pas reliés entres-eux). De plus, cela revient à créer plusieurs sites : un dans chaque langue. Et comme la version 4 intégrera la possibilité de créer plusieurs sites avec un seul compte cela n'aurait que peu d'avantages.
Solution retenue : la solution rigoureuse mais solide
La solution que nous avons retenue est de partir du principe qu'un site multilingue est une copie (quasi) conforme dans plusieurs langues. Avec les mêmes contenus et la même hiérarchisation de contenus (dans le cas contraire, il s'agit de sites différents : un dans chaque langue).
Les contenus (exemples : une page, un billet de blog, ...) doivent être traduits dans toutes les langues définies dans les préférences générales du site. Néanmoins, il sera prévu que certains contenus ne puissent être disponibles que dans certaines langues (dans le cas de contenus pertinents dans certaines langues uniquement ou pour prévoir la traduction en différé : le contenu dans la langue source est créé puis est traduit plus tard).
L'avantage est que les contenus dans chaque langue sont reliés entres eux. Donc plus facile dans la gestion du site et plus facile de passer d'une langue à une autre pour un contenu particulier sur le site. Au niveau de la gestion, comme il sera possible de gérer un site à plusieurs, vous aurez la possibilité de créer un compte traducteur ayant uniquement le droit de traduire des contenus dans sa langue.
Nous avons retenu cette solution afin de vous offrir un système de gestion de site multilingue le plus performant possible.
La pratique
Sur le manager vous pourrez choisir les différentes langues dans lesquelles sera disponible votre site (limité à 2 langues maximum en version gratuite) :
Choix des langues du site sur le manager
Ensuite, pour chaque contenu texte que vous éditez sur le manager, vous pourrez basculer d'une langue à l'autre en cliquant sur des onglets :
Exemple de formulaire intégrant la gestion multilingue
Seuls les contenus textes seront traduisibles : les options, choix de catégorie, etc. seront communs à toutes les langues.
Sur le site, les internautes pourront passer d'une version à l'autre en sélectionnant la langue. Un affichage automatique dans la langue de l'internaute sera effectué si la langue est disponible. Dans le cas contraire, le site s'affichera dans la langue par défaut.
Voici donc l'essentiel sur la gestion de différentes langues sur la version 4. Je vous parlerai dans un prochain billet des nouveautés en matière d'ergonomie du manager et, en particulier, de la gestion des contenus des modules et pages.