Passer au contenu principal
Version : 1.x

Contribuer aux traductions

WCPOS propose actuellement des traductions pour 10 langues, et il y a de la place pour bien d'autres. Les contributions sont les bienvenues — il n'est pas nécessaire de tout traduire, ni d'être développeur. Cette page explique ce qu'il faut traduire et où.

Les quatre emplacements des traductions

WCPOS répartit les chaînes traduisibles dans quatre dépôts, chacun avec son propre processus de contribution. Il est possible de contribuer à chacun d'entre eux indépendamment.

Extension WordPress (chaînes PHP)

Avis d'administration, libellés de la page de réglages, messages d'erreur et interface WP Admin. Traduit sur translate.wordpress.org via GlotPress — le processus de traduction standard de WordPress. Aucune compétence en programmation requise.

Application PDV (React/i18next)

Tout ce que le caissier voit en caisse — boutons, boîtes de dialogue, messages d'erreur, interface du panier et de la commande. Les fichiers de traduction se trouvent dans le dépôt wcpos/monorepo ; les contributions se font via pull request. Une connaissance de base de GitHub est recommandée.

Écrans React de WP Admin

Les nouvelles pages basées sur React pour les réglages, l'éditeur de boutiques, les modèles, les extensions et les journaux. Les traductions se trouvent dans wcpos/woocommerce-pos (et woocommerce-pos-pro pour les écrans Pro) sous forme de fichiers JSON. Une connaissance de base de GitHub est recommandée.

Cette documentation (Docusaurus)

Le site de documentation que vous consultez actuellement. Les fichiers MDX traduits se trouvent dans le dépôt wcpos/docs sous i18n/<locale>/. Les contributions se font par pull request. La connaissance du Markdown est un plus.

Chaînes de l'extension WordPress (le point de départ le plus simple)

Si vous n'avez jamais traduit une extension WordPress auparavant, voici la méthode la plus simple :

  1. Trouvez votre langue sur translate.wordpress.org/projects/wp-plugins/woocommerce-pos/ — chaque langue prise en charge par WordPress dispose d'un sous-projet.
  2. Connectez-vous avec votre compte WordPress.org (celui que vous utilisez pour commenter dans les forums d'assistance). Créez-en un gratuitement si vous n'en avez pas.
  3. Choisissez un sous-projet — vous verrez généralement :
    • Stable (latest release) — les chaînes livrées dans la version publique actuelle. Les traductions effectuées ici sont appliquées sur tous les sites qui mettent à jour l'extension.
    • Development (trunk) — les chaînes de la prochaine version. Traduisez-les pour être prêt avant la publication de la version suivante.
    • Stable Readme / Development Readme — la description de l'extension affichée sur WordPress.org.
  4. Soumettez vos traductions une chaîne à la fois via l'interface GlotPress. Elles démarrent avec le statut Suggérée jusqu'à ce qu'un éditeur de traduction du projet (PTE) les approuve.
  5. Devenir PTE en faisant la demande sur le Slack polyglots de WordPress après quelques traductions approuvées. Les PTE peuvent approuver directement les traductions sans attendre une révision.

Une fois les traductions approuvées, elles sont automatiquement distribuées à tous les utilisateurs WCPOS de la locale concernée — aucune modification de code, aucune PR.

Traductions de l'application PDV (l'interface React)

L'interface caissier est une application React qui utilise i18next pour les traductions, reconstruite dans la v1.8.8. Les fichiers de traduction sont stockés en JSON dans le dépôt wcpos/monorepo (le cœur multiplateforme du PDV).

La configuration offre deux fonctionnalités pratiques :

  • Chargement à la demande — seule la locale active est récupérée au moment de l'exécution (depuis le CDN de jsDelivr), de sorte que l'ajout d'une langue n'alourdit pas les téléchargements pour les autres utilisateurs.
  • Repli régional — les noms de fichiers JSON i18next utilisent des underscores : pt_BR se replie sur pt, es_MX se replie sur es, etc. La documentation et les balises de langue web utilisent des tirets, comme pt-BR ou es-MX. Utilisez la forme avec underscore pour les fichiers JSON de traduction et la forme avec tiret là où des balises de langue sont requises.

Pour contribuer :

  1. Trouver le fichier source « en » dans wcpos/monorepo sous le répertoire des paquets de traduction (le chemin exact varie — le plus simple est de démarrer une nouvelle traduction en ouvrant une issue sur le dépôt et en demandant quel fichier copier).
  2. Copier en.json vers <your-locale>.json en suivant la convention de locale JSON i18next (fr.json, de.json, pt_BR.json, etc. ; utilisez des tirets bas pour les noms de fichiers régionaux).
  3. Traduisez les valeurs, en laissant les clés et les espaces réservés {{interpolation}} intacts.
  4. Soumettez une pull request sur le monorepo. Le CI validera la structure JSON.

