Le sites multilingues avec WordPress et WPML

23
WordPress Ile-de-France

description

La présentation du MeetUp WordPress Ile-de-France qui a eu lieu au WoMa le 28 mars 2014.

Transcript of Le sites multilingues avec WordPress et WPML

Page 1: Le sites multilingues avec WordPress et WPML

WordPressIle-de-France

Page 2: Le sites multilingues avec WordPress et WPML

Bonjour / HelloJe m’appelle / My name is

Jenny Beaumont

Front-end developer

@jennybeaumont

Page 3: Le sites multilingues avec WordPress et WPML

Quand on parle de sites multilingues…

WordPress core

Le thème : chaines de caractères pour affichage front et back-end.

Les plugins : idem

Le contenu du site : articles, pages, custom post types, custom fields, widgets, formulaires, y compris les meta-données (contenus dans le header du site, alt & titre des images, le titre et descriptif du site WordPress…)

Page 4: Le sites multilingues avec WordPress et WPML

1. Contenus dans les fichiers PHP

2. Contenus dans la base de données

Ça se résume en 2 types de contenus

Page 5: Le sites multilingues avec WordPress et WPML

Se poser des bonnes questionsQuelle sera la langue de base ?

Est-ce que le thème est déjà traduit ?

Quels plugins seront utilisés ? Sont-ils tous traduits ?

Qui fournira des traductions ? Comment seront-elles gérées / fournies ?

Aura t-il des contenus non traduits ? Quel comportement dans ces cas-là ?

Page 6: Le sites multilingues avec WordPress et WPML

S’organiser et préparer le travailEn tant que développeur, à nous de fournir les

bases du site traduit (thème, plugins)

Au client de fournir ces contenus (pourrait être aussi proposé comme prestation)

> Est-ce qu’on veut utiliser les traductions par défaut, ou est-ce qu’il y a des modifications à faire ?

Page 7: Le sites multilingues avec WordPress et WPML

Les contenus des fichiers PHP : Language packs

gettext __(), _e(), _n(), _x()…

Text domain

Fichiers po/mo (Poedit)

* S’agit uniquement de chaines de caractères, non de contenus renseignés par un utilisateur.

Page 8: Le sites multilingues avec WordPress et WPML

Les contenus de la BDD : Quel plugin choisir ?

WPML

Multilingual Press

Bogo

Polylang

Babble

Xili

mqTranslate

Page 9: Le sites multilingues avec WordPress et WPML

C’est un plugin prémium…

Page 10: Le sites multilingues avec WordPress et WPML

Extensions principales :

WPML Multilingual CMS*

WPML Media Translation*

WPML String Translation

WPML Sticky Links

WPML CMS Navigation

WPML Translation Management

WPML Translation Analytics

WPML XLIFF

* Comprises dans la licence Multilingual Blog

Page 11: Le sites multilingues avec WordPress et WPML

WP Compatibility InstallerExtension pour l’installation et la mise à jour des différents

composants.

http://wp-compatibility.com/installer-plugin/

Désormais compatible avec multisite (depuis le v0.7.1)

1. Réglages > Installer : décoche « Enable sending compatibility reports »

2. « Log-in to their repositories » ou Réglages > Repositories

3. Log in : nom d’utilisateur et mot de passe du compte WPML

4. « Install plugins from WPML.org » ou Extensions > Ajouter > Search in repositories (choisir WPML pour limiter l’affichage)

Page 12: Le sites multilingues avec WordPress et WPML

WPML Multilingual CMS1. Définir sa langue de base

2. Définir ses langues de traductions (toujours possible d’en ajouter plus tard)

3. Options de basea) Affichage du sélecteur de langue et son aspect

b) Gestion des Articles/Pages sans traduction

c) Afficher de liens dans les Articles (pour naviguer)

d) CSS supplémentaire

> Peut être installé sur un site existant ayant déjà du contenu.

Page 13: Le sites multilingues avec WordPress et WPML

WPML Multilingual CMS

1. Langues disponibles et leur nomenclature

2. Format d’URL (fait attention aux permaliens)

3. Options du sélecteur de langue : Langue d’admin

4. Affichage d’articles

5. Masquer langues

6. Comptabilité thèmes

7. Redirection

8. Options SEO (hreflang*, rel=canonical** )

Il y a toujours différentes façons de faire, différents moyens d’arriver à une fin. Le choix se fait par préférence et par contexte.

