Date post: | 15-Jun-2015 |
Category: |
Internet |
Upload: | jennybeaumont |
View: | 466 times |
Download: | 2 times |
WordPressIle-de-France
Bonjour / HelloJe 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 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à ?
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 ?
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 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)
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.
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. 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
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
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/
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 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/
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é.
Comment faire traduire mon thème ou plugin?
http://translate.wordpress.org/projects
http://wp-translations.org
Merci, Thank you!@jennybeaumont