WP-multilang

Wordpress possède plusieurs extensions permettant de traduire du contenu.

Pour sa gratuité, sa compatibilité avec ACF et sa facilité d'utilisation, nous regarderons WP Multilang.

Installation

Si votre installation a été faite en Canadien français 🇨🇦, le simple fait d'activer l'extension donnera l'option d'entrer du contenu soit en français ou en anglais 🇺🇸.

Si l'option n'est pas immédiatement disponible après l'activation de l'extension ou si vous désirez ajouter une autre langue, il suffit d'accéder à:

Réglages ➡️ WP Multilang ➡️ Langages

Pour contrôler les langages disponibles.

Gestion du contenu

Dans le tableau de bord, sur la page listant les articles et/ou pages un libellé sera ajouté indiquant la disponibilité du post dans les différents langages supportés. Par exemple, la page d'exemple par défaut n'existe à priori qu'en Canadien français.

On ne voit que le drapeau du Canada à côté du contenu Page d'exemple, cela signifie qu'il n'est disponible qu'en français canadien.

Simplement en activant l'onglet  English US en haut de page, il est possible de changer de contexte d'édition.

Onglets disponibles pour naviguer d'une langue à une autre parmi les contenus.

Dès lors, si la page en question est modifiée, par exemple si son titre est traduit "Example page", elle sera dorénavant listée du côté anglophone sous ce titre et un drapeau américain 🇺🇸s'ajoutera pour indiquer sa disponibilité dans cette langue.

On voit le drapeau canadien et le drapeau américain, ce qui signifie qu'on une version canadienne française et une version en anglais américain. Posts personnalisés

Si un site offre l'option de traduire ses publications de base, il est généralement souhaitable que les posts personnalisés offrent la même option. Cependant, il est possible que WordPress n'affiche pas l'option par défaut.

Pour remédier à ce problème, il suffit de créer un fichier wpm-config.json à la racine de son thème. Ce fichier devra contenir un objet JavaScript indiquant les posts personnalisés qui devraient-êtres traduit.

Par exemple, si un seul type de posts personnalisés intitulé produit devait-être traduit, le contenu de ce fichier ressemblerait à ceci:

{ "post_types": { "produit": {} } }

Si vous avez plusieurs types de posts personnalisés, par exemple: produit et personne, le fichier aurait alors l'air de ceci:

{ "post_types": { "produit": {}, "personne": {} } } Attention de ne pas faire d’erreur dans votre JSON, sinon il ne sera pas pris en compte. Pour vous assurer qu’il est bien formaté, vous pouvez le valider avec un JSON Lint.
WP Multilang Alternatives