*https://support.google.com/webmasters/answer/189077?hl=fr **https://support.google.com/webmasters/answer/139394?hl=fr

Comment naviguer ? Comment gérer certaines situations ?

Page 14: Le sites multilingues avec WordPress et WPML

Comprendre l’interface: traduction des contenus

Status : états de traductions

Affichage de langue admin (une ou « toutes les langues »)

Accès depuis la liste d’Articles ou de Pages

Accès depuis l’Article ou la Page : Désormais, il est possible d’utiliser le même URL (slug) pour un Post ou une Page.

Traduire les taxonomies (Catégories et Mots-clés) La relation entre taxonomies traduites doit être définie sous

Catégories ou sous Mots-clés. Il ne suffit pas de créer des nouvelles catégories ou tags lors de la rédaction ou traduction d’un Article.

NB: il est impossible d’utiliser le même identifiant (slug) pour une taxonomie et sa traduction. C’est une contrainte de WordPress. Seul le nom peut être identique.

Page 15: Le sites multilingues avec WordPress et WPML

WPML Media Traduire les données sans copier l’image physique

Les pièces jointes sont enregistrées comme des « posts » (post_type=attachment), rattachées via post_parent. Les traductions sont simplement des nouveaux enregistrements.

Les choix peuvent varier de langue en langue (et donc de trad en trad)

Options par défaut avec possibilité de mettre à jour (traduire) médias existants

NB: l’Article ou Page doit être publiée d’abord. Ne fonctionne pas sur brouillon.

Page 16: Le sites multilingues avec WordPress et WPML

WPML String Translation vs. MOOn peut tout traduire depuis WPML,

mais devrait-on ?

Une grande partie du travail est déjà fait

Quelles personnalisations éventuelles ?

Qui va faire ce travail ?

Question de performance : MO #FTW

> Mais pour le reste, WPML donne l’interface

Page 17: Le sites multilingues avec WordPress et WPML

Translation ManagementNécessaire pour faire fonctionner certains d’autres

extensions, telle que GravityForms Multilingual

Définir les éléments traduisibles

Définir une liste de traducteurs

Allouer les projets de traduction à un traducteur

Astuce : define("ICL_DONT_PROMOTE", true); pour cacher les services externes de traduction proposés

Page 18: Le sites multilingues avec WordPress et WPML

Compatibilité des thèmes/pluginsLocalisation : _e(), __() + text domain

Respecter l’API WordPress

Créer un fichier de configuration de langue

Opter pour l’ajustement d’IDs automatique (ou pas)

icl_register_string(), icl_t()

http://wpml.org/documentation/theme-compatibility/go-global-program/

Page 19: Le sites multilingues avec WordPress et WPML

Fichier de configuration (XML)Custom fields

Custom post types

Custom taxonomies

Textes de l’admin / wp_options

Configuration du sélecteur de langue

Télécharger fichier d’exemple : http://d2salfytceyqoe.cloudfront.net/wp-content/uploads/2010/10/wpml-config.zip

Page 20: Le sites multilingues avec WordPress et WPML

Ajustement manuel des IDsicl_object_id(ID, type, return_original_if_missing, language_code)

ID : l’ID de l’article, page, mot-clé ou catégorie

type : ‘post’, ‘page’, ‘post_tag’ ou ‘category’

return_original_if_missing : true si WPML devrait retourner l’ID du contenu d’origine si la traduction n’existe pas, ou false si WPML devrait retourner NULL dans ce cas.

language_code (en option) : si défini, force la langue du objet retourné et peut être différent que la langue affichée.

http://wpml.org/documentation/support/creating-multilingual-wordpress-themes/language-dependent-ids/

Page 21: Le sites multilingues avec WordPress et WPML

Ajustement manuel des IDsEx : icl_object_id(3, 'category', false)

Retourne l’ID de la catégorie qui est la traduction de catégorie 3, et s’il n’existe pas, il retourne NULL.

Pour l’utilisation dans un thème :

Retourne l’ID de la catégorie traduite ou celui de la catégorie d’origine. Si WPML n’est pas installé, seul l’ID de la catégorie de base est retourné.

Page 22: Le sites multilingues avec WordPress et WPML

Comment faire traduire mon thème ou plugin?

http://translate.wordpress.org/projects

http://wp-translations.org

Page 23: Le sites multilingues avec WordPress et WPML

Merci, Thank you!@jennybeaumont