Internationaliser
son site Concrete5
Nous allons décrire la méthode de mise en œuvre et de gestion du paquet gratuit internationalisation de Concrete5. La version payante est rapidement évoquée en toute fin de page.
Qu'est-ce que c'est ?
Internationalisation est un paquet permettant une gestion multilingue du contenu de votre site web Concrete5. Il offre quelque outils permettant la duplication d'arborescence, l'affectation de la langue sur chaque page, ou groupe de pages, la gestion de redirection, etc...
En gros il s'agit d'un composant permettant d'obtenir rapidement un site multilingue avec une gestion en façade ne modifiant pas vos habitudes.
Comment ça marche ?
Pré requis
Les conditions de fonctionnement sont simples, il suffit d'avoir un site web fonctionnant avec Concrete5, et le paquet Internationalisation installé sur celui-ci. Si vous ne savez pas comment installer un paquet sur concrete5, je vous invite à lire ceci.
Conditions initiales
Pour une meilleur compréhension des explications suivantes, nous allons admettre que:
- votre site fonctionne avec Concrete version 5.4.2 minimum.
- Vous avez installé le paquet internationalisation, ainsi que sa traduction francophone.
- Votre site est parfaitement fonctionnel.
- vous avez un plan de site initial agencé comme ceci (nous commencerons avec 4 langues pour cet exemple):

