Home/Use cases/Web apps
Use case

Translations that arrive with the bundle, not after it

A web app can ship a fix in ten minutes, which is exactly why untranslated strings survive in one for months: nothing ever forces the issue. Pulling at build time does.

The formats you will be pulling

.json
React, Vue, i18next
.yaml
Rails, Symfony
.po
Django, PHP
.properties
Java, Spring

How the week goes

  1. 1A developer merges a featureCI pushes the English file. Unchanged keys are a no-op; new ones queue for translation immediately.
  2. 2The draft is ready in minutesAI translates with your glossary and the context attached to each key, and the result lands flagged needs review.
  3. 3A colleague who speaks the language approvesReviewers are free and unlimited, so this is a ten-minute favour rather than a licence purchase.
  4. 4The next build pulls the filesGET /pull answers 304 when nothing changed, so the step costs nothing on the builds where there is no news.

What to watch for

Gate on reviewed, not translated

A locale at 100% translated can be 0% reviewed. status reports both — pick the one your release actually requires.

Keep nesting out of the key name

Nested JSON keeps its path on import. Do not encode the path twice.

Placeholders are linted

A translation that drops {count} or breaks an ICU plural is caught before it can reach the bundle.

Set it up before the next release

Import the English file, enable a language, paste the CI job.

Start freeLog inBook a demo