Home Using globalize.now Where do my translations live, and do you store them?

Where do my translations live, and do you store them?

Last updated on Sep 17, 2026

In your repo. globalize.now writes locale files and commits them to a branch of your GitHub or GitLab repository, like any other code change. You own the files.

What the output looks like

After the first run your repo contains a locale directory with one file per language:

/locales
  en.json
  es.json
  de.json
  fr.json

Or, with next-intl:

/messages
  en.json
  es.json

The location and format follow your i18n library, and the locale path patterns in project settings tell us where to look if your layout is non-standard.

How updates work

When you push new or changed UI strings to a watched branch, globalize.now translates only those strings and opens a pull request (merge request on GitLab) containing only the locale files that changed. Review it, edit it, merge it like any other PR. See Branches, pull requests and what triggers a translation job for the triggers.

What if I merge my code before the translation PR?

Nothing breaks. Your app falls back to the source language for the missing keys. globalize.now keeps watching the branch and the missing translations arrive in the next PR. The cleanest workflow is still to merge the translation PR alongside the feature, or turn on Translate pull requests so translations land on the feature branch itself.

Can I edit translations myself?

Yes, in two places:

  • In the PR. Change a translation in the diff before merging. Your edit becomes the approved version and is stored in the translation memory.
  • In the repo. Locale files are plain JSON or .po; edit them with any editor and push. By default we only touch strings we haven't seen before, so your edits stay. To make your files authoritative on every push, set Project → Settings → Existing translations → Every string, on every push.

Do globalize.now servers store my translations?

Two things are stored on our side: the translation memory (every approved source/target pair for your project, so repeated strings are reused and not billed — visible under Project → Translation Memory) and job history. Your locale files in the repo remain the source of truth; if the two ever disagree, the Existing translations setting above decides which wins.

For translation jobs, source text is sent to the model provider (currently Anthropic's Claude models) for translation only and is not used to train models. Where our servers are, which providers process your text and code, and how to delete your data: Security and data.

No vendor lock-in

Your locale files are standard JSON or .po. If you stop using globalize.now, everything stays in your repo and keeps working exactly as it does today. Switch to any other tool or manage the files by hand — nothing is locked to our platform.