configuration du plan du site
Nous avons ci-dessus un plan de site avec la page d'accueil (ayant le cID=1) sous laquelle nous recréons une page d'accueil par langue, ainsi qu'une page enfant pour chaque langue. (ne parlant ni espagnol, ni allemand, j'ai utiliser Google pour traduire, donc ...)
Ces pages sont configurées comme suit (je fais abstraction de la page de garde du site, soit la première page home):
- Home - nom: Home - alias: english (pour l'accueil anglais)
- Accueil - nom: Accueil - alias: francais (pour l'accueil francophone)
- Willkommen - nom: Willkommen - alias: deutch (pour l'accueil germanique)
- Bienvenida - nom: Bienvenida - alias: espanol (pour l'accueil hispanique)
Chacune des sous pages ont les mêmes alias que leur nom, mais vous pouvez mettre ce qu'il vous semble pertinent.
L'onglet Paramétrage multilingue
si vous vous rendez sur la page Tableau de bord → Paramétrage multilingue pour la première fois, ou sans avoir paramétré quoi que se soit, vous obtenez ceci dans l'onglet setup:

Nous aborderons l'onglet Rapport des pages plus tard.
Définir la lague des sections existantes
Nous allons donc assigner une langue sur chacune de nos sections. Cependant, dans cette configurations, les sous pages hériteront automatiquement du paramétrage de leur page parente. Nous abederons le sujet plus bas.
Pour ce faire choissiez votre langue dans le menu déroulant, une liste d'icone de drapeaux s'affiche, cocher celui qui convient le mieux à votre utilisation.
Ensuite dans le cadre de choix de page sélectionnez pour chaque langue, la page d'accueil qui lui correspond. Voici les choix effectués pour cet exemple: (la page home pour l'anglais est ici la sous page home, et non pas la page initiale du site)




Une fois cela fait, et chaque réglage enregistré, nous obtenons une section de contenu comme celle-ci:
Nous remarquerons, si nous faisons un rapide tour sur le plan du site, que celui-ci reflète également le paramétrage multilingue que nous venons d'effectuer:
Revenons sur notre page de paramétrage multilingue du tableau de bord.
Nous nous apercevons que le cadre Copier les arborescences pour la gestion multilingue nous propose désormais des options. Nous aborderont celles-ci un peu plus tard. En effet il n'est pas obligatoire d'avoir tout son plan de site préalablement préparer, seul les pages d'accueil de chaque suffisent, ainsi qu'un plan développé d'un des langues.
Intéressons nous au bas de la page, le cadre Paramétrage par défaut nous permet de choisir la langue par défaut de notre site. Choisissons par exemple français:
Et cochons la case Rediriger la page d'accueil sur la page de garde de la section de langue par défaut.
Ceci nous explique la raison pour laquelle nous avons tout simplement ignorer la page initiale du site, en effet le système va rediriger automatiquement vos visiteurs de cette page initiale, vers la page du langage par défaut sélectionné.
La page initiale (cID=1) n'a donc pas besoins d'avoir de contenu, vu que celui-ci ne sera jamais visible.
Par contre, pour optimiser le référencement, les balises méta sont toujours bonne à configurer correctement.
Le bloc de choix de la langue
Nous avons nos pages paramétrés sur leur langue, mais comment laisser le choix au visiteur ?
Le paquet Internationalisation (multilingual sur votre FTP) embarque pour ce faire un petit bloc nommé Switch language.
Rendez vous sur la façade de votre site, vous serez normalement redirigé sur la page d'accueil de la langue sélectionnée par défaut.
Que remarquons nous au premier abord :
Nous avons un nouveau bouton dans la barre d'outils, arborant l'icone du drapeaux de la langue de la page sur laquelle vous êtes:
Lorsque vous cliquez sur celui-ci une boîte de dialogue apparait, vous permettant de vous rendre sur les pages homonymes en cliquant sur leur nom, et vous rappelant la page sur laquelle vous êtes.
Nous remarquons également que nous avons deux pages Home dans le menu:
![]()
Cela est due au simple fait que nous n'avons pas exclu la page initiale du site de la navigation. C'est un détail, mais il fallait bien le mentionner.
Donc en tant qu'éditeur du site nous pouvons jongler entre les pages, mais vos visiteurs non, ajoutons donc le bloc Switch language sur la page:
Le Bloc Switch language
Lorsque nous ajoutons ce bloc sur la page, nous obtenons une liste déroulante permettant de choisir la langue dans laquelle nous désirons lire le contenu du site:
Cependant, en mode édition, si nous cliquons sur le bloc puis sélectionnons Modèles personnalisés, nous remarquons que plusieurs options s'offrent à nous:

Le modèle Flags Set Defaut vous affiche une liste d'icône, ainsi que le choix de mémoriser dans vos cookies le réglage effectué. Ainsi à chacune de vos visites sur le site, vous serez automatiquement redirigé vers la langue initialement choisie, et non plus la langue par défaut du site.
Le modèle Flags, quand à lui, est beaucoup plus simple, il affiche uniquement une liste d'icône représentant les langues paramétrées sur le site.
![]()
ici le bloc est mis dans une colonne étroite, c'est pourquoi l'icône revient à la ligne.
Ajout multiples du bloc ?
Vous pouvez très bien pour ne pas avoir à ajouter ce bloc partout, le copier dans le carnet global puis paramétrer vos types de page par défaut avec ce bloc intégré.
Vous pouvez également l'inclure en dur dans votre thème, voir écrire une condition pour ne l'afficher que s'il est installé, si vous développez des thèmes.
Mais c'est un autre sujet, revenons à nos moutons.
Onglet Rapport des pages
Comme nous l'avons énoncé plus haut, ou vous l'avez peut être remarqué en navigant sur votre site, dans cette configuration les sous page n'hérites pas automatiquement des réglages multilingue. Ici nous avons fait exprès pour pouvoir aborder le chapitre ci dessous.
Lier les pages "orphelines"
Rendons nous dans le Tableau de bord → Paramétrage multilingue → Rapport des pages. Nous voyons une fenêtre semblable à celle-ci:

Vu que nous sommes francophone, nous allons choisir comme base de référence, soit la source, le français, cochez toutes les autres langues, et afficher les pages manquantes.
Une fois que vous cliquez sur procéder, vous obtenez:
Nous voyons notre page enfant en français, puis trois boutons sur chacune des autres langues:
Ignorer: Ce bouton ignore tout simplement la page, celle-ci ne sera pas copiée. vous pourrez cependant le faire plus tard si besoins est.
Créer: Cette option vous permet de créer la page en copiant sa source vers sa destination.
Lier: Qui permet de lier une page existante à sa langue.
Le bouton Lier
Dans un premier temps nous nous intéressons au bouton lier, vu que les pages existes sur le plan du site.
Lorsque vous cliquer sur Lier et sélectionnez pour chaque langue la sous page existante vous obtenez:
Et si vous re-cliquez sur Procéder avec les même réglages le système vous indique:
Aucune page trouvée.
Re-testons nos pages mais cette fois ci avec l'option toutes les pages:
Nous voyons nos pages avec un bouton Re-lier permettant à tout moment de réassigner une traduction sur une page ou une autre.
Qu'est-ce qui change ?
Si vous retournez naviguer sur votre site, vous remarquez que maintenant vous pouvez jongler entre les langues sur les sous pages également.
Copier une arborescence
Partons du principe que vous n'ayez que l'arborescence de votre langue maternelle, ou que vous vouliez ajouter une langue supplémentaire sur notre exemple précédent.
Comment faire
Il vous suffit de créer une page d'acceuil pour votre langue depuis votre site, ou le pan du site.
Prenons par exemple le polonais (je ne le parle pas non plus, merci Google pour la traduction, malgré qu'elle soit ce qu'elle est).
Notre page a donc les réglages de base suivants:
Powitanie - nom: Powitanie - alias: polski (pour la page d'accueil polonaise)
Nous retournons ensuite sur la page de paramétrage multilingue du tablaeu de bord et créons notre section polonaise comme précédemment en sélectionnant la langue polonaise, puis la page Powitabie précédemment créée pour obtenir:
Maintenant nous allons nous intéresser au cadre Copier les arborescences pour la gestion multilingue.
Copier l'arbre de la france vers la pologne
Nous sélectionnons donc notre source Fr et notre destination Pl dans les menus comme ceci:
Une fois que nous validons en cliquant sur le bouton Effecuer le copie de l'arborescence, le système copie les sous pages du français vers le polonais et assigne pour chaque sous pages le paramétrage de la langue de destination.
Nous n'avons donc pas besoins de lier les sous pages comme rpécédemment.
Dans le même sens votre contenu est copié sur la page mais pas traduit automatiquement, heureusement d'ailleurs au vu des performances de traducteurs automatiques.
Gérer l'arborescence
Imaginons que nous ayons besoins, ce qui est souvent le cas, d'ajouter une page dans l'arborescence su site.
Ajoutons donc une sous-page dans la section francophone:

Nous retournons donc sur la page de Rapport des pages de la gestion multilingue sélectionnons notre source francophone, ainsi que tous les autres langages, et toutes les pages.
Nous pourrions cliquez sur page manquantes, mais l'intérêt ici est d'explorer toutes les possibilités.
Nous obtenons le résultat suivant:
Nous remarquons que notre page supplémentaire n'est pas liée, les trois options sont donc offertes. Au contraire notre 1ere page est déjà liée, le système indique donc le nom de la page a laquelle elle est liée, et simplement l'option pour modifier ce lien.
Admettons que:
- L'espagnol n'aura jamais besoins de cette page, pour une raison x ou y.
- L'anglais ne nécisste pas de traduction mais à besoins de la page.
- L'allemand et le polonais ont non seulement besoins de le page, mais également de sa traduction.
Les actions à réaliser
- Nous cliquons donc sur le bouton Ignorer pour la langue hispanique. ce qui affiche la mention ignoré.
- Pour l'anglais, nous sommes obligé de créer la page quand même, sinon une mention apparaitra en rouge indiquant l'impossibilité de lier cla page sur elle même (voir ci-dessous). Nous créons donc la page, mais ne la traduirons pas.
- Pour l'allemand et le polonais nos cliquons sur créer, il nous appartiendra d'effectuer la traduction plus tard.
Une fois les paramétrages effectués, vous obtenez ceci, il ne vous reste lus qu'a effectuer les traductions. en effet ici tout est encore en français.

Dans le même sens vous pouvez lier une page d'une langue vers une autre page d'une autre langue, du moment qu'elle n'est pas liée sur elle même, beaucoup de possibilité s'offre à vous.
Vous noterez cependant que lorsque vous cliquez sur le bouton de la sélection linguistique de la barre d'outils et qu'une page n'est pas créée le système vous l'indique:

La version entreprise
La version entreprise de ce paquet nommé internationalisation entreprise est payante, pour un prix de 1750$ vous avez deux onglets supplémentaires dans le tableau de bord.
Vu le prix de cette application, nous ne l'avons pas acheté, et ne pouvons fornir que des explications sommaires dessus. Dans le même sens la traduction fr_Fr de celle-ci n'a pas été réalisée encore.
Onglet Traduction du contenu
cet onglet vous permet de traduire le contenu de vos pages directment dans le tableau de bord.

Sur cette fenêtre vous avez un accès direct au contenu des pages de chaque langue. Vous pouvez non seulement traduire le contenu, mais également les propriétés de celle-ci.
Sur chaque section de contenu à traduire vous pouvez indiquer un status (besoins d'aide, en cours, terminé, ignoré) afin de mieux vous y retrouver si vous efffectuez un travail collaboratif.
Dans le même sens sur l'onglet vous pouvez filtrer les pages par non commencée, commencée, toutes les pages. Ce trie est à deux niveaux, vous pouvez aussi bien filtrer les pages en elle même que leur contenus, ou le dernier éditeur
Onglet traduction de l'interface
.Sur cet onglet vous pouvez traduire en ligne l'interface du site en elle même.
Cela ajoute la possibilité d'avoir des fichers de traduction de Concrete5 dans un dossier /languages/site contenant les fichier fr.mo, en.mo, de.mo, etc ... Permettant à vos éditeur d'avoir l'interface également traduite dans leur langue.
Vous avez non seulement un accès visuel au pourcentage de travail effectué, mais à la traduction en ele même si vous cliquez sur le bouton Traduire:

La traduction prend en charge toutes les lignes des blocs utlisés dans les pages multilingues.
Conclusion
Cet outil très attendu simplifiera la vie de bon nombre d'utilisateurs de Concrete5 désirant construire des site multilingues.
