SlideShare ist ein Scribd-Unternehmen logo
1 von 23
WordPress
Ile-de-France
Bonjour / Hello
Je m’appelle / My name is
Jenny Beaumont
Front-end developer
@jennybeaumont
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…)
1. Contenus dans les fichiers PHP
2. Contenus dans la base de données
Ça se résume en 2 types de contenus
Se poser des bonnes questions
 Quelle 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à ?
S’organiser et préparer le travail
 En 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 ?
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.
Les contenus de la BDD :
Quel plugin choisir ?
 WPML
 Multilingual Press
 Bogo
 Polylang
 Babble
 Xili
 mqTranslate
C’est un plugin prémium…
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
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 > 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)
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) 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.
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 ?
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 ?
 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 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
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/
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
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-wordpress-
themes/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!
@jennybeaumont

Weitere ähnliche Inhalte

Andere mochten auch (15)

Qué paradigma estoy rompiendo al estudiar el doctorado
Qué paradigma estoy rompiendo al estudiar el doctoradoQué paradigma estoy rompiendo al estudiar el doctorado
Qué paradigma estoy rompiendo al estudiar el doctorado
 
La educación en la sociedad del conocimiento
La educación en la sociedad del conocimientoLa educación en la sociedad del conocimiento
La educación en la sociedad del conocimiento
 
2012 2013 xerrada orientacio
2012 2013 xerrada orientacio2012 2013 xerrada orientacio
2012 2013 xerrada orientacio
 
Auditoria de sistema
Auditoria de sistemaAuditoria de sistema
Auditoria de sistema
 
123
123123
123
 
Nicki minaj2
Nicki minaj2Nicki minaj2
Nicki minaj2
 
2011 2012 xerrada orientacio
2011 2012 xerrada orientacio2011 2012 xerrada orientacio
2011 2012 xerrada orientacio
 
Glosario de términos financieros.
Glosario de términos financieros.Glosario de términos financieros.
Glosario de términos financieros.
 
chikutu davi
chikutu davichikutu davi
chikutu davi
 
Los valores
Los valoresLos valores
Los valores
 
Medio ambiente
Medio ambienteMedio ambiente
Medio ambiente
 
Latihan cuti terancang mac 2014
Latihan cuti terancang mac 2014Latihan cuti terancang mac 2014
Latihan cuti terancang mac 2014
 
Comunicar S.A.
Comunicar S.A.Comunicar S.A.
Comunicar S.A.
 
Redacción de textos y comunicación oral
Redacción de textos y comunicación oralRedacción de textos y comunicación oral
Redacción de textos y comunicación oral
 
Sistema nervioso alonso
Sistema nervioso alonsoSistema nervioso alonso
Sistema nervioso alonso
 

Mehr von 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
 

Le sites multilingues avec WordPress et WPML

  • 2. Bonjour / Hello Je m’appelle / My name is Jenny Beaumont Front-end developer @jennybeaumont
  • 3. 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…)
  • 4. 1. Contenus dans les fichiers PHP 2. Contenus dans la base de données Ça se résume en 2 types de contenus
  • 5. Se poser des bonnes questions  Quelle 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à ?
  • 6. S’organiser et préparer le travail  En 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 ?
  • 7. 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.
  • 8. Les contenus de la BDD : Quel plugin choisir ?  WPML  Multilingual Press  Bogo  Polylang  Babble  Xili  mqTranslate
  • 9. C’est un plugin prémium…
  • 10. 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
  • 11. 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 > 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)
  • 12. 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) 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.
  • 13. 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 ?
  • 14. 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.
  • 15. 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.
  • 16. 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 ?  Question de performance : MO #FTW > Mais pour le reste, WPML donne l’interface
  • 17. Translation Management  Né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
  • 18. 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/
  • 19. 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
  • 20. 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-wordpress- themes/language-dependent-ids/
  • 21. 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é.
  • 22. Comment faire traduire mon thème ou plugin? http://translate.wordpress.org/projects http://wp-translations.org