Cette page regroupe les résultats d’une étude comparative des caractéristiques des extensions multilingues.
Pourquoi cette étude ? Depuis février 2009, en tant qu’auteur de l’extension xili-language conçue autour des taxinomies qui venaient d’être introduites dans le noyau (core) de WordPress (2.3 à l’époque), il nous a paru essentiel de refaire le point donc de se situer dans l’offre qui reste concurrentielle avec l’arrivée notamment de solutions dites commerciales.
Cette page ne concerne que l’installation sur un site WP unique ou une seule instance d’un site WP network. Pour ce qui est des configurations multisites multilingues (une instance par langue) voir cette page.
Note :
cette étude est en cours continuellement. Comme lors d’un chantier sans fin, les résultats vont apparaître progressivement.
Infos récentes :
à propos d’extensions récemment apparues, quelques lignes…
Source sur le codex : http://codex.wordpress.org/Multilingual_WordPress
- Version
- Auteur
- Le site de l’extension
- Structure ou institution
- Les avis et notations (étoiles)
- Quantité active (version active)
- Quantité téléchargée (totale toute version)
- Date de création
- Licence, prix
- Etiquette de langue spécifiant le post
- Cookies
- Ajout de nouvelles tables
- Remarques générales
- Utilisation de la table wp_options
- Ajouts de dossier
- Où sont sauvés les traductions des mots-clés ?
- Stockage des liens entre les versions des posts selon leur langue
- Les articles en avant (sticky post)
- Les articles sans langage affecté
- La traduction des termes du thème et de la structure du site.
La version analysée de l’extension.
(il est important de noter la version car des changements majeures apparaissent parfois dans les extensions.)
Babble | 1.4.4 |
---|
Bogo | 2.1.2 |
---|
Ceceppa Multilingua | 1.3.58 |
---|
MLWP | 0.1 |
---|
mqTranslate | 2.5.41 |
---|
Multilanguage | 1.0.6 |
---|
Polylang | 1.3.1 |
---|
qTranslate | 2.5.38 |
---|
qTranslate X | 3.2.2 |
---|
Stella-free (Rosetta) | 1.4 |
---|
WPML | 3.0 |
---|
xili-language | 2.12.1 |
Le ou les auteurs de l’extension
(tel que découvert dans le code (readme) ou sur le site WordPress)
Babble | Code for the people - Simon Wheatley, John Blackbourn, Scott Evans, Simon Dickson, Marko Heijnen, Tom Nowell, Gary Jones, Emyr Thomas |
---|
Bogo | Takayuki Miyoshi |
---|
Ceceppa Multilingua | Alessandro Senese |
---|
MLWP | nikolov.tmw |
---|
Multilanguage | Bestwebsoft |
---|
Polylang | Chouby |
---|
qTranslate | chineseleper |
---|
qTranslate X | fork of qTranslate by John Clause, which has apparently been abandoned by the original author, Qian Qin. |
---|
Stella-free (Rosetta) | Ruslan.Khakimov |
---|
WPML | Onthegosystem |
---|
xili-language | michelwppi, dev.xiligroup |
Lien pour accéder à la page sur le site des extensions WordPress où les auteurs ont choisi de mettre l’extension à disposition des webmestres (repository).
Où oeuvrent les auteurs des extensions, sont-ils au sein du structure ? L’extension gratuite ou payante est-elle une vitrine pour la structure. Exemple : WPML est typique de cette situation et, gratuite initialement, l’extension est maintenant payante.
Babble | Ont intégré Automattic (nov. 2014) |
---|
Multilanguage | Société |
---|
Polylang | Auteur |
---|
qTranslate | Auteur |
---|
WPML | Société |
---|
xili-language | soho |
Sur le dépôt WP des extensions, il est possible aux utilisateurs de donner leur avis et de noter en étoiles (1 à 5) la qualité.
Assez curieusement, des extensions avec des milliers d’utilisateurs ne récoltent que peu de notations.
(Données collectées le 3/3/14)
Polylang | Presque 300 notations et un forum très actif |
---|
qTranslate | Près de 850 notations pour plus de 1,1 millions de téléchargements |
---|
qTranslate X | 35 notations sur 15000 téléchargements (les anciens utilisateurs de qTranslate retrouvent leur outil) |
---|
xili-language | Une vingtaine de notations |
Depuis fin février 2015, le dépôt des extensions propose, dans l’ongle “Stats” un graphique des versions encore actives. Les quantifications ne semblent pas totalement stabilisées à la suite du bug initial de tri erroné sur les sous-versions donc il est prudent aussi d’examiner les pics de téléchargement liés à la sortie d’une version.
Ce critère doit être abordé en conjonction avec d’autres notamment ceux qui modifient la base de données.
Bogo | 2000+ |
---|
mqTranslate | 30000+ |
---|
Multilanguage | 1000+ |
---|
Polylang | 80000+ |
---|
qTranslate X | 6000+ |
---|
xili-language | 1000+ |
Cette quantité est un indicateur peu significatif. (nombre collecté le 21/1/2014)
(Pour une appréciation plus précise des sites utilisateurs, il faut analyser les pics lors des changements de version.)
Bogo | 9 794 |
---|
mqTranslate | 5070 |
---|
Polylang | 170 843 |
---|
qTranslate | 1 051 713 |
---|
Stella-free (Rosetta) | 7767 (2014-05-15) |
---|
WPML | données non publiées |
---|
xili-language | 113 412 |
Date de la mise en ligne de la première version (source trac)
Bogo | 2009-05-04 |
---|
Ceceppa Multilingua | 2013-02-25 |
---|
Multilanguage | 2014-10-23 |
---|
Polylang | 2011-09-11 |
---|
qTranslate | 2008-03-16 |
---|
qTranslate X | 2014-12-17 |
---|
Stella-free (Rosetta) | 2012-07-19 |
---|
WPML | < 2009 |
---|
xili-language | 2009-03-22 |
La plupart des extensions sont libres et gratuites. Gratuit ne veut pas dire que les services sont gratuits (adaptation, support personnalisé,…)
Babble | GPL2 (sur GitHub) |
---|
Bogo | GPL2 |
---|
Multilanguage | GPL2 |
---|
Polylang | GPL2 |
---|
qTranslate | GPL2 |
---|
qTranslate X | GPL2 |
---|
Stella-free (Rosetta) | GPL2 (free version) |
---|
WPML | de 29 USD à 79 USD |
---|
xili-language | GPL2 |
A chaque post (page ou custom post type), selon sa langue courante, une méthode est nécessaire pour étiqueter selon la langue.
Apparu au moment de la sortie de WordPress 2.3, xili-language est la première extension à avoir utilisé la taxinomie. D’autres utilisent les champs personnalisés pour mettre les posts traduits (qui ne sont plus alors de vrais posts en terme de CMS)
Babble | crée un post type par langue (ex. post_en_us si langue racine est fr_fr) |
---|
Ceceppa Multilingua | ajoute des tables |
---|
Polylang | taxonomy 'language' (nom codé en dur) - taxonomy pour les liens |
---|
qTranslate | balise au sein des posts |
---|
Stella-free (Rosetta) | la langue racine est un post, les traductions en champ personnalisé (meta) |
---|
WPML | tables |
---|
xili-language | taxonomy 'language' (nom modifiable) |
Utilisation de cookies pour tracer la navigation du visiteur du site selon sa langue.
Babble | oui - pour l'admin et les commentaires |
---|
Polylang | oui |
---|
Stella-free (Rosetta) | oui |
---|
xili-language | non |
Certaines extensions créent de nouvelles tables qui s’ajoutent aux 11 créées par WordPress.
Babble | 0 - cela fait partie du deal de départ |
---|
Multilanguage | 2 (pour les traductions de post et term) |
---|
Polylang | 1 (dans les versions antérieures à 1.3) |
---|
Stella-free (Rosetta) | 0 |
---|
WPML | 18 |
---|
xili-language | 0 |
Quelques notes sur l’architecture ou le codage…
La structure du codage de l’extension en mode orientée objet (oop, class) apporte l’avantage de mieux maîtriser l’activation et d’en choisir le bon moment par rapport à d’autres extensions
Multilanguage | code sans classes donc impossible de choisir le moment de l'activation de l'extension |
---|
Polylang | code structuré en classes |
---|
xili-language | code structuré en classes dont une pour le côté admin |
Nombre de lignes utilisées
Babble | 5 avec widget activé |
---|
MLWP | 2 |
---|
Polylang | 2 et une par langage |
---|
xili-language | de 1 à 4 selon les widgets utilisés |
Pour mettre à disposition des éléments, les extensions au cours de l’installation mettent en place des nouveaux dossiers.
Polylang | pour les drapeaux : nécessite le dossier wp-content/polylang/ |
---|
xili-language | les drapeaux sont soit dans le thème soit dans la bibliothèque média. Le développeur peut utiliser les fonctions theme_support. |
Les méthodes ont beaucoup varié selon les extensions et leur évolution propre…
Babble | duplication par langue de la taxonomie concernée (comme category_en_us) |
---|
Polylang | La table ajoutée termmeta a disparu dès la version 1.3 et est remplacé par une taxinomie. |
---|
WPML | dans les tables ajoutées |
---|
xili-language | Avec l'extension xili-tidy-tags, les mots-clefs sont groupés par langue dans des groupes de mots-clés. Les alias des taxonomies sont utilisés pour les lier selon le sens. |
Quand on a un post en français, où trouve-t-on le n° du post dans une autre langue ?
Babble | utilise une taxonomie spéciale avec encodage des infos |
---|
MLWP | Pas de lien : les traductions sont stockés dans les champs personnalisés (custom post fields) |
---|
Polylang | Après un stockage dans les champs personnalisés, il y a maintenant (>= 1.3) une taxinomie spécifique |
---|
xili-language | champ personnalisé (custom post fields) |
Les articles en avant (sticky post) sont des articles qui sont placés en début de liste et qui le restent dans le flux temporel des articles du site. Ils sont destinés à attirer l’attention des lecteurs avant qu’ils ne lisent les plus récents. Dans un site multilingue, il est donc logique que la langue de cet article soit la même que celles du flux des plus récents. Les extensions offrent chacune des solutions.
Polylang | Utilise le filtre disponible dans le noyau WP 'option_sticky_posts' |
---|
WPML | Boite à Web signale des soucis et les explique : http://boiteaweb.fr/wpml-sticky_posts-bug-7938.html |
---|
xili-language | Si un article en une à son pendant dans la langue active, cet article traduit est affichée en une dans le flux des derniers posts. Utilise le filtre offert par le noyau WP |
Dans un site, notamment en cas de passage en multilingue, les articles ne sont pas toujours affectés à une langue. Ils sont dit alors langue indéfinie. Toutes les extensions ne permettent pas cette possibilité.
Multilanguage | Impossible de rendre un article comme sans language |
---|
Polylang | Impossible de rendre un article comme sans language |
---|
xili-language | Il est possible de définir un article comme indéfinie, c'est à dire sans taxinomie language |
La plupart des thèmes sont localisables (donc prêts) pour être traduit. Des variables existent pour le nom du site ou sa descriptions. Où sont ces éléments et leur traduction ?
Babble | via fichier .mo |
---|
Polylang | Les traductions des variables du site sont stockées dans wp_options en format .mo serialisé |
---|
Stella-free (Rosetta) | pas de traduction du thème : la langue des titres et termes restent comme l'admin. |
---|
WPML | tables ajoutées |
---|
xili-language | Les traductions des variables du site (et des traductions personnalisées de terme du thème) sont stockées dans les fichiers .mo du thème (xx_YY.mo et local-xx_YY.mo ). Fichiers compilables par poEdit ou xili-dictionary. Possibilité de mixage (merge) avec priorité des fichiers .mo en cas de thème enfant/parent |
- Version
- Auteur
- Le site de l’extension
- Structure ou institution
- Les avis et notations (étoiles)
- Quantité active (version active)
- Quantité téléchargée (totale toute version)
- Date de création
- Licence, prix
- Etiquette de langue spécifiant le post
- Cookies
- Ajout de nouvelles tables
- Remarques générales
- Utilisation de la table wp_options
- Ajouts de dossier
- Où sont sauvés les traductions des mots-clés ?
- Stockage des liens entre les versions des posts selon leur langue
- Les articles en avant (sticky post)
- Les articles sans langage affecté
- La traduction des termes du thème et de la structure du site.
Cette page ci-dessus regroupe les résultats d'une étude comparative des caractéristiques (liste au dessus) des extensions multilingues.
Pourquoi cette étude ? Depuis février 2009, en tant qu'auteur de l'extension xili-language conçue autour des taxinomies qui venaient d'être introduites dans le noyau (core) de WordPress (2.3 à l'époque), il nous a paru essentiel de refaire le point donc de se situer dans l'offre qui reste concurrentielle avec l'arrivée notamment de solutions dites commerciales.