Aller au contenu
Sommaire

PvZ Fusion, pôle francophone Une équipe formée et menée

Traduire un jeu. Faire grandir une équipe.

PvZ Fusion change sans cesse : quinze versions en quatorze mois. Quand je suis arrivé, la traduction française avait plusieurs versions de retard. Dix mois plus tard, avec l’équipe que j’ai recrutée et formée, il ne manquait plus une seule entrée dans les fiches et les textes d’interface.

  • 20 personnes formées au pôle francophone Témoignage, confirmé le 13/10/2026
  • 1 335 → 0 entrée manquante Historique du dépôt, du 16/10/2025 au 15/08/2026
  • 35 pull requests fusionnées dans le projet officiel GitHub, du 16/10/2025 au 26/09/2026
Une longue table où des fiches passent d’une silhouette seule à un groupe, à la lumière d’une lanterne. Une longue table où des fiches passent d’une silhouette seule à un groupe, à la lumière d’une lanterne.
Besoin
Rattraper, à plusieurs, la traduction française d’un jeu qui sort une nouvelle version chaque mois environ.
Ma part
J’ai recruté et formé l’équipe, construit l’outil qui transforme chaque mise à jour en liste de tâches, et livré son travail au projet officiel en créditant chacun.
Rôle
Traducteur, puis lead du pôle francophone et mainteneur du projet multilingue
Période
Depuis octobre 2025 ; lead depuis décembre 2025
Équipe
Bénévoles, jusqu’à dix en même temps
Statut
En cours, bénévole

Discutons de ce projet

Le point de départ

Un jeu qui ne s’arrête jamais

PvZ Fusion est un jeu amateur dérivé de Plants vs. Zombies : on y combine des plantes pour défendre son jardin. Des bénévoles du monde entier le traduisent. Chaque mise à jour ajoute des plantes et réécrit des règles : d’août 2025 à octobre 2026, le projet multilingue a publié 15 versions du jeu.

En octobre 2025, la traduction française en était à la version 2.3.1 ; le jeu, à la 3.0.1.

Une partie de PvZ Fusion : des plantes fusionnées défendent le jardin contre une vague de zombies.
Le jeu qui nous a réunis : combiner des plantes pour défendre son jardin. Capture de l’interface d’origine, en chinois.
Entrées anglaises sans équivalent français, le 16 octobre 2025
  • Plantes 218 sur 477 · 46 %

  • Zombies 76 sur 162 · 47 %

  • Textes d’interface 1 041 sur 1 776 · 59 %

Historique public du dépôt, révision c623790, relevé le 13/10/2026.

L’équipe

Accueillir, former, faire confiance

Je suis arrivé pour traduire en octobre 2025 : ma première pull request date du 16. Le 5 décembre, on m’a confié le pôle ; je m’occupais déjà de l’organisation, de l’accueil et de la formation des nouveaux.

« La seule chose qui a changé, c’est le titre. »

En tout, j’ai formé 20 personnes.

Traducteur, lead, mainteneur : mes rôles et les arrivées dans le pôle
  • Traducteur le 21/10/2025
  • Lead du pôle le 05/12/2025
  • Mainteneur au plus tard le 26/09/2026
  • Arrivées consignées dans les journaux publics du pôle : deux le 08/12/2025, une le 15/12/2025, une le 22/12/2025, une le 16/02/2026, une le 20/02/2026, une le 02/03/2026, deux le 23/03/2026.

Neuf arrivées sont consignées dans les journaux publics du pôle, sur les vingt personnes que j’ai formées. Silhouettes anonymes, sans pseudonyme.

  1. Une personne tend une fiche à une nouvelle venue, à la lumière d’une lanterne. Une personne tend une fiche à une nouvelle venue, à la lumière d’une lanterne.

    Accueillir

    Faire une place aux nouveaux et les accompagner dans leurs premières contributions.

  2. La nouvelle venue écrit sur la fiche, accompagnée par la personne qui l’a accueillie. La nouvelle venue écrit sur la fiche, accompagnée par la personne qui l’a accueillie.

    Former et relire

    Apprendre en faisant, expliquer les corrections et construire des repères communs.

  3. La nouvelle venue relit seule la fiche d’un autre membre, à la lumière de la lanterne. La nouvelle venue relit seule la fiche d’un autre membre, à la lumière de la lanterne.

    Contribuer en autonomie

    Faire confiance : laisser chacun avancer seul et prendre sa place dans le pôle.

La semaine type

Une semaine que tout le monde peut suivre

