Intégrer le multilinguisme dans son site
Note: Return to tutorial view.
Introduction et principe
Le multilinguisme dans Plone est géré à deux niveaux :
- tout d'abord, tout ce qui concerne les libellés standards de l'outil
- ensuite, le contenu proprement dit
Au niveau des libellés et des messages standards, par défaut, ils sont affichés dans la première langue disponible parmi les langues sélectionnées dans le navigateur.
Le contenu, par défaut, n'est disponible que dans la langue dans laquelle il a été encodé.
Afin de créer un site réellement multilingue au niveau de son contenu, il est nécessaire d'installer le produit LinguaPlone (de manière standard via le panneau de configuration du site).
Différentes langues peuvent alors être sélectionnées comme langues disponibles pour encoder le contenu.
Une de ces langues devra être choisie comme langue par défaut pour le site.
Si la langue de préférence du navigateur de l'internaute ne fait pas partie des langues choisies pour le site, c'est la langue défine par défaut qui sera utilisée à la fois pour les libellés et le contenu.
De manière identique, si une page n'a pas été traduite dans la langue de préférence du navigateur, la page sera affichée dans la langue par défaut du site.
LinguaPlone met en place une interface de traduction sur le site.
Le principe est le suivant :
- Une page créée sur le site n'est par défaut associée à aucune langue et sera disponible dans tous les cas.
- L'interface complémentaire de LinguaPlone va permettre de choisir d'effectuer une traduction dans une autre langue, ce qui affiche une page d'édition séparée en deux colonnes : à gauche le contenu dans la langue d'origine, à droite des zones correspondantes vides dans lesquelles il est nécessaire d'encoder le contenu dans l'autre langue. Après sauvegarde, une copie de la page d'origine est créée. Si tout est traduit, le contenu du site monolingue est donc en principe multiplié par le nombre de langues traduites.
Configuration du produit
Après avoir installé le produit LinguaPlone via le menu "Ajout / Suppression de produits", le site passe en anglais, langue sélectionnée par défaut. Un nouveau lien intitulé "Language Settings" apparaît dans le menu de configuration du site.
Après avoir cliqué sur ce lien, l'écran suivant est affiché :
Le cadre supérieur permet de définir la langue par défaut. Seul l'anglais est disponible dans la liste.
Afin de choisir une autre langue comme langue par défaut, il est nécessaire de sélectionner d'abord dans le second cadre les langues qui vont être utilisées sur le site.
Une fois cette opération effectuée, cliquez sur le bouton "Save".
Si la langue par défaut n'est pas celle désirée, modifiez-la et cliquez à nouveau sur le bouton "Save".
L'écran de configuration est maintenant affiché dans la langue par défaut, par exemple en français:
Les paramètres sélectionnés par défaut peuvent rester tel quel et ne nécessitent pas de modification.
Traduction du contenu du site
Interface de LinguaPlone
Pour les éléments du site qui peuvent être traduits (tous les éléments de base), un menu complémentaire apparaît dans la barre d'actions.
Dans cet exemple, on voit les deux langues choisies sur le site qui sont représentées par les deux drapeaux situés à droite. Ces derniers sont grisés car aucune langue n'a été attribuée explicitement à la page affichée et aucune traduction n'existe.
Le menu déroulé intitulé "traduire en" permet plusieurs actions :
- sélectionner une langue afin de traduire l'élément (dans ce cas, seul le néerlandais est proposé car l'élément est considéré comme étant du français, la langue par défaut choisie dans la configuration)
- "gestion des traductions" permet d'afficher un écran de contrôle concernant le multilinguisme de l'élément
- "Paramètres linguistiques" permet d'accéder au panneau de configuration de LinguaPlone (ce lien n'apparaît que pour les administrateurs)
Traduction de l'élément dans un autre langue
Lorsque l'on traduit en sélectionnant une langue proposée dans le menu, l'écran suivant apparaît :
Cet écran est divisé en deux colonnes : à gauche la langue d'origine, à droite les zones d'édition qui permettent au rédacteur de traduire l'élément.
La langue de l'interface est passée automatiquement à la langue choisie pour la traduction.
Une fois la page sauvegardée, l'élément est disponible dans les langues traduites.
On voit maintenant que le drapeau néerlandais situé à droite est encadré et que le drapeau français n'est plus grisé. La page encore non traduite auparavant a été associée automatiquement au français comme il s'agit ici de la langue par défaut. En cliquant sur le drapeau français, la langue affichée sur le site va redevenir le français et la version française de la page sera affichée.
L'internaute peut donc passer d'une langue à l'autre en cliquant sur les drapeaux.
Gestion des traductions
A partir du moment où un élément est traduit dans toutes les langues choisies pour le site, le menu "traduire en" est intitulé "gérer les traductions", ce qui correspond à l'entrée "gestion des traductions" qu'on retrouvait auparavant dans le menu "traduire en".
En cliquant sur "gérer les traductions", l'écran suivant apparaît :
La partie supérieure de l'écran permet de changer la langue associée à l'élément ouvert.
La partie inférieure permet de gérer les traductions en différents langues liées à l'élément.
Eléments créés lors d'une traduction
Lors d'une traduction d'un élément, un nouvel élément de même type est en fait créé au même niveau. Les éléments ainsi créés pour chaque langue ne sont visibles que lorsque la langue correspondante est sélectionnée. L'avantage de ceci est qu'il est possible de désactiver le multilinguisme ou une langue particulière sans aucun impact sur le contenu qui sera affiché pour les autres langues et pour la langue par défaut. Après réactivation d'une langue, le contenu dans cette langue sera à nouveau affiché.
Si un dossier et ses sous-éléments est traduit, la même arborescence sera créée au niveau de ce dossier.
Cas particulier des éléments de type "dossier"
Lorsqu'un élément de type dossier est traduit, seuls les éléments du dossier qui sont déjà traduits dans la langue correspondante apparaitront dans le dossier. Les éléments non encore traduits ne seront donc pas visibles par l'internaute pour cette langue. En fait les éléments de la langue par défaut ne sont plus affichés.
Par contre si le dossier lui-même n'est pas traduit, l'internaute verra à la fois les éléments déjà traduits dans sa langue mais aussi les éléments dans la langue par défaut.
Le déplacement d'un dossier traduit nécessite idéalement de déplacer aussi les dossiers traduits, qui pour rappel sont des objets distincts. Cela afin de garder la même structure de site entre les différentes langues. Le déplacement des traductions n'est pas obligatoire : les éléments en différentes langues seront toujours bien liés même si certains ont été déplacés.
Afin de gérer au mieux un site multilingue, il est conseillé de le construire entièrement dans une seule langue (celle par défaut) et ensuite de le traduire langue par langue. Ceci afin d'éviter les changements de structure inévitable quand le site est en construction.
Il est également conseillé de placer toutes les images dans un dossier et sous-dossiers situé à la racine du site.