20
ATELIE R

Atelier WPML #WCParis 2014

Embed Size (px)

DESCRIPTION

Le recap de l'atelier prévu, coupé court par des problèmes techniques ! Les slides étaient conçus pour accompagner une démonstration - pour toute question [email protected]

Citation preview

Page 1: Atelier WPML #WCParis 2014

ATELIER

Page 2: Atelier WPML #WCParis 2014

Quand on parle de traduction…

• Le contenu du site : articles, pages, custom post types, custom fields, widgets, formulaires, etc.

• Les meta données : contenus dans le header du site, ainsi que dans les images (y compris le titre et descriptif du site WordPress).

• Les chaînes de caractères front-end : textes intégrés dans les thèmes et extensions qui s’affichent sur le site.

• Les chaînes de caractères back-end : textes intégrés dans les thèmes et extensions qui s’affichent dans l’admin.

Page 3: Atelier WPML #WCParis 2014

C’est un plugin prémium…

Page 4: Atelier WPML #WCParis 2014

Extensions principales :• WPML Multilingual CMS (sitepress)*• 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 5: Atelier WPML #WCParis 2014

Extensions pour parties tierces :• CRED Frontend Translation• WPML-MarketPress• Jigoshop Multilingual• GravityForms Multilingual• WooCommerce Multilingual

Page 6: Atelier WPML #WCParis 2014

WP Compatibility Installer

Extension 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 > Repositories3. Log in : nom d’utilisateur et mot de passe du compte WPML4. « Install plugins from WPML.org » ou Extensions > Ajouter >

Search in repositories (choisir WPML pour limiter l’affichage)

Page 7: Atelier WPML #WCParis 2014

WPML Multilingual CMS

1. Définir sa langue de base2. Définir ses langues de traductions (toujours possible

d’en ajouter plus tard)3. Options de base

a) Affichage du sélecteur de langue et son aspectb) Gestion des Articles/Pages sans traductionc) 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 8: Atelier WPML #WCParis 2014

WPML Multilingual CMSAprès validation, d’autres réglages de Langues :

1. Langues disponibles et leur nomenclature2. Format d’URL (fait attention aux permaliens)3. Options du sélecteur de langue : Emplacement / affichage, Ordre, Style, Contenu,

Gestion des contenus sans traduction, Conservation de paramètres URL (variables passés), CSS

4. Langue d’admin5. Affichage d’articles6. Masquer langues7. Comptabilité thèmes*8. Redirection9. Options SEO (hreflang https://support.google.com/webmasters/answer/189077?hl=fr

, rel=canonical https://support.google.com/webmasters/answer/139394?hl=fr )

Page 9: Atelier WPML #WCParis 2014

WPML Multilingual CMS

• Localisation du thème et des modules d’extension • Options de traduction (merge avec Translation management)• Synchronisation des menus• Traduction de taxonomie

> 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.

Page 10: Atelier WPML #WCParis 2014

Détails techniques

• Crée 17 nouvelles tables dans la bdd + 5 de l’Installer

• Contenus liés par groupe ‘trid’ > icl_translations

> Où element_id = post_ID

Page 11: Atelier WPML #WCParis 2014

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 12: Atelier WPML #WCParis 2014

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 13: Atelier WPML #WCParis 2014

WPML String Translation vs. MO

On 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 ? Penser à l’utilisateur• Question de performance : MO FTW

> Mais pour le reste, WPML donne l’interface

Page 14: Atelier WPML #WCParis 2014

Translation Management

• Nécessaire pour faire fonctionner certains d’autres extensions, telle que GravityForms Mulitlingual

• 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 15: Atelier WPML #WCParis 2014

Compatibilité des thèmes/plugins

• Localisation : _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 16: Atelier WPML #WCParis 2014

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 17: Atelier WPML #WCParis 2014

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 18: Atelier WPML #WCParis 2014

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 19: Atelier WPML #WCParis 2014

Comment faire traduire mon thème ou plugin?

http://translate.wordpress.org/projects

http://wp-translations.org

Page 20: Atelier WPML #WCParis 2014

Merci, Thank you!