# 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[​](#the-four-places-that-hold-translations "Lien direct vers 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](https://translate.wordpress.org/projects/wp-plugins/woocommerce-pos/)** 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)[​](#wordpress-plugin-strings-the-easiest-place-to-start "Lien direct vers 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/](https://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](https://make.wordpress.org/polyglots/) 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)[​](#pos-app-translations-the-react-ui "Lien direct vers Traductions de l'application PDV (l'interface React)")

L'interface caissier est une application React qui utilise [i18next](https://www.i18next.com/) 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[​](#wp-admin-react-screens "Lien direct vers É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 gratuits** — `wcpos/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 Pro** — `wcpos/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)[​](#documentation-these-pages "Lien direct vers 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[​](#locale-codes-wcpos-uses "Lien direct vers 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`.

| Code    | Langue                    |
| ------- | ------------------------- |
| `ar`    | Arabe *(droite à gauche)* |
| `de`    | Allemand                  |
| `es`    | Espagnol                  |
| `fr`    | Français                  |
| `hi-IN` | Hindi (Inde)              |
| `it`    | Italien                   |
| `ja`    | Japonais                  |
| `ko`    | Coréen                    |
| `pt-BR` | Portugais (Brésil)        |
| `zh-CN` | Chinois (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[​](#translator-tips "Lien direct vers 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](/fr/receipts/customise.md) pour la galerie.

## Où demander de l'aide[​](#where-to-ask-for-help "Lien direct vers 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](https://wcpos.com/discord))
* **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
