Préambule

WooCommerce est une solution récente d’eCommerce pour le toujours plus popuplaire WordPress. Il s’agit en réalité d’un fork de Jigoshop par WooThemes. Pour faire simple, WooThemes a récupéré le code open source d’une solution existante et en à fait une nouvelle branche de développement, WooCommerce.

Un client d’ABSOLUTE Web pour lequel nous avons mis en place un blog WordPress nous a fait part de son souhait de compléter le blog par une boutique eCommerce. Plusieurs choix se sont offerts à nous, un développement maison, comme nous en réalisons depuis des années, une solution type Prestashop, et une extension eCommerce pour WordPress.

A partir du cahier des charges du client, la solution Prestashop est apparue surdimensionnée. De plus la fusion poussée d’un blog WordPress avec une boutique Prestashop reste une tâche ardue. Le souhait du client de rester dans l’interface WordPress qu’il affectionne nous a conduit à privilégier la solution extension WordPress au détriment du développement maison.

Pour diverses raisons le choix final s’est orienté vers WooCommerce.

Prêt à l’emploi ?

Le problème avec ce type d’extensions c’est qu’elles sont souvent d’origine étrangère et pas toujours adaptées à une utilisation sur le sol français (traduction, TVA, Frais de livraison, moyens de paiement).

En ce qui concerne la traduction, le fichier le localisation en français que j’ai obtenu avec la version 1.3.2.1 du 15 décembre 2011 est incomplet et comporte pas mal d’erreurs ainsi que des traductions approximatives.

Une utilisation en l’état sur un site eCommerce n’étant pas envisageable et après diverses recherches sur Internet, j’ai décidé de m’atteler à la tâche.

Contribution à la traduction de WooCommerce

J’ai procédé de la manière suivante :

  • Chargement dans PoEdit du fichier .po de localisation française fournie dans la version 1.3.2.1
  • Mise à jour du catalogue depuis les sources de WooCommerce (1553 chaines de caractères)
  • Traduction des nouvelles chaines détectées
  • Vérification page par page, onglet par onglet des traductions sur le site
  • Correction et adaptation de certaines chaines (traduction erronées, double sens, versions françaises trop longue, bugs javascripts causés par la présence d’apostrophe dans certaines chaines)

A ce jour la traduction française de WooCommerce est opérationnelle à 99%.

Les problèmes rencontrés

J’ai rencontré un certains nombre de problèmes dont je vous présente la liste non exhaustive dans le but de finaliser la traduction française de WooCommerce :

  1. Une expression purement anglaise !
    Free Shipping – does what it says on the tin.
    Plus d’info sur Wikipedia. Cette chaine apparait sur la page WooCommerce > Paramètres > Expédition > Livraison gratuite. A mon sens elle est inutile, le titre H3 de la page étant déjà Livraison gratuite.
  2. Un terme anglais pour deux termes français
    La chaine “From:” pose un problème de sens en français car elle est utilisée dans le front office pour signifier “A partir de :” (tarif produit variable) et dans le back office pour signifier “Du :” (date de début). J’ai actuellement privilégié le front office. Je ne sais pas si le problème peut être résolu.
  3. Les dates !
    Je dois refaire le point sur l’affichage des dates. Certaines s’affichent bien dans le format français, d’autres dans le format anglais. Je dois vérifier si le formatage est issu des chaines de traduction ou si le problème est lié à WooCommerce. Toute contribution à ce sujet sera la bienvenue.
  4. Chaines absentes dans la localisation
    J’ai identifié quelques chaines de caractères qui ne sont pas détectées dans le code comme étant à traduire. Par exemple : “Number of sales” et “Sales amount” dans les rapports. Il y en a d’autres.
  5. Traduction des états de la commande
    J’ai traduis les états de la commande qui se trouvent dans un fichier woocommerce>language>strings.php. Il s’agit des termes completed, pending, failed, etc.. Je ne connais pas le fonctionnement de ce fichier strings.php et je n’ai pas eu le temps de tester le fonctionnement du site avec ces traductions. A priori si une chaine à traduire est présente dans strings.php elle n’a pas à être localisée dans le code source avec __(‘chaine’).
  6. it was a long time ago
    Ago pose un problème dans les traductions car il est placé en anglais après la durée alors qu’en français “il y a” est placé avant : “2 days ago” et “il y a 2 jours“. Il faut donc jongler avec les portions de chaines pour obtenir quelques chose comme “Commande n°881 qui a été effectuée il y a 5 jours avec l’état “terminée” et a été expédiée il y a 2 jours .“. Il reste un petit problème d’espace en trop avant le point.
  7. Slug ?
    Je cherche toujours une traduction pour le terme slug… Dans WooCommerce > Paramètres > Pages vous aurez “Slug catégorie produit” en attendant mieux.

Les Hacks !

Certains problèmes de traduction ne peuvent être résolus depuis le fichier de localisation, ils sont dus au code source de WooCommerce. En attendant une correction éventuelle de WooThemes, pas d’autre solution que d’appliquer des hacks (modification du code source). Bien évidement à la moindre mise à jour de WooCommerce, les corrections sautent.

Problème de dates sur Mon Compte > Voir la commande

shortcode-my_account.php, ligne 487, date() à remplacer par date_i18n()
shortcode-my_account.php, ligne 504, remplacer ‘l jS \of F Y, h:ia’ par ‘l j F Y, h:i’

Problème de dates sur Suivi de commande

shortcode-order_tracking.php, ligne 60, remplacer ‘l jS \of F Y, h:ia’ par ‘l j F Y, h:i’

Problème d’états dans les Notes de la commande

order.class.php, ligne 498, remplacer $this->status par __($this->status, ‘woothemes’) et $new_status->slug par __($new_status->slug, ‘woothemes’)
État de la commande modifié de pending à processing devient État de la commande modifié de en attente à en cours

Chaines non disponibles dans la localisation

admin/admin-reports.php, ligne 153, remplacer Sales amount par Montant de ventes
admin/admin-reports.php, ligne 158, remplacer Number of sales par Nombre de ventes

Télécharger WooCommerce French Version

Il reste sans nul doute des problèmes de traduction, que ce soit au niveau de la localisation à proprement parler ou au niveau du code source WooCommerce (voir hacks ci-dessus). Si vous utilisez cette traduction, merci pour la communauté de faire remonter les problèmes que vous avez rencontré. Pour cela envoyez moi un email sur woocommerce(arobase)absoluteweb(point)net ou laissez un commentaire ci-dessous, merci.