[data-reveal]{opacity:1!important;transform:none!important}
Introduction
Translation

Introduction

Manage every translation of your DMS and of the apps around it, from one place, with coverage at a glance.

@antelopejs/dms-lang adds a translation workspace to the AntelopeJS DMS. It reads every locale file the dashboard loads, shows how complete each language is, and lets your team fill the gaps in a matrix or one key at a time. It also hosts translation files for your other apps (a website, a mobile app) and serves them as public JSON.

Publish one translated message

After installation, enable editing in your development environment and create a workspace named storefront, with en as its base language. Add fr, then add the key checkout.pay with the English text Pay now. In the French cell, enter Payer maintenant and save.

Your app can now read /i18n/storefront/fr.json from the configured public origin. The response contains {"checkout":{"pay":"Payer maintenant"}} for that key. Load a workspace in another app shows the request and explains fallback for missing translations.

These files are public. Use them for interface text, never secrets or private customer content. A Lang workspace is a set of translation files, not a SaaS customer workspace.

What it brings

Coverage at a glance

KPIs, languages ranked least complete first and a namespace × language heatmap show where the gaps are.

Translation matrix

Every key side by side across languages, with inline editing, placeholder checks, filters and CSV export.

Translation queue

One language, one key at a time, with the base text, the other languages for context and keyboard shortcuts.

Workspaces for your apps

Separate sets of translation files for other apps, served publicly at /i18n/<workspace>/<locale>.json.

Three kinds of workspace

A workspace is one set of translation files. Every page of the module works on the workspace named in its scope bar, and keeps it in the URL (?workspace=), so a link or a refresh lands on the same one.

WorkspaceIdEditableWhere the files live
Project filesdefaultYes, when editable is onThe i18n/locales/<name>-<xx-XX>.json files of your project's frontend module
Installed modulesmodulesNo, override a key to change itThe locale files shipped by the DMS and its modules
Workspaces you createAny name you chooseYes, when editable is onThe module's i18n-workspaces/<name> folder, served publicly

Where it lives in the dashboard

The module registers under /modules/lang with two sidebar groups:

The command palette (Ctrl K) also offers Translate missing keys, Add a translation key, Add a language and New translation workspace.

Like every DMS module, the Lang pages are reserved to the platform owner. Each write route also checks the permission of the action it belongs to, so the module is ready if module access opens to roles.

Next steps

Installation

Add the module to a DMS project.

Configuration

Turn on editing and mark your app's translations as writable.