Gérer la localisation et l’internationalisation

Aussi évident que cela puisse paraître, vous vendez sur Internet, et vos clients qui viennent du monde entier peuvent se rendre sur votre boutique et acheter vos produits. En tant que vendeur, vous devez pouvoir servir autant de clients que possible. Cela signifie disposer d’une site totalement traduit dans autant de langues que nécessaires, avec les taxes locales, les unités de poids et de prix, les zones locales géographiques, etc.

 

Langues

PrestaShop a été conçu pour être multilingue : il y a une langue par défaut (celle utilisée lors de l’installation), et de nombreuses autres sont disponibles en téléchargement.

Participez à la traduction de PrestaShop

Si PrestaShop n’est pas entièrement traduit dans votre langue, vous pouvez nous aider à la traduire en rejoignant la communauté de traducteurs sur Crowdin pour faire progresser votre langue !

La page “Langues” gère les langues que vous utiliserez dans le back office et sur votre boutique. Cette page affiche les langues déjà installées sur votre boutique, avec quelques informations : code ISO, code de la langue, format de date (courte et complète). Vous pouvez activer ou désactiver une langue simplement en cliquant sur l’icône dans la colonne “Activé”.

Pour ajouter une langue, il suffit d’importer le pack de localisation d’un pays qui utilise cette langue (dans la page “Localisation”). S’il se trouve que cela ne marche pas, ou que vous avez besoin de quelque chose de plus adapté à vos besoins, vous pouvez ajouter une nouvelle langue manuellement en utilisant le formulaire qui se trouve derrière le bouton “Ajouter une langue”.

Vous pouvez aussi ajouter une langue via la page “Traductions”, dans la section “Ajouter/Modifier une langue”. Contrairement au pack de localisation, cela importera uniquement la langue, sans autre donnée de localisation (unités, devise, etc.).

Créer une nouvelle langue

Créer une nouvelle langue signifie que vous devez traduire l’intégralité des textes du front office de PrestaShop, son back office, ses modules, etc., au risque d’utiliser les chaînes anglaises par défaut. La traduction se fait avec l’outil de la page “Traductions” du menu “Localisation”. Vous pouvez également créer une nouvelle langue afin mieux intégrer un pack de langue que vous auriez téléchargé depuis le site de PrestaShop.

