i18n Manager — User Guide

i18n Manager — User Guide

A practical walkthrough of every feature in the i18n Manager, the tool for managing your application's interface translations across multiple languages.

Overview

The i18n Manager is a web app for creating, translating, reviewing, and exporting interface text ("translation keys") in many languages at once. Each piece of text is identified by a dotted key such as nav.home or home.welcome, and every key holds one value per language.

Typical things you'll do here:

Interface tour

The screen is divided into a top bar and three tabs.

Just below the top bar is a live preview banner that shows sample localized text — it updates instantly when you change the interface language, so you can see localization working.

Switching the interface language

Use the dropdown in the top-right (next to the Language label) to switch the language of the manager's own interface — tabs, buttons, table headers, and the preview banner all re-render in the chosen language.

Persisted: your choice is remembered in the browser, so the app reopens in the same language next time. Only active languages appear in the switcher.

The interface text itself comes from translation keys (e.g. nav.translations, btn.search). If a key hasn't been translated into the selected language yet, that element falls back to its English text.

Browsing & filtering translations

Open the Translations tab to see the catalog. To narrow it down:

Results are paginated; use the page controls at the bottom to move between pages. The status line shows which rows you're viewing out of the total.

Reading the table

ColumnWhat it tells you
KeyThe dotted identifier used in code.
NamespaceThe grouping prefix, derived automatically from the key.
DescriptionAn optional hint for translators.
CoverageHow many languages are filled in (e.g. 7/10), with a colored bar — green = complete, amber = partial, red = empty.
ReviewedHow many translations have been marked as reviewed/trusted.
HTMLA badge if the value contains HTML markup (so it's rendered, not shown as text).
ActionsEdit (pencil) and Delete (trash) buttons.

Adding a translation key

Click Add Key on the Translations tab. The dialog has two steps:

1Translation Settings — choose the source language you're typing in, pick (or type) a namespace, and enter the source text. Click Next.

2Translation — the source text is automatically translated into every language and filled into the per-language fields. Here you:

Auto-translation: machine translation is a starting point, not a final answer. Review each language before marking it reviewed — automated output can pick the wrong word form (e.g. a noun instead of a verb for a button).

Leave a language field blank to skip saving that language.

Editing a key

Click the pencil icon on any row. The dialog opens straight to the translation fields, pre-filled with the current values. Change the text, key name, description, or HTML flag, optionally mark reviewed, and Save.

Deleting a key

Click the trash icon and confirm. This permanently removes the key and all of its translations in every language. This cannot be undone.

Careful: deletion cascades to every language for that key. Export first if you might need the data back.

Bulk import

The Bulk Import tab loads many translations at once. Paste JSON into the box, or upload a .json file. Two formats are accepted:

// Plain JSON object
{ "nav.home": { "en": "Home", "de": "Startseite" } }

// JavaScript variable form
var i18n = { "nav.home": { "en": "Home", "de": "Startseite" } };

Options (right side):

Click Parse & Preview to see a summary (how many keys are new vs. already exist, and which languages each carries). When it looks right, click Import Now. After import you'll see how many translations were imported, skipped, and how many new keys were created.

Exporting

Click Export on the Translations tab. In the dialog:

Click Download to save the file.

Round-trip workflow: export a language as CSV → fill the blank translation column in Excel → save → convert back to JSON → paste into Bulk Import with Mark imported as reviewed on.

Managing languages

The Languages tab lists every supported language with its code, name, and status. Click Activate / Deactivate to toggle a language.

Deactivating a language hides it from the translations grid, the export options, and the interface-language switcher — but its stored data is preserved and reappears when you reactivate it.

API & developer docs

The API Docs menu in the top bar opens the developer documentation:

For architecture, database, and tooling details, see the Technical Documentation.

FAQ

Why is a language missing from the dropdowns?

It's probably deactivated. Activate it on the Languages tab.

Why does part of the interface stay in English after switching language?

That element's key hasn't been translated into the selected language yet. Add the translation and it will localize on the next load.

My HTML translation shows tags as plain text — why?

The key isn't flagged as containing HTML. Edit the key and tick Contains HTML markup.

I imported but nothing changed.

If Overwrite was off, existing translations are skipped — check the "skipped" count in the result. Re-import with Overwrite on to replace them.