One source string, every language, and a clean path home. Strings pulls your keys out of the repo, translates them in place, and sends them back as a pull request.
No parallel database, no export-then-reimport ritual. Strings reads and writes the JSON, YAML and ARB files already in your repository. What you see in the editor is exactly what ships — versioned, reviewed and diffed like any other code change.
Three things, done quietly well — so localization stops being the step everyone dreads.
A clean grid of every key, side by side with its English source. Autosave on blur, inline edit history, and a flag the instant a source string changes under you.
Open any key to see all locales at once, with completeness at a glance. Nothing slips through — you always know what’s missing before it ships.
Review the diff, then sync. Strings commits to your branch and opens a PR — your team approves and merges it in GitHub, like any other change.
Point Strings at your locale files through GitHub. It reads your existing keys instantly — no schema, no import.
Work safely on a localization branch. Autosave, history and source-change flags keep everyone oriented as they go.
One click commits your work and opens a PR. Review the diff, merge in GitHub, and the translations are live in your repo.
Keyboard-first, quiet, and honest about state. Here’s a slice of the real editor.
Connect a repository and translate your first key in under five minutes. It commits back as a PR — nothing leaves your codebase.