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:

  1. Click the branch selector in the top bar
  2. Choose "Create Branch" and name it (e.g. feature/checkout)
  3. Edit translations on the branch — no impact on main
  4. 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 TypeBehavior
.jsonSelect target language and namespace. Supports nested and flat formats.
.csv / .xlsxAuto-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.

  1. Navigate to Publish Center in the sidebar
  2. Review the diff — see what changed since the last publish
  3. Click Publish to push to the CDN
  4. 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