# General Translation Knowledge Base: General Translation ou Weblate : lequel choisir ?
URL: https://generaltranslation.com/fr/kb/general-translation-vs-weblate.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Weblate est une plateforme de localisation auto-hébergeable basée sur Git, conçue pour traduire les fichiers d’un dépôt avec une communauté ou une équipe. General Translation intègre la génération des traductions au développement et aux livraisons, en s’appuyant sur du JSX balisé et un contexte produit partagé. Conservez vos fichiers gettext, ou adoptez la rédaction directement dans le code pour vous affranchir aussi de la maintenance du catalogue source.
Category: Outils de workflow
Last updated: 2026-10-16
Authors: Kevin Wu, Jackie Chen
Published: 2026-10-16

Weblate est une plateforme de traduction web open source construite autour de Git. Vous connectez un dépôt, Weblate lit ses fichiers de traduction, des traducteurs ou des services de traduction configurés les complètent, puis Weblate commite les résultats ou ouvre une pull request. C’est un choix répandu pour les projets open source qui s’appuient sur des traducteurs bénévoles. General Translation intègre la génération des traductions à votre compilation : les nouveaux textes et leurs traductions peuvent être publiés dans la même livraison, et votre équipe peut les relire dans le tableau de bord.

## Les points forts de Weblate

