SlideShare une entreprise Scribd logo
1  sur  20
ATELIER
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.
C’est un plugin prémium…
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
Extensions pour parties tierces :
• CRED Frontend Translation
• WPML-MarketPress
• Jigoshop Multilingual
• GravityForms Multilingual
• WooCommerce Multilingual
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.
2.
3.
4.

Réglages > Installer : décoche « Enable sending compatibility
reports »
« Log-in to their repositories » ou Réglages > Repositories
Log in : nom d’utilisateur et mot de passe du compte WPML
« Install plugins from WPML.org » ou Extensions > Ajouter >
Search in repositories (choisir WPML pour limiter l’affichage)
WPML Multilingual CMS
1. Définir sa langue de base
2. Définir ses langues de traductions (toujours
possible d’en ajouter plus tard)
3. Options de base
a)
b)
c)
d)

Affichage du sélecteur de langue et son aspect
Gestion des Articles/Pages sans traduction
Afficher de liens dans les Articles (pour naviguer)
CSS supplémentaire

> Peut être installé sur un site existant ayant déjà du
contenu.
WPML Multilingual CMS
Après validation, d’autres réglages de Langues :
1.
2.
3.

4.
5.
6.
7.
8.
9.

Langues disponibles et leur nomenclature
Format d’URL (fait attention aux permaliens)
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
Langue d’admin
Affichage d’articles
Masquer langues
Comptabilité thèmes*
Redirection
Options SEO (hreflang https://support.google.com/webmasters/answer/189077?hl=fr
, rel=canonical https://support.google.com/webmasters/answer/139394?hl=fr )
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.
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
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.
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.
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
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
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-globalprogram/
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/wpcontent/uploads/2010/10/wpml-config.zip
Ajustement manuel des IDs
icl_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-wordpressthemes/language-dependent-ids/
Ajustement manuel des IDs
Ex : 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é.
Comment faire traduire mon
thème ou plugin?

http://translate.wordpress.org/projects

http://wp-translations.org
Merci, Thank you!

Contenu connexe

En vedette (16)

Correo postal y correo electrónico slideshare
Correo postal y correo electrónico slideshareCorreo postal y correo electrónico slideshare
Correo postal y correo electrónico slideshare
 
Tilaaja tuottaja-semnaari Maijaliisa Junnila
Tilaaja tuottaja-semnaari Maijaliisa JunnilaTilaaja tuottaja-semnaari Maijaliisa Junnila
Tilaaja tuottaja-semnaari Maijaliisa Junnila
 
S64 dez-jan 26.11
S64 dez-jan 26.11S64 dez-jan 26.11
S64 dez-jan 26.11
 
Cristina lópez
Cristina lópezCristina lópez
Cristina lópez
 
Tarea 3.5 r
Tarea 3.5 rTarea 3.5 r
Tarea 3.5 r
 
Trabajos de diseño
Trabajos de diseñoTrabajos de diseño
Trabajos de diseño
 
Aaa
AaaAaa
Aaa
 
Présentation1
Présentation1Présentation1
Présentation1
 
presentación erika yahaira
presentación erika yahairapresentación erika yahaira
presentación erika yahaira
 
Présentation de l'offre de Decizia
Présentation de l'offre de DeciziaPrésentation de l'offre de Decizia
Présentation de l'offre de Decizia
 
Proyecto productivo
Proyecto productivoProyecto productivo
Proyecto productivo
 
Autos de lujo
Autos de lujoAutos de lujo
Autos de lujo
 
Dhtic tarea 5
Dhtic tarea 5 Dhtic tarea 5
Dhtic tarea 5
 
Bessere Dashboards
Bessere DashboardsBessere Dashboards
Bessere Dashboards
 
Crónica
CrónicaCrónica
Crónica
 
Partnership Africa Canada presentation - 9th Multi-stakeholder Forum for Resp...
Partnership Africa Canada presentation - 9th Multi-stakeholder Forum for Resp...Partnership Africa Canada presentation - 9th Multi-stakeholder Forum for Resp...
Partnership Africa Canada presentation - 9th Multi-stakeholder Forum for Resp...
 

Plus de Jenny Beaumont

Scrum pour les (nuls) devs
Scrum pour les (nuls) devsScrum pour les (nuls) devs
Scrum pour les (nuls) devsJenny Beaumont
 
Zen et l'art de la contribution
Zen et l'art de la contributionZen et l'art de la contribution
Zen et l'art de la contributionJenny Beaumont
 
Multilingual WordPress
Multilingual WordPressMultilingual WordPress
Multilingual WordPressJenny Beaumont
 
PDFs à la volée avec TCPDF
PDFs à la volée avec TCPDFPDFs à la volée avec TCPDF
PDFs à la volée avec TCPDFJenny Beaumont
 
Maintenance Matters (français)
Maintenance Matters (français)Maintenance Matters (français)
Maintenance Matters (français)Jenny Beaumont
 
Case study: Custom Digital Downloads, an extension for WooCommerce
Case study: Custom Digital Downloads, an extension for WooCommerceCase study: Custom Digital Downloads, an extension for WooCommerce
Case study: Custom Digital Downloads, an extension for WooCommerceJenny Beaumont
 

Plus de Jenny Beaumont (8)

Scrum for devs
Scrum for devsScrum for devs
Scrum for devs
 
Doing it Wrong
Doing it WrongDoing it Wrong
Doing it Wrong
 
Scrum pour les (nuls) devs
Scrum pour les (nuls) devsScrum pour les (nuls) devs
Scrum pour les (nuls) devs
 
Zen et l'art de la contribution
Zen et l'art de la contributionZen et l'art de la contribution
Zen et l'art de la contribution
 
Multilingual WordPress
Multilingual WordPressMultilingual WordPress
Multilingual WordPress
 
PDFs à la volée avec TCPDF
PDFs à la volée avec TCPDFPDFs à la volée avec TCPDF
PDFs à la volée avec TCPDF
 
Maintenance Matters (français)
Maintenance Matters (français)Maintenance Matters (français)
Maintenance Matters (français)
 
Case study: Custom Digital Downloads, an extension for WooCommerce
Case study: Custom Digital Downloads, an extension for WooCommerceCase study: Custom Digital Downloads, an extension for WooCommerce
Case study: Custom Digital Downloads, an extension for WooCommerce
 

Atelier WPML #WCParis 2014

  • 2. 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.
  • 3. C’est un plugin prémium…
  • 4. 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
  • 5. Extensions pour parties tierces : • CRED Frontend Translation • WPML-MarketPress • Jigoshop Multilingual • GravityForms Multilingual • WooCommerce Multilingual
  • 6. 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. 2. 3. 4. Réglages > Installer : décoche « Enable sending compatibility reports » « Log-in to their repositories » ou Réglages > Repositories Log in : nom d’utilisateur et mot de passe du compte WPML « Install plugins from WPML.org » ou Extensions > Ajouter > Search in repositories (choisir WPML pour limiter l’affichage)
  • 7. WPML Multilingual CMS 1. Définir sa langue de base 2. Définir ses langues de traductions (toujours possible d’en ajouter plus tard) 3. Options de base a) b) c) d) Affichage du sélecteur de langue et son aspect Gestion des Articles/Pages sans traduction Afficher de liens dans les Articles (pour naviguer) CSS supplémentaire > Peut être installé sur un site existant ayant déjà du contenu.
  • 8. WPML Multilingual CMS Après validation, d’autres réglages de Langues : 1. 2. 3. 4. 5. 6. 7. 8. 9. Langues disponibles et leur nomenclature Format d’URL (fait attention aux permaliens) 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 Langue d’admin Affichage d’articles Masquer langues Comptabilité thèmes* Redirection Options SEO (hreflang https://support.google.com/webmasters/answer/189077?hl=fr , rel=canonical https://support.google.com/webmasters/answer/139394?hl=fr )
  • 9. 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.
  • 10. 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
  • 11. 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.
  • 12. 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.
  • 13. 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
  • 14. 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
  • 15. 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-globalprogram/
  • 16. 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/wpcontent/uploads/2010/10/wpml-config.zip
  • 17. Ajustement manuel des IDs icl_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-wordpressthemes/language-dependent-ids/
  • 18. Ajustement manuel des IDs Ex : 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é.
  • 19. Comment faire traduire mon thème ou plugin? http://translate.wordpress.org/projects http://wp-translations.org