La localisation que vos agents IA pilotent
Envoyez n'importe quel fichier de traduction. Claude le traduit avec votre glossaire et vos règles, les chaînes identiques sont partagées entre toutes vos apps, et vos agents relisent, auditent et corrigent via MCP, CLI et API.
Une alternative à Crowdin par Meter. Voir la comparaison.
Le problème
La gestion des traductions a été conçue avant que les agents puissent faire le travail
Crowdin et les outils similaires excellent à coordonner des traducteurs humains. La plupart des équipes qui livrent des apps aujourd'hui veulent autre chose : une traduction automatique fiable et un workflow que leurs agents peuvent mener de bout en bout.
Comment cela fonctionne
Du fichier source à toutes les langues en quatre ops
- 1
push_fileEnvoyez n'importe quel fichier
Envoyez le fichier source depuis votre dépôt, votre CI ou votre agent. Le format est détecté ; les chaînes sont rapprochées de toutes les autres apps de l'espace de travail.
- 2
translateClaude traduit
Les nouvelles chaînes sont traduites dans toutes les langues cibles avec leur contexte, votre glossaire et vos règles. Les placeholders sont vérifiés sur chaque chaîne.
- 3
claim_tasksLes agents relisent
Les traductions peu sûres, les fusions ambiguës et les constats d'audit arrivent dans une file qu'un agent traite en quelques minutes.
- 4
pull_fileRécupérez toutes les langues
Récupérez chaque langue dans le format et l'arborescence d'origine du fichier, avec les commentaires conservés quand le format en a.
npx @meterapp/glossa push locales/en.json --project webnpx @meterapp/glossa pull --project web --locale es,fr,deFormats
Tous les formats que vos apps utilisent déjà
12 formats sont intégrés. Envoyez-en un qu'il n'a jamais vu et l'IA écrit un modèle à partir de votre fichier, que vous approuvez une fois et réutilisez pour toujours.
File de relecture
Une file de relecture qu'un agent traite à toute vitesse
Chaque décision qui demande du jugement devient une petite tâche avec tout le nécessaire pour trancher et une courte liste d'actions. Les agents réservent un lot, décident et résolvent. Chaque résolution passe par les mêmes ops qu'une personne utiliserait.
merge_reviewDes clés de plusieurs apps partagent un texte. Même sens, ou séparer ?translation_reviewLe modèle n'était pas sûr, ou un placeholder n'a pas survécu.audit_findingUn audit a trouvé un problème et propose une correction.rule_suggestionUn audit propose une règle pour toutes les futures traductions.glossary_suggestionUn terme à fixer ou à ne jamais traduire.learn_formatL'IA a écrit un modèle pour un nouveau format de fichier.
curl -X POST https://getglossa.dev/api/v1/claim_tasks \ -H "Authorization: Bearer gls_…" \ -d '{"kind":"translation_review","limit":20}'
curl -X POST https://getglossa.dev/api/v1/resolve_task \ -H "Authorization: Bearer gls_…" \ -d '{"task":"…","action":"edit","text":"Iniciar sesión","note":"Use the infinitive for buttons"}'Déduplication
Corrigé une fois, corrigé partout
Chaque clé pointe vers une unité : une chaîne source avec une traduction par langue, partagée par toutes les clés de tous les fichiers et apps qui utilisent le même texte. Quand le contexte indique que les mêmes mots ont des sens différents, la clé obtient sa propre unité.
Une traduction par langue, relue une seule fois. split_key sépare une clé dont le contexte diffère ; merge_units fusionne les quasi-doublons.
Traductions périmées
Modifiez l'anglais, ne livrez jamais l'ancienne traduction
Quand une chaîne source change de sens, toutes les traductions écrites pour l'ancien texte sont périmées. Glossa le détecte au push, retraduit la chaîne et refuse d'importer l'ancienne formulation encore présente dans vos fichiers de traduction.
Les modifications de casse et de placeholders conservent leurs traductions. Désactivez retranslate_stale pour garder plutôt l'ancienne formulation dans la file de relecture, et vérifiez une version avec list_stale_translations.
Porte de release
Chaque version de production est livrée entièrement traduite
Ajoutez une étape avant votre déploiement. Glossa compte les chaînes du commit en cours de build, attend que les nouvelles soient traduites et fait échouer le job si une langue manque une chaîne ou si le build contient des traductions plus anciennes que celles de Glossa.
- Ce commit uniquementLes chaînes poussées plus tard depuis d'autres branches ne bloquent jamais un déploiement. Les chaînes jamais poussées le bloquent toujours.
- Les fichiers du buildChaque fichier de langue est comparé par SHA-256 avec ce que pull écrit maintenant, pour qu'une copie périmée ne parte jamais en production.
- N'importe quelle CIIl renvoie le code 1 quand la version n'est pas prête. Sur GitHub Actions, il écrit aussi un résumé du job indiquant ce qui manque.
npx @meterapp/glossa sync --wait 10m # push new strings, wait for translation, pull every localenpx @meterapp/glossa check # exit 1: not readyAudits et règles
Des traductions qui s'améliorent avec le temps
Posez une question sur une langue et obtenez une réponse, un score et une liste de corrections. Ce qui revient sans cesse devient une règle ou un terme de glossaire, pour que le lot suivant ne le répète pas.
- 01 · run_auditDemander« Que vaut notre espagnol ? Sommes-nous cohérents entre tú et usted ? »
- 02 · audit_findingTrouverL'audit note la langue et signale chaque problème avec une correction proposée.
- 03 · resolve_taskCorrigerUn agent ou une personne applique, modifie ou écarte chaque constat.
- 04 · add_ruleApprendreLes problèmes récurrents deviennent des termes de glossaire et des règles que chaque future traduction respecte.
Chaque action est une API
92 ops. Le tableau de bord, REST, MCP et la CLI appellent tous les mêmes.
Chaque op a un nom, un schéma d'entrée et un handler. Le tableau de bord n'a aucun endpoint privé : tout ce que vous pouvez cliquer, un agent peut l'appeler.
Settings, stats and the activity log.
Apps or repos, each with its source and target locales.
Deduplicated units, translations, merges and splits.
App Store and Google Play reviews per language, read as context for store listings and marketing copy.
Members, teams, project sharing and the audit log.
Plans, prices, checkout links and the subscription.
Request features, report issues and upvote what matters to you.
Intégrations
Fonctionne là où vos agents travaillent déjà
Connectez Claude Code, Codex ou Cursor au serveur MCP, ou exécutez la CLI dans GitHub Actions à chaque push.
claude mcp add --transport http glossa https://getglossa.dev/api/mcp \ --header "Authorization: Bearer gls_…"# ~/.codex/config.toml
[mcp_servers.glossa]
url = "https://getglossa.dev/api/mcp"
bearer_token_env_var = "GLOSSA_API_KEY"{ "mcpServers": { "glossa": { "url": "https://getglossa.dev/api/mcp", "headers": { "Authorization": "Bearer gls_…" } } }}# .github/workflows/translations.ymlname: Translationson: push: branches: [main] paths: ["locales/en.json"]jobs: sync: runs-on: ubuntu-latest steps: - uses: actions/checkout@v4 - run: npx @meterapp/glossa push locales/en.json --project web env: GLOSSA_API_KEY: ${{ secrets.GLOSSA_API_KEY }}npx @meterapp/glossa loginnpx @meterapp/glossa push locales/en.json --project webnpx @meterapp/glossa pull --project web --locale es,fr,denpx @meterapp/glossa run_audit --locale es --question "Are brand names consistent?"Configuration complète, y compris la connexion OAuth et le plugin, dans le guide MCP.
FAQ
Questions
Glossa est un système de gestion des traductions conçu autour de l'IA. Vous poussez vos fichiers de traduction dans le format qu'utilisent vos applications, Claude les traduit en suivant votre glossaire et vos règles, et chaque chaîne est dédupliquée entre fichiers et applications. Tout ce que vous pouvez faire dans le tableau de bord est aussi un appel d'API, un outil MCP et une commande CLI : les agents de code peuvent donc gérer votre localisation.
JSON (y compris i18next), YAML, Xcode String Catalogs (.xcstrings), Apple .strings et .stringsdict, Android strings.xml, gettext PO, XLIFF 1.2 et 2.0, Flutter ARB, Java .properties, .NET RESX et CSV/TSV. Lorsque vous poussez un format encore inconnu, l'IA rédige à partir d'un exemple un modèle réutilisable, que vous ne relisez qu'une seule fois.
Claude Opus. Chaque prompt inclut le contexte de la chaîne, votre glossaire (les noms de marque ne sont jamais traduits) et vos règles permanentes pour cette langue, et chaque traduction est vérifiée pour s'assurer qu'elle conserve les variables de la source.
Les chaînes source identiques dans tous vos fichiers et applications partagent une même unité, avec une seule traduction par langue. Corrigez une fois « Sign in » en espagnol, et toutes les clés qui l'utilisent sont corrigées. Lorsqu'un même texte a des sens différents (« Open » le verbe et « Open » le statut d'un magasin), la clé est séparée dans sa propre unité, et la file de relecture vous interroge sur les fusions qui semblent ambiguës.
Lorsqu'une chaîne source change de sens, ses traductions deviennent obsolètes. Lors du push, la clé passe à son nouveau texte et est retraduite (par Claude, ou remise sur la liste de votre agent), et un fichier de traduction qui contient encore l'ancienne formulation n'est pas importé sur le nouveau texte. Les modifications de casse et de variables conservent leurs traductions. Les projets qui préfèrent une décision humaine peuvent désactiver la retraduction : l'ancienne traduction reste alors en place, marquée à relire, jusqu'à ce que quelqu'un l'approuve ou la corrige.
Oui. Ajoutez le serveur MCP à l'adresse /api/mcp avec une clé API, ou installez le plugin, et l'agent dispose d'un outil par opération : pousser et récupérer des fichiers, rechercher des chaînes, traiter la file de relecture, lancer des audits, ajouter des règles. Les mêmes opérations sont disponibles via REST (POST /api/v1/{op}) et la CLI (npx @meterapp/glossa).
Crowdin est conçu autour de traducteurs humains travaillant dans un éditeur, la traduction automatique et l'IA venant en complément. Glossa part du principe que l'IA traduit et que les agents relisent : l'API couvre donc chaque action, les chaînes sont dédupliquées entre projets et les audits transforment les corrections en règles. Crowdin propose un catalogue d'intégrations bien plus vaste, une place de marché de traducteurs et des fonctionnalités de gestion des prestataires que Glossa ne cherche pas à égaler.
Glossa est gratuit pour une application (2 000 traductions IA par mois). Pro coûte 49 $US par mois pour 25 000 traductions IA, Team 199 $US par mois pour 150 000 ; l'abonnement annuel offre deux mois gratuits. Chaque formule inclut toutes les fonctionnalités, et les imports, relectures et modifications sont gratuits. Écrivez à jonathan@getglossa.dev pour l'offre Enterprise.
Non. Les fichiers restent dans votre dépôt. Poussez le fichier source depuis la CI ou un hook pre-commit, puis récupérez les fichiers traduits dans le même format et avec la même arborescence. Les commentaires, l'ordre des clés et les particularités de chaque fichier sont conservés lorsque le format le permet.
Envoyez votre premier fichier
Glossa est gratuit pour une app. Connectez-vous, envoyez un fichier de traduction et récupérez-le dans toutes les langues.