Translations for your app, shop & website
One string.
Every language. en
Manage the copy of your app, shop and website in one place – in every language. Maintain once, ship everywhere. No more copy-paste across three systems.
button.submit button.cancel error.required The problem
Copy lives everywhere – and nowhere together.
The same change, three times
A new button label has to be updated separately in the app, the shop and TYPO3. Three times copy-paste, three new places to get it wrong.
Nobody knows what’s missing
Which strings are still open in French? Which were never reviewed? Without an overview, localization is flying blind.
Translators stuck in the code
Copy lives in repos and exports. Non-developers can’t reach it – or it ends up in a spreadsheet over email.
How it works
Maintain centrally. Publish. Pull everywhere.
- 01
Maintain centrally
Create keys, translate into every language, set status (draft → reviewed). One place, one source of truth.
- 02
Publish
One click creates an immutable release – versioned JSON bundles per language, written to the CDN.
- 03
Pull everywhere
App, shop, TYPO3, CI fetch their language – at runtime from the CDN or via token in the build. Bypassing the server.
The server only sits in the write path. Delivery comes straight from the CDN – hot, cheap, scales.
A look inside
Here’s what it looks like.
A tidy dashboard: projects with progress, the translation matrix and versioned releases – all in one place.
cart.titleWarenkorbcart.emptyLeercart.checkoutZur KasseIntegration
Two lines – and your app speaks every language.
Your app loads the finished copy straight from the CDN. No forced SDK, no server in between – flat JSON that any framework understands.
- Pin a fixed version? Just load releases/v42/de.json – cacheable forever.
- At build time instead of runtime? Pull the same copy into your CI via token.
- No vendor lock-in: it stays plain JSON you can export anywhere.
// 1) Fetch the pointer manifest – automatically follows the latest release
const base = "https://cdn.your-domain.tld";
const ptr = await fetch(`${base}/my-project/manifest.json`)
.then(r => r.json());
// 2) Load the language you want – done
const de = await fetch(`${ptr.base}/de.json`).then(r => r.json());
// { "checkout.button.submit": "Submit", ... } What’s inside
Everything for serious localization.
Key × language matrix
Every string in every language – with the source next to it, search and an “untranslated” filter.
Progress & review
See per language how much is translated and reviewed. Optionally publish reviewed only.
Teams & roles
Invite colleagues and translators. Owner, admin, member, translator – per organization.
Immutable releases + CDN
Every version stays available, cacheable forever. Clients follow “latest” or pin a version.
API & sync tokens
Machine pull for pipelines and CI via bearer tokens. OpenAPI docs included.
Adapters, not lock-in
Flat JSON as the standard – adapters (e.g. TYPO3 XLIFF) translate into any ecosystem.
Who it’s for
One place where engineering and content meet.
Developers
No spreadsheets, no merge conflicts in language files. Pull via token into the pipeline, versioned releases to pin.
Teams & content
Maintain copy in the browser, keep an eye on status, review – without ever touching code.
Agencies
Multiple projects, multiple clients, separate organizations – one tool for all of them.
FAQ
What you probably want to know.
Do I have to rewrite my code?
No. You still load JSON language files – just from one central source instead of scattered files. Existing i18n libraries keep working unchanged.
How is it different from classic translation tools?
The focus is delivery: releases are immutable, versioned and served straight from a CDN – fast, cheap and across many systems (app, shop, website).
Which formats can I export to?
The default is flat JSON. Adapters for other formats – such as XLIFF for TYPO3, i18next or ARB – plug into the open API or are in progress.
Can I freeze a specific version?
Yes. Every release is immutable and versioned. Clients can follow “latest” or pin a fixed version – ideal for reproducible deploys.
Can several people collaborate?
Yes. Invite your team and assign roles (owner, admin, member, translator) per organization. Everyone maintains copy in the browser.
What does it cost?
You can get started for free right now and create a project. Create, translate, publish – no credit card.
Ready to maintain once?
Create a project, add languages and publish your first release in minutes.
Get started free