--- title: Weblate created: 2026-06-07 updated: 2026-06-07 type: app tags: [catalogue, development, traduction, i18n, localisation, crowdsourcing] confidence: high contested: false sources: [https://selfh.st/apps/?tag=Development, https://github.com/WeblateOrg/weblate] --- # đŸ’» Weblate > **Plateforme de traduction collaborative web** (crowdsourcing) avec gestion de versions, intĂ©gration Git/VCS, mĂ©moire de traduction et automatisation. UtilisĂ© par Mozilla, Red Hat, GNOME, KDE et de nombreuses autres organisations. ## 📋 Informations GĂ©nĂ©rales | Champ | Valeur | | :--- | :--- | | **Site web** | [weblate.org](https://weblate.org/) | | **GitHub** | [WeblateOrg/weblate](https://github.com/WeblateOrg/weblate) | | **License** | GPL-3.0 | | **Langage** | Python (Django) | | **Étoiles GitHub** | 5 903 ⭐ | | **CatĂ©gorie** | [[cat-development\|Development]] | | **Note** | **AdoptĂ© par Mozilla, Red Hat, GNOME, KDE, OpenStreetMap, Nextcloud, F-Droid** — rĂ©fĂ©rence du domaine. **Self-hostable** est la voie majoritaire. | ## 📝 Description **Weblate** est une **plateforme de localisation (L10n) et traduction collaborative** basĂ©e sur le web. Elle gĂšre le cycle complet de la traduction d'un logiciel ou d'un site : **FonctionnalitĂ©s principales** : - **Interface web de traduction** : Ă©diteur visuel, suggestions, contexte, captures d'Ă©cran - **VCS integration** : push automatique des traductions vers **Git, Mercurial, Subversion** - **Multi-format** : PO, XLIFF, JSON, YAML, .properties Android, .strings iOS, .ts Qt, etc. - **Crowdsourcing** : ouverture Ă  des contributeurs externes (traducteurs volontaires) - **MĂ©moire de traduction** : rĂ©utilisation de traductions entre projets - **Glossaire** : terminologie unifiĂ©e - **Traduction automatique** : API DeepL, Google Translate, OpenAI, AWS - **Quality checks** : cohĂ©rences, fautes, placeholders - **Workflow de validation** : review, approval - **Webhooks** : notification CI/CD, Slack - **API REST** complĂšte - **Multi-projets, multi-composants, multi-langues** **Pourquoi pas POEditor, Crowdin, Lokalise** ? Ce sont des services **SaaS payants**. Weblate est **open source et self-hosted**. **Cas d'usage** : - **Projets open source** : permettre Ă  la communautĂ© de traduire - **Entreprises** : internalisation produits, logiciels internes - **Apps mobile / web** : gĂ©rer les fichiers `.json` / `.strings` / `.xml` - **Documentation multilingue** ## 🚀 Installation ### Via Docker Compose (mĂ©thode officielle) ```yaml # docker-compose.yml version: '3.8' services: weblate: image: weblate/weblate:latest container_name: weblate restart: unless-stopped hostname: weblate.example.com depends_on: - db - cache environment: - WEBLATE_EMAIL_HOST=*** - WEBLATE_EMAIL_HOST_USER=velli@example.com - WEBLATE_EMAIL_HOST_PASSWORD=*** - WEBLATE_ALLOWED_HOSTS=weblate.example.com - WEBLATE_ADMIN_PASSWORD=*** - WEBLATE_ADMIN_EMAIL=velli@example.com - WEBLATE_SITE_DOMAIN=weblate.example.com - WEBLATE_SECRET_KEY=*** - WEBLATE_DATABASE_URL=postgresql://weblate:***@db:5432/weblate - WEBLATE_REDIS_URL=redis://cache:6379/0 volumes: - weblate-data:/app/data labels: - "traefik.enable=true" - "traefik.http.routers.weblate.rule=Host(`weblate.example.com`)" - "traefik.http.routers.weblate.entrypoints=websecure" - "traefik.http.services.weblate.loadbalancer.server.port=8080" networks: - proxy db: image: postgres:15 container_name: weblate-db restart: unless-stopped environment: - POSTGRES_DB=weblate - POSTGRES_USER=weblate - POSTGRES_PASSWORD=*** volumes: - weblate-db:/var/lib/postgresql/data networks: - proxy cache: image: redis:7 container_name: weblate-cache restart: unless-stopped networks: - proxy volumes: weblate-data: weblate-db: networks: proxy: external: true ``` ## ⚙ Configuration 1. **Premier dĂ©marrage** : admin auto-créé (`WEBLATE_ADMIN_PASSWORD`) 2. **VCS (Git)** : ajouter une **clĂ© SSH** dans Weblate pour push/pull auto 3. **Composants** : un composant = un fichier source (ex. `locales/fr/LC_MESSAGES/django.po`) 4. **Langues** : activer uniquement les langues cibles voulues 5. **Traducteurs** : crĂ©er des utilisateurs ou autoriser les **inscriptions libres** (crowdsourcing) 6. **Hooks** : configurer webhooks [[app-forgejo]] / [[app-gitlab]] pour push auto sur commit 7. **Backups** : DB PostgreSQL + `/app/data` (clĂ© secrĂšte, avatars, customisations) ## 🔗 Alternatives - **Pootle** (Translate House) — Plus ancien, plus simple, moins maintenu - **Zanata** (Red Hat) — Concurrent JBoss, en pause - **Transifex** — SaaS leader, payant - **Crowdin** — SaaS, freemium - **Lokalise** — SaaS moderne, TMS pro - **Tolgee** (JS) — Auto-hĂ©bergeable, plus moderne, plus orientĂ© devs - **Traduora** — Open source, en pause ## 🔒 SĂ©curitĂ© - **HTTPS obligatoire** : Weblate gĂšre l'auth et les secrets - **Auth externe** : OIDC, OAuth (GitHub, GitLab, Gitea, Google) - **2FA** : activable par utilisateur - **Permissions granulaires** : admin, traducteur, reviewer - **Validation manuelle** : Ă©viter de pousser des traductions non revues vers la prod - **Audit** : qui a modifiĂ© quoi - **Backups** : PostgreSQL + volume `/app/data` - **Rate limiting** : Weblate peut ĂȘtre cible de spam (formulaires d'inscription) ## 📚 Ressources - [Documentation officielle](https://docs.weblate.org/) - [GitHub WeblateOrg/weblate](https://github.com/WeblateOrg/weblate) - [Liste des projets qui utilisent Weblate](https://weblate.org/uses/) - [Weblate.org (cloud)](https://weblate.org/) ## 🔗 Pages LiĂ©es - [[cat-development]] — CatĂ©gorie Development - [[app-forgejo]] / [[app-gitlab]] / [[app-gitea]] — Forges Git (intĂ©gration VCS) - [[app-traefik]] — Reverse proxy - [[securisation-home-lab]] — Bonnes pratiques - [[recettes-docker-compose]] — Templates Docker