Admin UI Guide
The Admin UI is your central hub for managing translations, collaborating with your team, and publishing to the CDN. Designed for both developers and translators.
Dashboard
The dashboard gives you an overview of your project:
- Total keys — Translation key count across all namespaces
- Languages — Configured locales with completion percentage
- Recent activity — Latest imports, edits, and publishes
- Quick actions — Jump to editor, import, or publish
Translation Editor
The real-time collaborative editor is the heart of Locale Owl. Multiple translators can work simultaneously with changes synced instantly via Cloudflare Durable Objects.
Key Features
- Side-by-side editing — Source language on the left, target language on the right
- Namespace filtering — Focus on a specific feature area
- Search & filter — Find keys by name, value, or translation status
- Branch switching — Edit feature branches without affecting production
- Inline validation — Warnings for missing placeholders, length issues, etc.
Use the keyboard shortcut Ctrl+S (⌘+S on Mac) to save your current edit and jump to the next untranslated key.
Branch Workflows
Create translation branches that mirror your Git workflow:
- Click the branch selector in the top bar
- Choose "Create Branch" and name it (e.g.
feature/checkout) - Edit translations on the branch — no impact on
main - When ready, open the Merge panel to preview and merge changes
Import & Export
The Import/Export page lets you bulk-manage translations. Supported formats: JSON, CSV, and XLSX.
Importing
| File Type | Behavior |
|---|---|
.json | Select target language and namespace. Supports nested and flat formats. |
.csv / .xlsx | Auto-detects columns: Key, Namespace, and language codes (e.g. en, ja). |
File naming convention for auto-detection: {locale}_{namespace}.json (e.g. en_landing.json).
The namespace field now supports typing new names — you don't need to pre-create namespaces before importing.
Exporting
Download your draft translations as:
- JSON — Structured by locale and namespace, matching the API format
- CSV — Flat spreadsheet with Namespace, Key, and language columns
- XLSX — Same layout as CSV, compatible with Excel and Google Sheets
Publish Center
The Publish Center is where you push draft translations to the live CDN.
- Navigate to Publish Center in the sidebar
- Review the diff — see what changed since the last publish
- Click Publish to push to the CDN
- Changes are live worldwide in seconds (Cloudflare edge cache)
Published translations are immutable snapshots. You can always roll back by re-publishing a previous version from the draft history.
Languages & Namespaces
Managing Languages
Add or remove target languages from the Languages page:
- Click "Add Language" and select from the ISO 639-1 list
- Each language gets its own column in the editor and its own CDN endpoint
- Removing a language does not delete its translations — they're preserved in storage
Managing Namespaces
Namespaces let you organize translations by feature area:
- Example namespaces:
landing,dashboard,emails,errors - Each namespace is a separate JSON file on the CDN
- Use namespace-level RBAC to control who can edit what