Pour créer une nouvelle langue, vous devez remplir autant de champs du formulaire que possible :

  • Nom. Le nom est public. Si vous créez la langue pour des besoins régionaux, vous devriez l’indiquer dans le nom. Par exemple, “Français (Québec)”.
  • Code ISO. Saisissez le bon code à deux lettres ISO 639-1. Vous trouverez plus d’information sur http://fr.wikipedia.org/wiki/Liste_des_codes_ISO_639-1. Si vous importez un pack de langue, ce code doit correspondre exactement à celui du pack.
  • Code langue. Saisissez le bon code de langue à quatre lettres, sous la forme xx-yyxx étant le code ISO de la langue (le même que ci-dessus) et yy étant le code ISO 3166-1 alpha-2 du pays (http://fr.wikipedia.org/wiki/ISO_3166-1). Vous trouverez plus d’information sur Wikipédia : http://fr.wikipedia.org/wiki/%C3%89tiquette_d%27identification_de_langues_IETF.
  • Format de date. Les pays ne partagent pas toujours les mêmes représentations des dates (voir sur Wikipédia : http://en.wikipedia.org/wiki/Date_format_by_country (en anglais)). Ainsi, que votre boutique affiche la date 02/08/12, un client aux États-Unis comprendra “le 8 février 2012”, tandis qu’un client en France comprendra “le 2 août 2012”. C’est pourquoi il est important d’indiquer le format de date lié à votre langue. Les lettres utilisées doivent être celles de la fonction date() de PHP : http://php.net/manual/fr/function.date.php.
  • Format de date (complet). La même chose que le format de date ci-dessus, mais en incluant le format des heures et minutes.
  • Drapeau. Mettez en ligne une image du drapeau qui correspond le mieux à la langue que vous voulez ajouter. Elle devrait être au format 16*16. Nous vous recommandons d’utiliser un des drapeaux du jeu d’image gratuit FamFamFam Flags : http://www.famfamfam.com/lab/icons/flags/.
  • Image “Aucune image”. Mettez en ligne une image qui sera affichée quand le produit n’a pas encore de photo. Cette image est simplement une image vierge avec pour seul contenu le texte “Aucune image” ou “Aucune image disponible” dans la langue créée. Cette image doit être au format 250*250 pixels. Vous pouvez trouver des exemples d’images “Aucune image” dans le dossier /img/l de votre installation de PrestaShop.
  • Langue RTL. Certaines langues s’écrivent de droite à gauche, notamment celles écrites en alphabet arabe ou hébreu (voir http://fr.wikipedia.org/wiki/Texte_bidirectionnel). Quand un thème PrestaShop est bien codé, il est capable de gérer les langues RTL – à partir du moment où il est clairement configuré pour.
  • État. Vous pouvez désactiver une nouvelle langue jusqu’à ce que vous ayez tout traduit.
  • Boutique associée. Vous pouvez ne rendre une langue disponible que pour certaines boutiques, par exemple une boutique locale.

Assurez que tout fonctionne : rendez-vous sur le front office de votre boutique, et cliquez sur les drapeaux tout en haut. De la même manière, les clients pourront choisir une autre langue en utilisant ces icônes.

 

Sharing your translations with the community

Vous avez peut-être traduit tout une langue directement via l’interface de PrestaShop. Vous pouvez en faire bénéficier la communauté PrestaShop en envoyant un export à translation@prestashop.com. Nous nous chargerons de mettre en ligne votre contribution dans notre projet de traduction, pour que les marchands qui parlent votre langue puissent en profiter aussi !

Pour exporter vos traductions, rendez-vous dans la page “Traductions” du menu “International”, section “Exporter des traductions”.

Devises

PrestaShop accepte un grand nombre de devises. Il n’y en a qu’une par défaut : celle de votre pays. Cependant, vous devez ajouter et configurer autant de nouvelles devises que vos clients en requièrent. En effet, les clients apprécient de pouvoir afficher les prix de votre boutique dans la monnaie de leur pays.

Les deux sections en bas de la page “Devises” sont très simples mais essentielles, car elles sont en rapport avec les taux de change de vos devises (ou “taux de conversion”). Pour citer Wikipedia, “Le taux de change d’une devise (une monnaie) est le cours (autrement dit le prix) de cette devise par rapport à une autre.” Ce taux est également considéré comme la valeur de la monnaie d’un pays en fonction d’une autre monnaie. Les taux changent tous les jours, parfois de manière drastique en fonction de l’actualité, et votre boutique devrait toujours utiliser les dernières valeurs.

Pour changer la devise par défaut, vous devez vous rendre dans la page “Localisation” du menu “Localisation”, et utiliser l’option “Devise par défaut” de la section “Configuration”. Si la devise que vous souhaitez utiliser n’est pas disponible dans cette option, vous devez l’importer depuis un pays qui l’utilise, à l’aide de la section “Import de pack de localisation” de la page “Localisation”.

Mettre à jour les taux de change

Vous pouvez mettre à jour les taux de change en cliquant en haut à droit sur “Mettre à jour”, dans l’encart “Mettre à jour les taux de change”. Le fichier de mise à jour sera téléchargé depuis les serveurs de PrestaShop.com par le biais du service web de PrestaShop.

Notez que les taux sont fournis à titre indicatif : l’équipe de PrestaShop s’efforce de fournir des taux exacts dans ces fichiers, mais ils peuvent varier légèrement des véritables taux, ne serait-ce que parce que ces taux varient grandement dans un très court laps de temps.

Ajouter une nouvelle devise

La manière la plus simple d’ajouter la devise d’un pays consiste à importer son pack de localisation. Cela se fait via la page “Localisation”, du menu “International”. Une fois la devise importée, vous devez vous rendre sur la page “Devises” pour l’activer. Vous pourriez avoir besoin d’une devise qui n’est présente dans aucun pack de localisation. Dans ce cas, vous pouvez utiliser le formulaire de création. Cliquez sur “Ajouter une nouvelle devise”, et une nouvelle page s’ouvre. Vous devez y renseigner quelques champs.

  • Nom de la devise. Le nom de la devise, de préférence en anglais pour que le plus grand nombre possible de clients puissent la lire.
  • Taux de change. Ce taux est défini en fonction de la devise par défaut de la boutique. Par exemple, si la devise par défaut est l’Euro et que la devise créée est le dollar, saisissez “1.31”, étant donné que 1€ vaut $1.31 (à l’heure de publication de ce chapitre). Utilisez ce convertisseur pour vous aider : http://www.xe.com/fr/.
  • Boutique associée. Vous pouvez ne rendre une devise disponible que pour certaines boutiques, par exemple une boutique locale.
  • État. N’importe quelle devise peut être désactivée quand vous le voulez, à la fois depuis sa propre page d’édition, et depuis le tableau des devises de la page “Devises”. Lorsque vous créez une nouvelle devise, elle est désactivée par défaut. Pour l’activer, cliquer sur le bouton du bloc “État” : le message “Cette devise est activée” s’affiche alors.

Traductions

PrestaShop vous fournit un outil complet de traduction pour votre boutique. Il vous permet d’ajouter et de modifier les traductions de vos pages. Ainsi, vous êtes véritablement maître de votre boutique, et pouvez gérer la traduction des chaînes sans avoir à attendre que les traducteurs officiels publient leurs corrections. En effet, bien que PrestaShop 1.7 soit disponible dans de nombreuses langues, avec à la fois l’interface et la boutique traduites dans plus de 25 langues, certaines langues ne sont pas encore entièrement traduites.

Même si vous ne souhaitez pas utiliser les corrections des traducteurs, vous pourriez vouloir changer la formulation qu’ils ont utilisé (moins formelle, moins verbeuse, etc.), et personnaliser les différents textes disponibles. Ce faisant, vous adaptez votre site web à votre public : par exemple, une boutique de vêtements hip-hop n’utilisera pas les mêmes expressions qu’une boutique de vente de montres de luxe.

Le processus d’adaptation d’un logiciel à d’autres langues est appelé internationalisation et localisation, ou i18n et L10n.

La première étape est l’internationalisation, durant laquelle les développeurs choisissent le mécanisme à utiliser pour traduire leur logiciel. Toutes les chaînes du logiciel sont ensuite converties pour être exploitées par ce mécanisme.
La seconde étape est la localisation, où les utilisateurs bilingues ou polyglottes traduisent les chaînes originales vers leur propre langue. La localisation peut également inclure la mise en place de données locales pour améliorer encore plus le logiciel pour les utilisateurs locaux.
Vous pouvez en apprendre plus en lisant la page Wikipedia : http://fr.wikipedia.org/wiki/Internationalisation_%28informatique%29.

L’équipe de PrestaShop a choisi de concevoir son propre outil intégré au logiciel, afin que quiconque disposant d’une installation de PrestaShop puisse personnaliser sa boutique en fonction de ses besoins.
La traduction communautaire se faire à l’aide d’une installation ouverte en ligne de PrestaShop, située à l’adresse https://crowdin.net/project/prestashop-official

Les packs de traduction officiels peuvent être téléchargés à la main depuis cette adresse : http://www.prestashop.com/fr/traductions.

Video – 5 questions à se poser avant de traduire sa boutique en ligne

 

Modifier une traduction

L’outil le plus important de la page “Traductions” se trouve dans la section “Modifier les traductions”. C’est ici que vous choisissez la traduction à modifier ou ajouter, afin de potentiellement en réécrire toutes les phrases si besoin était.

 

Sélectionnez la partie de la traduction actuelle que vous voulez modifier :

  • Traductions du back office. Le texte que vous voyez dans les pages d’administration de votre boutique
  • Traductions du thème. Le texte que vos clients voient en parcourant votre boutique.
  • Traductions des modules installés. Les chaînes utilisées par les modules installés. Notez que les modules présents mais pas installés n’apparaîtront pas dans l’outil.
  • Traductions des modèles d’e-mails. Les chaînes utilisées par les e-mails envoyés par PrestaShop.
  • Autres traductions. Cette catégorie est provisoire. Elle contient toutes les chaînes qui n’ont pas encore été identifiées comme provenant de l’une des catégories ci-dessus.

 

Si vous êtes à la recherche d’une chaîne précise, que ce soit dans la section “Back office” ou “Theme”, mais que vous ne la trouvez pas, il se pourrait qu’elle soit dans la catégorie “Autres traductions”.

 

Certaines catégories ont une seconde liste déroulante, qui donne les thèmes disponibles. Les thèmes PrestaShop ont leurs propres chaînes, mais peuvent aussi avoir leurs propres modules et modèle d’e-mail. Cette liste déroulante vous permet donc de choisir le thème avec lequel vous souhaitez travailler. Une fois votre sélection faite, choisissez la langue pour laquelle vous souhaitez modifier la traduction. Une nouvelle page s’ouvre alors, organisée en plusieurs sections. 

Rechercher une expression

En haut de la page, une barre de recherche vous permet de rechercher un mot, une chaîne ou une phrase que vous souhaiteriez modifier ou traduire. Sur la droite, vous verrez le nombre total d’expressions, ainsi que le nombre de celles qui ne sont pas encore traduites dans la catégorie (back office, thème, etc.).

Renseignez l’expression recherchée et cliquez sur “Rechercher” pour lancer la recherche. Les expressions qui correspondent à votre recherche s’afficheront en dessous. Vous pouvez les modifier, ou les traduire si elles sont vides, puis cliquer sur “Enregistrer” pour sauvegarder vos modifications. En cliquant sur “Réinitialiser”, vous remplacerez ce que vous avez pu rentrer par la traduction officielle de PrestaShop : cela restaurera la traduction initiale s’il y en avait une, ou supprimera la vôtre si vous en aviez ajouté une.

Référez-vous à l’arborescence qui s’affiche à gauche pour retrouver les résultats correspondant à votre recherche :

Parcourir les traductions

La colonne de gauche est là pour vous aider à naviguer parmi les différentes expressions disponibles dans la catégorie que vous voulez modifier ou traduire. Cette navigation se base sur le concept de domaines de traduction : chaque chaîne ou expression dans PrestaShop se voit assigner un domaine de traduction. Ce domaine permet de donner un contexte pour la traduction, et permet de savoir où cette chaîne est affichée dans PrestaShop, et à quoi elle correspond (texte d’aide, verbe d’action, etc.).

Pour le back office et le thème, vous verrez deux domaines principaux, le second étant les modules. En effet, les modules ont du contenu qui s’affiche à la fois dans l’interface, et dans la boutique, aussi ces expressions sont disponibles quand vous cherchez à traduire votre back-office ou votre thème. À côté de chaque domaine, le nombre d’expressions manquantes pour ce domaine est affiché. Cela vous aide à savoir où aller si vous souhaitez compléter la traduction de PrestaShop. Pour voir les expressions contenus dans un domaine, cliquez sur le nom du domaine : les expressions s’afficheront sur la droite.

Domaines de traductions

Si de prime abord les domaines peuvent vous sembler confus, vous comprendrez rapidement comme ils fonctionnent et vous saurez rapidement y trouver votre chemin.

Chaque catégorie (back office ou thème) est elle-même divisée en sous-catégories fonctionnelles, qui correspondent à des sections et pages du back office (ou du thème).

Par exemple, pour le back office, les domaines suivants correspondent aux pages du même nom (an anglais) dans l’interface :

  • AdminCatalog, AdminModules, AdminDesign, AdminShipping, AdminPayment, AdminInternational, AdminShopParam et AdminAdvParameters.
  • AdminOrdersCustomers rassemble les expressions des menus “Commandes”, “Clients” and “Service client”.

Chacun de ces domaines est encore divisé en trois sous-domaines, Feature, Notification et Help, qui ont les significations suivantes :

  • Feature : tout ce qui est propre à une fonctionnalité de l’interface. Si vous êtes dans la catégorie “Shipping”, le domaine Admin.Shipping.Feature regroupera toutes les expressions dans le menu “Livraison”, et qui sont propre à ces pages en particulier.
  • Notification : tous les messages d’information, de succès, les notifications ou les erreurs spécifiques au domaine concerné.
  • Help : tous les messages d’aide et d’accompagnement pour ce domaine précis.

Et a contrario, certains domaines sont génériques et leurs chaînes sont transverses à toutes les pages du back office :

  • AdminNavigation pour toutes les chaînes du menu, footer, et header du back-office.
  • AdminActions rassemble tous les boutons ou liens sous forme de verbes d’actions que vous trouverez dans l’interface et qui sont génériques (“Annuler”, “Enregistrer”, “Supprimer”, etc.)
    • AdminNotifications contient tous les avertissements, messages d’erreurs ou de succès qui sont standards et applicables à toutes les pages du back-office (par exemple “Mise à jour réussie”).
  • AdminGlobal englobe toutes les chaînes qui ne sont pas comprises dans les autres domaines, qui apparaissent dans plusieurs pages différentes du back-office et dans de nombreuses occurrences (“État”, “Paramètres”, “Activé”, “Ventes”, etc.).

La même logique va s’appliquer pour les domaines du thème :

  • ShopTheme et ses sous-niveaux (Catalog, CustomerAccount, Checkout, Actions) sont les chaînes du thème par défaut et de ses différentes sections fonctionnelles
  • ShopForms regroupe les libellés des différentes formulaires présents dans le thème
  • ShopNotification concerne tous les messages et notifications s’affichant sur votre boutique, que ce soit des erreurs ou succès.

Modifier une traduction 

Quand vous ouvrez un domaine pour en voir les chaînes, vous pouvez modifier les traductions existantes, ou compléter celles qui seraient manquantes. Cliquer “Enregistrer” sauvegardera vos modifications. Cliquer “Réinitialiser” remplacera ce que vous avez pu rentrer par la traduction officielle de PrestaShop : cela restaurera la traduction initiale s’il y en avait une, ou supprimera la vôtre si vous en aviez ajouté une.

Certaines chaînes ont une syntaxe particulière, qui contient des variables comme %s%d%1$s%2$d, etc.

Quand vous trouvez une chaîne avec une telle variable, cela signifie que PrestaShop la remplacera avec une valeur dynamique avant d’afficher la chaîne traduite.
Par exemple, dans la chaîne “Your order on %s is complete.”, %s sera remplacé par le nom de la boutique. C’est pourquoi vous devez conserver cette variable dans votre traduction finale. Par exemple, en français il faudra la traduire en “Votre commande sur %s a bien été enregistrée.”

Techniquement, les variables permettent d’afficher la chaîne dans son ensemble, d’éviter de la disperser en plein de champs différents.

Dans le cas d’une chaîne avec variable, vous devriez vous assurer que le contenu de cette variable se trouvera dans le bon flot de la phrase, et éviter les traductions littérales.

Les variables numérotées (%1$s%2$d, etc.) permettent aux traducteurs de réordonner les variables au sein de la chaîne tout en maintenant les informations de chacune. Ainsi, le traducteur français pourra au choix traduire “Order #%1$d from %2$s” en “Commande n°%1$s du %2$s” ou “Le %2$s, commande n°%1$s”.

Traduction des modules

Quand vous souhaitez traduire ou modifier le contenu d’un module précis, choisissez “Traduction des modules installés”, puis sélectionnez le module qui vous intéresse. Une nouvelle page va s’ouvrir avec tout le contenu de ce module.

En fonction de la version pour laquelle ce module a été conçu (1.7 ou 1.6), l’interface de traduction peut être différente. En effet, certains modules utilisent le système de traduction propre à la 1.7, tel que décrit dans cette page, alors que d’autres utilisent toujours le système de la version 1.6. Leur page de traduction aura une présentation différente. Au final, les fonctionnalités sont les mêmes, et vous pourrez traduire ou modifier votre module de la même façon.


Traduction des modèles d’e-mails

La traduction des e-mails se fait un peu différemment des autres types de contenu.

Les chaînes sont rassemblées en groupes, mais ce ne sont plus de simples champs texte. Chaque e-mail dispose de deux modèles : un au format HTML, avec une mise en page et de la couleur, et un au format texte brut. Tandis que la version texte brut peut être modifiée directement dans le champ textuel, la version HTML ne peut être modifiée qu’en cliquant sur le bouton “Modifier ce modèle d’e-mail” situé en bas de la prévisualisation. Ce clic remplace la prévisualisation par un champ Wysiwyg (what you see is what you get), avec un éditeur complet (basé sur TinyMCE : http://www.tinymce.com/). En plus de modifier le texte, vous pouvez retoucher la mise en page comme bon vous semble. Vous pouvez par exemple changer les couleurs afin de s’adapter au style de votre boutique.

Notez que les modèles d’e-mails contiennent des variables, tels que {lastname} or {shop_name}, que PrestaShop remplace par la valeur réelle lors de l’envoi de l’e-mail. Assurez-vous de les conserver dans la traduction.

 

Ajouter / mettre à jour une langue

Les traductions de PrestaShop sont disponibles en packs, qui combinent toutes les catégories de traduction en un fichier zip. Certains packs de langue sont disponibles gratuitement depuis les serveurs de PrestaShop. PrestaShop s’occupe de télécharger le pack de langue, le décompresser et créer les sous-dossiers nécessaires dans le dossier /translation de votre installation.

 

Vous pouvez également mettre à jour les langues installées, depuis les serveurs de PrestaShop.

Exporter des traductions

Vous pouvez créer votre pack de langue en utilisant cet outil, soit dans le but de faire une sauvegarde de vos personnalisations, ou afin de partager vos traductions avec une autre installation de PrestaShop – l’une des vôtres ou d’un autre utilisateur.

 

Sélectionnez simplement la langue et le thème de la traduction que vous souhaitez exporter, et cliquez sur le bouton “Exporter”. Notez que le pack contiendra le thème qui est censé fonctionner avec la traduction.

Copier

Vous pouvez copier le contenu d’une langue vers une autre. C’est particulièrement utile quand vous souhaitez remplacer la langue d’un thème par celle d’un autre thème.

 

Choisissez la langue et le thème sources, puis la langue et le thème de destination, enfin cliquez sur le bouton “Copier”. Dans la plupart des cas, la langue devrait être la même dans les deux listes déroulantes.

S’il y a déjà un dossier pour cette langue dans le thème de destination, il sera remplacé par les fichiers de la langue et du thème source. Vous préférerez peut-être créer d’abord une nouvelle langue pour le thème de destination, puis y copier la langue source.