Pour des modifications mineures d'une traduction existante, vous pouvez modifier le fichier JSON directement sur GitHub via l'icône en forme de crayon — GitHub ouvrira une PR pour vous.

Écrans React de WP Admin

Les paramètres d'administration WordPress, l'éditeur de boutiques, la page de modèles, le catalogue d'extensions et les journaux utilisent le même schéma de traduction que l'application PDV, mais se trouvent dans deux dépôts distincts :

  • Écrans d'administration gratuitswcpos/woocommerce-pos dépôt, à packages/settings/src/translations/locales/<locale>/wp-admin-settings.json (et des chemins similaires pour les autres paquets d'administration ; utilisez des dossiers de locale avec des tirets bas comme pt_BR pour les locales JSON régionales).
  • Écrans d'administration Prowcpos/woocommerce-pos-pro dépôt, avec le même schéma (par ex. packages/store-edit/src/translations/locales/<locale>/wp-admin-store-edit.json, avec des dossiers de locale à tirets bas comme pt_BR).

Le processus de contribution est le même que pour l'application PDV : copier en.json vers <your-locale>.json, traduire, ouvrir une PR.

Documentation (ces pages)

Le site de documentation utilise la configuration i18n standard de Docusaurus. Les fichiers MDX traduits se trouvent dans le dépôt wcpos/docs sous i18n/<locale>/docusaurus-plugin-content-docs/current/. Chaque page en anglais dans versioned_docs/version-1.x/ a un équivalent dans chaque locale de traduction active.

Le site dispose déjà d'un outillage de traduction automatisé — un script pnpm translate utilise les API OpenAI / Anthropic pour générer des ébauches de traduction à partir de l'anglais, qu'un relecteur humain peaufine ensuite. Le processus de contribution typique est donc :

  1. Choisir une page qui nécessite une traduction ou une amélioration. Le sélecteur de langue dans le pied de page du site indique quelles langues sont actives.
  2. Modifier le fichier MDX correspondant sous i18n/<locale>/... directement sur GitHub via le lien Modifier cette page en bas de chaque page.
  3. Soumettre une pull request. Les relecteurs vérifieront l'exactitude de la traduction et la fusionneront.

Pour les contributions plus importantes (traduction d'une section entière ou ajout d'une nouvelle locale), ouvrir d'abord un ticket pour coordonner avec l'équipe.

Codes de locale utilisés par WCPOS

WCPOS est actuellement livré avec ces 10 locales. Le tableau de la documentation utilise des balises de langue avec tiret pour les locales régionales ; utiliser la forme équivalente avec underscore pour les fichiers JSON i18next, par exemple pt_BR pour pt-BR et zh_CN pour zh-CN.

CodeLangue
arArabe (droite à gauche)
deAllemand
esEspagnol
frFrançais
hi-INHindi (Inde)
itItalien
jaJaponais
koCoréen
pt-BRPortugais (Brésil)
zh-CNChinois (simplifié)

Si votre langue ne figure pas dans la liste, ouvrez un ticket sur le dépôt de votre choix et nous configurerons la locale.

Conseils pour les traducteurs

  • Conservez les variables intactes. Les chaînes contiennent souvent {{variable}}, %s, %d, ou <strong> tags — traduisez le texte environnant, mais laissez les espaces réservés exactement tels quels. WCPOS y substitue les valeurs réelles à l'exécution.
  • Respectez le ton existant. La documentation et l'interface de WCPOS sont volontairement pratiques et directes. Si l'anglais dit « Add Coupon », la traduction doit utiliser la forme verbale employée sur des boutons similaires dans votre langue — pas un nom.
  • Testez en contexte si possible. Configurez votre site WordPress dans votre langue, installez l'extension et vérifiez que les chaînes s'affichent correctement dans l'interface. Le contexte compte — une chaîne adaptée à un écran peut se couper maladroitement sur un autre.
  • Ne traduisez pas le code, les URL ni les identifiants techniques. Les codes de coupon, les identifiants de passerelle, les codes de langue, les chemins de fichiers et les shortcodes restent en anglais. En cas de doute, ne traduisez pas — c'est plus sûr que d'altérer un élément dont le système dépend.
  • Langues écrites de droite à gauche (RTL) — arabe, hébreu, persan, ourdou — les modèles de reçu doivent également être marqués comme RTL. WCPOS inclut des modèles de reçu RTL ; consultez Personnaliser votre reçu pour la galerie.

Où demander de l'aide

  • WordPress.org polyglots Slack — pour les questions relatives à Glotpress
  • WCPOS Discord — pour les discussions sur les traductions spécifiques à WCPOS (invitation)
  • GitHub issues — ouvrez un ticket dans le dépôt concerné (woocommerce-pos, woocommerce-pos-pro, monorepo ou docs) pour les questions spécifiques à un dépôt