Chaque version relançait le travail. J’ai donné au pôle une semaine type, la même pour tous, et un outil pour la faire tourner.

  1. Trello

    Un endroit pour avancer ensemble.

    J’ai centralisé le travail sur un tableau commun pour que chacun puisse retrouver ce qu’il y avait à faire.

  2. Une pull request par semaine

    Faire du travail une livraison.

    Je regroupais les contributions dans une pull request, une proposition de mise à jour adressée au projet multilingue, qui cite chacun.

    La PR #110 et ses huit crédits
  3. Classement hebdomadaire

    Donner envie de se dépasser.

    Chaque semaine, un classement mettait en avant les contributions de chacun.

  4. Récapitulatif individuel

    Prendre le temps de dire merci.

    J’envoyais à chaque contributeur un petit bilan de sa semaine, pour le féliciter et le remercier de son travail.

L’outil du pôle : le Console Manager

Une version sort : l’outil compare le français à l’anglais et écrit, pour chaque entrée manquante, le bloc exact à traduire. Il exporte ce reliquat en cartes prêtes pour le tableau commun, puis tire de chaque pull request le bilan de chacun.

Je l’ai construit pour le pôle français ; il couvre aujourd’hui les 19 langues du projet, intégré au dépôt officiel depuis octobre 2025.

Le résultat

Rattraper le retard

En dix mois, le retard a disparu, alors que le jeu avait gagné 185 plantes. La 4.0 a été traduite avant sa sortie multilingue ; en octobre 2026, la 4.0.5 ajoute 29 entrées à traduire.

La version 4.0 en six jours
  1. Textes d’origine de la 4.0 versés au dépôt
  2. Pull request française fusionnée
  3. Version multilingue publiée
Le rattrapage de la traduction française, relevé après relevé

Huit relevés de l’historique public, du 16/10/2025 au 12/10/2026, consultés le 13/10/2026. Méthode dans les sources, en bas de page.

Les relevés, révision par révision
Entrées manquantes sur entrées anglaises, par catégorie et par révision
DateRévisionPlantesZombiesTextesManquantAnglais
16/10/2025 c623790 218 / 477 76 / 162 1 041 / 1 776 1 335 2 415
15/12/2025 9aaf6ed 89 / 499 93 / 179 1 067 / 1 677 1 249 2 355
15/02/2026 c075005 38 / 552 78 / 191 1 507 / 2 114 1 623 2 857
15/03/2026 99bf30e 0 / 557 67 / 192 1 536 / 2 173 1 603 2 922
16/06/2026 05a1ceb 34 / 631 10 / 214 300 / 3 030 344 3 875
16/07/2026 9428979 0 / 653 0 / 223 12 / 3 464 12 4 340
15/08/2026 c180d82 0 / 662 0 / 224 0 / 3 482 0 4 368
12/10/2026 13d63b1 5 / 721 0 / 236 24 / 3 700 29 4 657
  • 5 179 nouvelles traductions déclarées au bilan du pôle Bilan public, 26/09/2026
  • 583 traductions ajustées au fil des versions Bilan public, 26/09/2026
  • 637 relectures consignées dans mon bilan Bilan public, 26/09/2026

Traduire, c’est suivre des règles qui changent

Trois corrections de mon journal public, semaine du 21/09/2026
EntréeAvantAprès
Four Polaire, recharge 7,5 s 30 s
Four Épicéa, retour au Four Polaire 210 s 125 s
Carambole Maître-épéiste « à portée infinie » « à perforation infinie »

Réaligner une fiche sur la version anglaise, c’est reprendre ses chiffres et corriger ses contresens.

Ce que ça change pour un joueur

  • Choisissez Vos Plantes
  • C’est Parti !
  • Voir l’Almanach
  • Reprendre
  • Recommencer

Les commandes en français.

Extraits des menus, mis en page pour cette démonstration : leur source

Sous le capot

