Gratuit pour une app

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.

claude · glossa mcp
Work through the Glossa review queue. Split merges whose context differs.
claim_tasks({ "kind": "merge_review", "limit": 10 })
10 tasks · "Open" used by 3 keys: menu.file.open, door.status.open, store.hours.open
menu.file.open is a verb; the other two are adjectives. Splitting it out.
resolve_task({ "task": "8c1e…", "action": "split", "key_ids": ["menu.file.open"], "note": "verb vs adjective" })
Split into a new unit; queued translation for 9 locales.
run_audit({ "locale": "es", "question": "Are we consistent about tú vs usted?" })
Audit queued. Findings arrive as audit_finding and rule_suggestion tasks.
An agent claiming review tasks, splitting a merged string and starting an audit through the MCP server.

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.

Conçu pour un traducteur dans un éditeur
Les TMS traditionnels sont centrés sur un humain qui travaille chaîne par chaîne. La traduction automatique n'est qu'un pré-remplissage, et le reste du workflow suppose que quelqu'un clique sur chaque étape.
La même chaîne, traduite cinq fois
« Se connecter » dans votre app iOS, votre app Android et votre app web, ce sont trois chaînes dans trois projets. Corrigez-en une, les deux autres restent fausses.
La moitié du produit est absente de l'API
Les agents et les scripts peuvent envoyer et télécharger des fichiers, mais la relecture, l'approbation et la correction de la qualité se font dans une interface web.
La qualité ne progresse pas
Un relecteur corrige une erreur de traduction, et la même erreur revient dans les chaînes de la semaine suivante, car la correction n'a jamais atteint le prompt suivant.

Comment cela fonctionne

Du fichier source à toutes les langues en quatre ops

  1. 1push_file

    Envoyez 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. 2translate

    Claude 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. 3claim_tasks

    Les 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. 4pull_file

    Ré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.

Envoyez depuis votre dépôt
npx @meterapp/glossa push locales/en.json --project web
Récupérez toutes les langues
npx @meterapp/glossa pull --project web --locale es,fr,de

Formats

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.
La même file en REST
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é.

ios/en.lproj/Localizable.strings"auth.signin" = "Sign in";android/res/values/strings.xml<string name="sign_in">Sign in</string>web/locales/en.json"header.signIn": "Sign in"
1 unité · « Sign in »3 clés
esIniciar sesióndeAnmeldenjaサインイン

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.

Source modifiée au pushlocales/en.json"files.delete": "Delete""files.delete": "Delete forever"
fr.json contient encorepérimée
locales/fr.json"files.delete": "Supprimer"
Ce qui est livréretraduit
locales/fr.json"files.delete": "Supprimer définitivement"

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.
Avant le déploiement
npx @meterapp/glossa sync --wait 10m   # push new strings, wait for translation, pull every localenpx @meterapp/glossa check             # exit 1: not ready
Comment fonctionne la porte de release

Audits 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.

  1. 01 · run_auditDemander« Que vaut notre espagnol ? Sommes-nous cohérents entre tú et usted ? »
  2. 02 · audit_findingTrouverL'audit note la langue et signale chaque problème avec une correction proposée.
  3. 03 · resolve_taskCorrigerUn agent ou une personne applique, modifie ou écarte chaque constat.
  4. 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.

Projects3

Apps or repos, each with its source and target locales.

Files4

Push translation files in, pull any locale back out.

Formats4

Detect, list and teach file formats.

Review queue4

Claim and resolve review tasks.

Glossary3

Brand names and fixed terms.

Rules3

Standing instructions for every translation.

Audits3

Per-language quality reviews.

App reviews4

App Store and Google Play reviews per language, read as context for store listings and marketing copy.

Jobs3

Background AI work and its status.

API keys3

Workspace keys for CLI, MCP and CI.

RESTPOST /api/v1/{op}
MCP/api/mcp
CLInpx @meterapp/glossa
Docs/llms.txt · /openapi.json

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_…"

Configuration complète, y compris la connexion OAuth et le plugin, dans le guide MCP.

FAQ

Questions

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.