* **Open source sous copyleft.** Weblate est [distribué sous licence GPL-3.0-or-later](https://github.com/WeblateOrg/weblate) : vous pouvez télécharger et exécuter l&#39;intégralité de la plateforme gratuitement, et des formules d&#39;assistance payantes sont proposées si vous souhaitez de l&#39;aide pour l&#39;installer et la maintenir.
* **Hébergement gratuit pour les projets libres.** La version hébergée de Weblate tourne sur une infrastructure située dans l&#39;UE, et les projets libres publics peuvent bénéficier gratuitement de son offre Libre, avec les mêmes limites que son offre à 160 000 chaînes.
* **Localisation continue basée sur Git.** Weblate récupère les modifications lorsque votre forge envoie un webhook (ou lors d&#39;une récupération quotidienne), enregistre les traductions par commits différés regroupant les modifications par auteur, puis les pousse vers votre branche ou [ouvre des pull requests](https://docs.weblate.org/en/latest/vcs.html) sur GitHub, GitLab, Gitea, Bitbucket, Azure DevOps et Pagure. La version hébergée de Weblate peut également se connecter via une GitHub App.
* **Prise en charge très étendue des formats de fichiers.** La documentation de Weblate recense [une cinquantaine de formats](https://docs.weblate.org/en/latest/formats.html), dont gettext PO, XLIFF 1.2 et 2.0, les chaînes Android et Apple, ARB, i18next JSON, Fluent, les fichiers properties Java, .NET RESX, Ruby YAML, les chaînes PHP et Laravel, Qt Linguist, CSV, Excel et Markdown.
* **Des modules complémentaires pour les tâches répétitives sur les fichiers.** Les [modules intégrés](https://docs.weblate.org/en/latest/admin/addons.html) mettent à jour les fichiers PO à partir d&#39;un modèle POT, génèrent les fichiers MO, fusionnent les commits et lancent la traduction automatique.
* **Traduction automatique et LLM.** Les [intégrations](https://docs.weblate.org/en/latest/admin/machine.html) comprennent DeepL, Google, Azure, Amazon et LibreTranslate, ainsi qu&#39;OpenAI, Azure OpenAI, Anthropic, Mistral et Ollama, dont les prompts intègrent les termes du glossaire pertinents et vos paramètres de style, en complément de la mémoire de traduction propre à Weblate.
* **Contrôles qualité.** [Des dizaines de contrôles](https://docs.weblate.org/en/latest/user/checks.html) portent sur les espaces réservés, les formes du pluriel manquantes, la longueur maximale, la syntaxe ICU MessageFormat et les traductions inchangées, tandis que des corrections automatiques rectifient les espaces et les points de suspension.
* **Traduction communautaire.** Les bénévoles peuvent suggérer des traductions et laisser des commentaires, les relecteurs les approuvent, et un projet peut choisir de [ne valider que les chaînes approuvées](https://docs.weblate.org/en/latest/workflows.html). Les captures d&#39;écran, les glossaires et les références sources apportent du contexte aux traducteurs.

## Ce que Weblate laisse encore à la charge de vos ingénieurs

Voici une application Python qui utilise gettext, avec un catalogue espagnol traduit avant l&#39;ajout de la dernière ligne :

```python title="app.py"
import gettext
t = gettext.translation("messages", localedir="locale", languages=["es"])
_ = t.gettext
print(_("Inbox"))
print(_("No messages yet."))  # nouveau texte, ajouté après la dernière vague de traduction
```

Une fois le modèle POT extrait, seul &quot;Inbox&quot; traduit dans `locale/es/LC_MESSAGES/messages.po` et le fichier compilé avec Babel 2.17.0, un lecteur hispanophone voit la nouvelle ligne s&#39;afficher en anglais :

```text title="Output"
Bandeja de entrada
No messages yet.
```

Cette ligne reste en anglais tant qu&#39;un cycle complet n&#39;est pas terminé :

1. Encapsulez la chaîne de caractères dans `_()` et régénérez le modèle POT avec `xgettext` ou `pybabel extract`, puis commitez-le.
2. Weblate détecte la modification via un webhook ou lors de sa prochaine récupération, et son module complémentaire `msgmerge` ajoute la nouvelle entrée à chaque fichier PO.
3. Faites traduire par des bénévoles, des traducteurs ou la traduction automatique configurée, puis relisez les résultats si vous exigez une validation.
4. Weblate commite les modifications, puis les pousse ou ouvre une pull request. Votre processus de livraison les fusionne, compile les fichiers MO et déploie.

Modifier ces mêmes fichiers en dehors de Weblate peut provoquer des conflits de fusion, que [la documentation de Weblate recommande d&#39;éviter](https://docs.weblate.org/en/latest/admin/continuous.html#avoiding-merge-conflicts-by-locking-weblate-while-doing-outside-changes) en verrouillant le composant pendant que vous modifiez les fichiers. Par ailleurs, un traducteur voit chaque chaîne de caractères avec ses références sources et ses captures d&#39;écran, mais pas le code qui l&#39;affiche.

L&#39;auto-hébergement est gratuit. La version hébergée de Weblate est facturée au nombre de chaînes hébergées, c&#39;est-à-dire le nombre de chaînes sources multiplié par le nombre de langues plus une, et chaque offre inclut un nombre illimité de langues, de projets et de traducteurs. (Voir [Weblate hosting](https://weblate.org/en/hosting/), consulté en octobre 2026.)

## Weblate et General Translation en un coup d’œil

| Fonctionnalité            | Weblate                                                                                                                                 | General Translation                                                                                                                                             |
| ------------------------- | --------------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| Emplacement des chaînes   | Fichiers de traduction dans votre dépôt, reproduits dans les composants Weblate                                                         | Dans votre code, à l’intérieur de [`<T>`](/docs/react/reference/components/t), ou dans vos fichiers de ressources existants                                     |
| Connexion au code         | Weblate récupère les modifications depuis Git, puis pousse des commits ou ouvre des pull requests                                       | [`npx gt translate`](/docs/cli/reference/commands/translate) lors de votre compilation, ou pull requests [Locadex](/docs/platform/locadex/quickstart)           |
| Qui traduit               | Bénévoles, vos traducteurs, traduction automatique ou LLM                                                                               | IA exploitant le contexte de votre code, le glossaire et les instructions personnalisées, avec relecture par votre équipe dans le tableau de bord               |
| Contexte de chaque chaîne | Références sources, captures d’écran, glossaire et mémoire de traduction                                                                | Structure JSX balisée avec les bibliothèques intégrées ; contexte source dans les catalogues pris en charge ; glossaire et instructions personnalisées partagés |
| Formats de fichiers       | Une cinquantaine, dont XLIFF, ARB, Fluent et les fichiers properties Java                                                               | JSON, YAML, PO, Markdown et MDX, chaînes iOS et Android, et bien d’autres                                                                                       |
| Hébergement               | Auto-hébergement gratuit, ou version hébergée de Weblate                                                                                             | Plateforme hébergée ; bibliothèques et CLI open source                                                                                                          |
| Tarification              | Auto-hébergement gratuit ; offres hébergées selon le nombre de chaînes hébergées ; offre Libre gratuite pour les projets libres publics | [Traduction facturée à l’usage](https://generaltranslation.com/pricing)                                                                                         |
| Licence                   | GPL-3.0-or-later                                                                                                                        | Bibliothèques JavaScript et CLI sous licence MIT                                                                                                                |

## Pourquoi les équipes choisissent General Translation plutôt que Weblate

General Translation intègre la traduction à la livraison qui introduit les nouveaux textes. Conservez gettext et générez les fichiers PO lors de votre compilation, ou utilisez les bibliothèques intégrées pour garder le texte source directement dans les composants, à l’intérieur de [`<T>`](/docs/react/reference/components/t).

* **Plus rapide.** [`npx gt translate`](/docs/cli/reference/commands/translate) génère les traductions avant le déploiement. Pour les projets React et Next.js, [Locadex](/docs/platform/locadex/quickstart) peut préparer les modifications sous forme de pull requests. Ajouter un paramètre régional dans `gt.config.json` lance la génération pour cette langue dès la prochaine exécution.
* **Moins coûteux à exploiter.** General Translation gère le service de traduction : votre équipe n’a aucun serveur de traduction à installer, mettre à jour ou sauvegarder. Avec la rédaction directement dans le code, les ingénieurs n’ont plus non plus à maintenir de catalogue source distinct.
* **Meilleure qualité.** Avec la traduction intégrée, les éléments et les branches de pluriel du JSX balisé accompagnent la phrase. Pour gettext, les commentaires du code source et `msgctxt` précisent le sens de chaque entrée. Les [groupes de contexte](/docs/platform/dashboard/guides/defining-context-for-translations) partagés appliquent votre glossaire et vos instructions personnalisées, et votre équipe peaufine le résultat dans l’[Éditeur de Traduction du tableau de bord](/docs/platform/dashboard/guides/reviewing-translations).
* **Moins de risques.** Les fichiers traduits sont stockés dans votre dépôt, et c’est votre processus de livraison qui décide du moment de leur publication. Conservez gettext et des fichiers PO standard, ou utilisez les bibliothèques JavaScript de General Translation sous licence MIT avec des traductions incluses dans le bundle ; aucune de ces deux options ne nécessite d’appel à General Translation à l’exécution.

La plateforme et la documentation de Profound sont disponibles dans plus de 47 paramètres régionaux grâce à General Translation. (Voir les [déploiements en production](https://generaltranslation.com/enterprise).)

## Quand Weblate est le meilleur choix

Optez pour Weblate si vous recherchez la traduction communautaire, une plateforme entièrement auto-hébergée ou une prise en charge étendue des formats de catalogue. Choisissez General Translation si vous souhaitez que les nouveaux textes de votre produit soient traduits dans le cadre de chaque livraison, avec le contexte du code pour la rédaction directement dans le code et une prise en charge directe via la CLI de vos fichiers JSON, YAML, PO ou Markdown existants.

## Utiliser les deux outils sur des fichiers gettext

La CLI de General Translation traduit les mêmes fichiers gettext que ceux lus par Weblate. Faites pointer une entrée `pot` vers votre modèle et associez chaque sortie à l&#39;arborescence de dossiers utilisée par Weblate :

```json title="gt.config.json"
{
  "defaultLocale": "en",
  "locales": ["es", "fr", "pl"],
  "files": {
    "pot": {
      "include": ["locale/messages.pot"],
      "transformationFormat": "PO",
      "transform": {
        "match": "locale/messages\\.pot",
        "replace": "locale/{locale}/LC_MESSAGES/messages.po"
      }
    }
  }
}
```

Avec `gt` 2.26.5, cette configuration fait correspondre `locale/messages.pot` à `locale/es/LC_MESSAGES/messages.po`, et au chemin équivalent pour chaque paramètre régional. Pour les entrées plurielles, General Translation écrit l&#39;en-tête `Plural-Forms` de la langue cible et remplit chaque forme `msgstr[n]`. Confiez chaque langue à un seul responsable, par exemple General Translation pour les langues que votre communauté ne couvre pas et les bénévoles de Weblate pour les autres, afin que les deux ne modifient jamais le même fichier. Si vos noms de dossiers gettext contiennent des traits de soulignement, comme `pt_BR`, ajoutez une entrée [`customMapping`](/docs/cli/reference/config#custom-mapping) qui les fait correspondre au format standard `pt-BR`. (Voir [PO / POT](/docs/cli/reference/formats/po-pot-files).)

## General Translation est-il une alternative à Weblate ?

Oui. General Translation intègre à votre processus de livraison la génération des traductions, une terminologie produit partagée et la relecture dans le tableau de bord. Vous pouvez conserver les fichiers gettext présentés ci-dessus et modifier simplement la façon dont leurs traductions sont produites, sans toucher aux appels gettext de l&#39;application.

## Points clés

* Weblate est une plateforme sous licence copyleft forte, pensée pour la traduction open source et communautaire. Elle propose une localisation continue basée sur Git, un auto-hébergement gratuit et la prise en charge d&#39;environ 50 formats de fichiers.
* Son workflow de traduction repose sur les catalogues du dépôt, les contributeurs et la synchronisation Git.
* General Translation génère les traductions avant le déploiement. Vous pouvez conserver gettext et les fichiers PO standard, ou adopter la rédaction directement dans le code pour bénéficier du contexte du code sans catalogue source distinct.

## Related questions

- [Pourquoi utiliser General Translation plutôt qu’un TMS (Smartling, Lokalise, Phrase, Crowdin ou Transifex) ?](https://generaltranslation.com/fr/kb/general-translation-vs-tms.mdx): Un système de gestion de la traduction (TMS) comme Smartling, Lokalise, Phrase, Crowdin ou Transifex coordonne les traducteurs, mais les ingénieurs doivent toujours extraire les chaînes, les envoyer, attendre les traductions, puis les réintégrer dans le produit. General Translation traduit le contenu directement dans votre code, avec son contexte, fournit toutes les langues à chaque livraison et repose sur des bibliothèques open source, sans dépendance à un fournisseur.
- [General Translation ou GNU gettext : avez-vous besoin des deux ?](https://generaltranslation.com/fr/kb/general-translation-vs-gettext.mdx): Conservez GNU gettext pour l’extraction et l’affichage, et ajoutez General Translation pour générer et maintenir les fichiers PO. General Translation tient compte des notes aux traducteurs et du contexte des messages lors de la génération, applique une terminologie partagée et met à la disposition des relecteurs un éditeur dans le tableau de bord. Vos appels gettext existants et vos catalogues compilés restent en place.
- [General Translation ou Tolgee : lequel choisir ?](https://generaltranslation.com/fr/kb/general-translation-vs-tolgee.mdx): Tolgee associe messages à clés, édition en contexte et traduction par IA au sein d’une plateforme auto-hébergeable. General Translation conserve un texte lisible directement dans vos composants et génère les traductions à partir du JSX balisé, ce qui vous permet de publier de nouveaux contenus dans toutes les langues sans maintenir de clés de messages.
- [General Translation ou le framework de traduction de Django : avez-vous besoin des deux ?](https://generaltranslation.com/fr/kb/general-translation-vs-django-i18n.mdx): Utilisez conjointement le framework de traduction de Django et General Translation. Django gère l’extraction des messages, la sélection de la langue et l’affichage. General Translation remplit ses fichiers PO, formes du pluriel comprises, avec la terminologie de votre produit et une relecture dans le tableau de bord. Vos modèles et vos motifs d’URL restent inchangés, tandis que les traductions évoluent au rythme de votre code.
- [Quel est le meilleur logiciel de localisation pour les développeurs ?](https://generaltranslation.com/fr/kb/best-localization-software.mdx): Privilégiez un système unique qui couvre l’ensemble du pipeline, de la bibliothèque i18n dans votre code jusqu’à la traduction et la livraison, plutôt que d’assembler tant bien que mal une bibliothèque, un système de gestion de la traduction et un prestataire de traduction distincts.

## Previous and next questions

- Previous question: [General Translation ou vue-i18n : lequel choisir ?](https://generaltranslation.com/fr/kb/general-translation-vs-vue-i18n.mdx)
- Next question: [General Translation vs i18next, react-intl et next-intl : quelle bibliothèque d’i18n choisir ?](https://generaltranslation.com/fr/kb/general-translation-vs-i18n-libraries.mdx)

## Sitemap

See the [Knowledge Base sitemap](https://generaltranslation.com/fr/kb/sitemap.md) for every article.
