Organisation, platform, project, key. Four levels that map to how software teams actually ship — and an editor built for people who live in it all day.
Set up once. People, locales and permissions attach at whichever level makes sense.
Owns billing, people and every platform. One per company is usually right.
One per shipping surface: iOS, Android, web app, marketing site, design files. Holds its own locale list, key namespace and default file format.
Every platform gets a default project automatically. Custom projects are copies of it, for clients who need different wording.
A string with context, screenshot, tags, plural forms and one value per locale. Full history on every cell.
Keyboard navigation, inline AI, filters that stick. Nothing modal unless it has to be.
Most languages encode a relationship in the pronoun. Getting it wrong is not a small error — a banking app that addresses a German customer as du reads as either a startup affectation or a mistake, depending on who is reading.
So formality is a property of the language, not a note in a style guide. You set it when you add the language, and every AI request for that language carries the rule.
Need both? Add German twice — once formal, once informal. They are independent languages in every sense: their own translations, their own coverage percentage, their own review state, their own export.
One consumer app on du, its white-label bank client on Sie, from the same English source.
The instruction sent to the model names the actual pronoun system of the language being translated into, including the imperative forms that are easiest to get wrong. A generic “be formal” gets ignored; naming the forms does not.
| Language | Formal | Informal | Also enforced |
|---|---|---|---|
| German | Sie, Ihnen, Ihr | du, dich, dein | Imperatives — “Melden Sie sich an”, never “Melde dich an” |
| French | vous | tu | Verb agreement and possessives, not just the pronoun |
| Spanish | usted | tú | Regional choice — vos for Argentina, vosotros for Spain |
| Portuguese | você, o senhor | tu | Brazil and Portugal invert which form reads as neutral |
| Italian | Lei | tu | Third-person agreement throughout the formal register |
| Dutch | u | jij, je | Possessives — uw against jouw |
| Japanese | 丁寧語 — です・ます | Plain form | Register is carried by verb endings, not pronouns |
| Korean | 해요체 / 합니다체 | 해체 | Speech level held consistent across every string |
Languages without a formality distinction — English, Finnish, Turkish in most product copy — accept “none”, and no rule is added. You can also override the wording of any rule per project if your house style is more specific than ours. How the AI enforces it →
Mark a language formal or informal when you add it. Ship both registers of the same language as two independent locales.
Attach a note and a screenshot so translators know where a string lives.
Correct forms per language. Exports refuse to ship a partial set.
Catches a dropped {count} or %@ before it reaches a build.
Draft → needs review → approved, per locale. Reviewers are free seats.
Every revision, every actor — human, AI or API. Restore any version.
Add people at org, platform or project level. Contractors see one client only.
Free for one platform and three languages, for as long as you like.