Quickstart
Push your first file, get it translated and pull every locale back in five minutes.
1. Sign in and create a project
Sign in with your email. A workspace is created for you, with a source locale (usually en). Create a project for your app in the dashboard with the target locales you ship. Or do it from the CLI once you are logged in:
npx @meterapp/glossa loginnpx @meterapp/glossa create_project --json '{"name":"Web","slug":"web","target_locales":["es","de","ja"]}'login asks for a workspace API key (create one in the dashboard under Settings → API keys) and saves it. In CI, set GLOSSA_API_KEY instead.
2. Push your source file
npx @meterapp/glossa push locales/en.json --project webThe format is detected from the file name and content. Every string is matched against the rest of your workspace: text you have already translated in another app is reused, and only new strings are queued for translation. The response tells you how many keys were added and how many strings were new or merged into existing ones.
Already have translations? Push them too. Their locale is inferred from the path (locales/es.json, es.lproj, values-es); imported translations are never overwritten by AI.
3. Let it translate
Translation runs in the background with Claude Opus, using each string's context, your glossary and your rules. Strings the model is unsure about, or whose placeholders did not survive, are marked needs_review and filed in the review queue. Check progress with get_stats or list_jobs.
4. Pull every locale
npx @meterapp/glossa pull --project web --locale es,fr,deEach locale is written in the file's own format at its own path. Untranslated keys fall back to the source text by default; pass missing and approved_only to pull_file to change that.
The same over HTTP
curl -X POST https://glossa-meterapp.vercel.app/api/v1/push_file \ -H "Authorization: Bearer gls_…" \ -H "Content-Type: application/json" \ -d "$(jq -n --rawfile c locales/en.json '{project:"web",path:"locales/en.json",content:$c}')"
curl -X POST https://glossa-meterapp.vercel.app/api/v1/pull_file \ -H "Authorization: Bearer gls_…" \ -H "Content-Type: application/json" \ -d '{"project":"web","path":"locales/{locale}.json","locale":"es"}' | jq -r .content > locales/es.jsonNext
- Connect your agent and ask it to work the review queue.
- Add brand names to the glossary and a few rules per language: audits, glossary and rules.
- Run the CLI in CI so every change to the source file is pushed automatically: see the CLI guide.
Stuck? Write to jonathan@welcome.meterapp.co.