ld localedeck

Translation management · Edge-native

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.

deenfresitnlpt-BRpltrjazhar
projekt / checkout fr
button.submit
Submit
Envoyer
reviewed
button.cancel
Cancel
Annuler
reviewed
error.required
Required field
— open —
untranslated
French67 %

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.

  1. 01

    Maintain centrally

    Create keys, translate into every language, set status (draft → reviewed). One place, one source of truth.

  2. 02

    Publish

    One click creates an immutable release – versioned JSON bundles per language, written to the CDN.

  3. 03

    Pull everywhere

    App, shop, TYPO3, CI fetch their language – at runtime from the CDN or via token in the build. Bypassing the server.

localedeck
App
iOS · Android · Web
Shop
Storefront i18n
TYPO3
XLIFF adapter
Website
static / SSR
CI
Pull at build

The server only sits in the write path. Delivery comes straight from the CDN – hot, cheap, scales.

Integration

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.
app.js
// 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.

editor

Key × language matrix

Every string in every language – with the source next to it, search and an “untranslated” filter.

status

Progress & review

See per language how much is translated and reviewed. Optionally publish reviewed only.

team

Teams & roles

Invite colleagues and translators. Owner, admin, member, translator – per organization.

release

Immutable releases + CDN

Every version stays available, cacheable forever. Clients follow “latest” or pin a version.

api

API & sync tokens

Machine pull for pipelines and CI via bearer tokens. OpenAPI docs included.

adapter

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