# GlotPress auto-hébergé pour traduire une extension maison distribuée en interne

> Une extension maison tourne sur des dizaines de sites clients en plusieurs langues. Voici comment monter un vrai flux GlotPress plutôt que des fichiers .po envoyés par e-mail.

- Auteur : WordPress Développement
- Publié le : 2020-04-16
- Mis à jour le : 2020-04-16
- Catégorie : Multilingue
- URL : https://www.wpmoderne.fr/multilingue/glotpress-auto-heberge-traduction-extension-maison/

## L’essentiel

- GlotPress traduit le plugin lui-même, pas le contenu éditorial
- Un seul projet centralise toutes les langues
- wp i18n génère le .pot de référence

`wp i18n make-pot`. Cette commande WP-CLI est le point de départ de tout ce qui suit : elle génère le fichier `.pot`, le gabarit de traduction de référence d'une extension WordPress, en scannant chaque chaîne passée à `__()`, `_e()` ou `esc_html__()` dans le code source.

Une agence qui maintient une extension maison — un système de réservation utilisé sur une trentaine de sites clients, en français, néerlandais, anglais et allemand — se retrouve vite avec un problème différent de la traduction de contenu éditorial : ici, il ne s'agit pas de traduire des pages, mais l'interface même du plugin, ses libellés d'administration, ses messages d'erreur, ses e-mails de confirmation codés en dur dans le PHP.

## Pourquoi les fichiers .po envoyés par e-mail ne tiennent pas à l'échelle

Avant la mise en place de GlotPress, le processus tenait sur quatre fichiers `.po`, un par langue, modifiés à la main dans Poedit puis recompilés en `.mo` et redéployés sur chaque site client via un script de déploiement. Deux traducteurs externes intervenaient en parallèle sur le néerlandais et l'allemand, chacun avec sa propre copie du fichier `.po`, envoyée par e-mail.

Le résultat : des conflits de version dès qu'une nouvelle chaîne était ajoutée au code pendant qu'un traducteur travaillait encore sur l'ancienne version du fichier, et aucune visibilité sur le taux de complétion réel d'une langue avant la prochaine version du plugin.

## Installer GlotPress comme un site WordPress dédié

> L'essentiel à retenir : GlotPress traduit le plugin lui-même, pas le contenu éditorial ; Un seul projet centralise toutes les langues ; wp i18n génère le .pot de référence

GlotPress est lui-même un plugin WordPress, pensé pour tourner sur une installation dédiée (traduire.exemple-agence.fr, par exemple), séparée du site de production. L'installation suit ce schéma :

```
1. Une installation WordPress neuve, minimale
2. Installation du plugin GlotPress officiel
   (depuis le dépôt GitHub WordPress/GlotPress)
3. Création d'un projet : "Extension Réservation Maison"
4. Import du fichier .pot généré par :
   wp i18n make-pot chemin/vers/extension extension.pot
5. Création d'un sous-projet par langue cible :
   fr_FR, nl_NL, de_DE, en_US
```

Chaque traducteur reçoit un compte utilisateur avec le rôle « Traducteur » sur son sous-projet uniquement. Il traduit directement dans l'interface web de GlotPress, chaîne par chaîne, avec accès au contexte (le fichier source et la ligne où la chaîne apparaît), ce qu'aucun fichier `.po` envoyé par e-mail ne permettait de fournir facilement.

## Un rôle de validateur pour éviter les traductions publiées sans relecture

GlotPress distingue les rôles « Traducteur » (propose des traductions) et « Validateur » (approuve avant publication). L'agence a mis en place un validateur interne par langue, souvent un développeur bilingue plutôt qu'un traducteur professionnel, chargé de vérifier la cohérence terminologique avec les versions précédentes du plugin — un même terme technique ne doit pas changer de traduction d'une version à l'autre.

1. Le traducteur propose une chaîne traduite dans GlotPress
2. Le validateur approuve, rejette ou modifie directement
3. Une fois une langue à 100 % de complétion, export du fichier `.po`/`.mo` depuis GlotPress
4. Intégration des fichiers exportés dans `languages/` du dossier de l'extension
5. Déploiement de la nouvelle version sur les sites clients via le script existant

## Ce que GlotPress ne remplace pas

Un point de confusion fréquent : GlotPress traduit les chaînes de l'extension, pas le contenu que chaque client publie sur son site (ses pages, ses fiches produits, ses articles). Pour ce contenu-là, chaque site client continue d'utiliser son propre outil multilingue de contenu (Polylang ou WPML selon le client), totalement indépendant de GlotPress. Confondre les deux flux est l'erreur la plus fréquente quand une équipe découvre GlotPress pour la première fois.

## En résumé

GlotPress auto-hébergé n'a de sens que pour une extension maison distribuée sur plusieurs sites, avec plusieurs contributeurs de traduction à coordonner dans la durée. Pour un seul site avec un seul traducteur occasionnel, un fichier `.po` géré à la main reste largement suffisant. La bascule mérite d'être faite dès que le nombre de traducteurs simultanés dépasse deux, ou que le rythme de sortie de nouvelles versions rend les fichiers envoyés par e-mail intenables.