Trois décisions d’organisation, et l’outil qui les tient.

  1. Un outil qui compare chaque langue à l’anglais code
    Contrainte
    Une nouvelle version du jeu sort chaque mois environ, et personne ne sait ce qui manque.
    Choix
    Un outil qui compare chaque langue à l’anglais et écrit le bloc exact à traduire.
    Effet
    Chaque version devient une liste de tâches, entrée par entrée.
    Le code du Console Manager
    src/core/diff.ts · TypeScript
    /** Entries from `source` whose `id` does not appear in `target`. */
    export function missingById<T extends HasId>(source: Iterable<T>, target: Iterable<T>): T[] {
      const targetIds = new Set<Id>();
      for (const item of target) targetIds.add(item.id);
      return [...source].filter((item) => !targetIds.has(item.id));
    }
  2. Une carte de tâche par entrée manquante code
    Contrainte
    Des bénévoles qui arrivent sans savoir par où commencer.
    Choix
    Une carte de tâche par entrée manquante : chacun prend ce qu’il peut traduire.
    Effet
    Chacun prend une tâche à sa mesure, jusqu’à dix en même temps au plus fort.
    src/reporting/trello-csv.ts · TypeScript
    /** Trello CSV + import README generation. */
    export const CSV_HEADER = ["Name", "Description", "Labels", "List"] as const;
  3. Une pull request par semaine, qui crédite chacun code
    Contrainte
    Un travail bénévole reste invisible si personne ne le nomme.
    Choix
    Une pull request par semaine qui crédite chacun, et un bilan individuel tiré de l’outil.
    Effet
    Douze personnes créditées en plus de moi ; la PR #110 en crédite huit, moi compris.
    La PR #110
    src/tools/pr-resume/index.ts · TypeScript
    /** PR recap → per-contributor documentation blocks.
     *
     * Ported from the standalone `pvzf-make-pr` CLI. Turns the weekly translation
     * PR recap into one markdown block per contributor, ready to archive under the
     * contributor documentation.
     */

Ce que j’en retiens

Ce dont je suis le plus fier : des personnes arrivées sans compétences, parfois avec du mal à travailler en groupe, et qui ont fini ancrées dans la communauté et brillantes sur la technique.

Sources et méthode : chiffres, dates, méthode et crédits

Le jeu et l’outil. Du 12/08/2025 au 01/10/2026, la liste des versions du projet multilingue compte 25 publications (PC, Android et préversions) pour 15 versions distinctes du jeu, de la 2.8.1 à la 4.0.5 : une version du jeu toutes les quatre semaines environ. Relevé le 13/10/2026. À la révision c623790 (16/10/2025), le README du projet donne le jeu en 3.0.1 et le français en « Last Updated 2.3.1 ». Le Console Manager affiche le badge « locales 19 » dans son dépôt ; il est entré dans le dépôt officiel par la pull request #23, fusionnée le 31/10/2025.

Couverture. Mesurée par clé sur la branche principale du projet multilingue : pour chaque révision, les entrées présentes en anglais, la langue pivot, et absentes en français, dans les fiches des plantes, celles des zombies et les textes d’interface. Huit révisions, de c623790 (16/10/2025) à 13d63b1 (12/10/2026), relevées le 13/10/2026. Une entrée présente mais obsolète n’est pas comptée : c’est une mesure de couverture, pas de qualité.

Volumes. Le bilan du pôle, figé au 26/09/2026, déclare 5 179 nouvelles traductions : 4 862 dans mon bilan, 317 dans ceux des douze autres membres du bilan. Ce sont des entrées cumulées au fil des versions, pas des textes uniques ni un taux de couverture. Les 583 ajustements se comptent à part ; les 637 relectures sont mon compteur, pas celui du pôle. Le journal détaillé de mon bilan donne 4 853 nouvelles traductions et 293 ajustements : les synthèses et les journaux présentent ces écarts, conservés tels quels.

Pull requests. Les 35 pull requests ont été ouvertes par mon compte entre le 16/10/2025 et le 26/09/2026, et toutes fusionnées ; elles ne correspondent pas à 35 semaines consécutives. La 4.0 : textes d’origine versés le 20/09/2026, pull request française fusionnée le 26/09, version multilingue publiée le 01/10.

Rôles et équipe. Dates des rôles et des arrivées : journaux publics des membres du pôle, dont le mien ; c’est aussi là que se lisent les corrections citées. Ma première pull request, ouverte le 16/10/2025 et fusionnée le 21/10, précède mon entrée au journal comme traducteur, datée du 21/10/2025. Ces journaux ne consignent que neuf arrivées, sur les vingt personnes formées. Les 20 personnes formées, le pic de dix contributeurs en même temps, le tableau commun, le classement hebdomadaire, les récapitulatifs individuels et le rythme d’une pull request par semaine viennent de mon témoignage du 13/10/2026 ; aucun message privé n’est reproduit. Les extraits de menus viennent des textes sources, lignes 40 à 51.

Sous le capot. Les extraits viennent du Console Manager, dépôt public, à la révision 492c8de de sa branche principale, lue le 15/10/2026.