Skip to content

Web Dashboard

The Babelon web dashboard is where you manage messages, review translations, configure settings, and monitor translation jobs. This page walks through each section of the interface.

Dashboard

The landing page after login. It shows:

  • Project statistics -- Total messages, translations, and coverage by locale.
  • Recent jobs -- The latest AI translation jobs and their statuses.
  • 30-day analytics -- Activity trends for messages and translations over the past month.

Messages

The message list is the central hub for your translatable content.

Browsing and searching

The message list supports:

  • Text search -- Filter by message key or source text.
  • Pagination -- Navigate through large message sets.
  • Pending filter -- Show only messages that have pending translations awaiting review.

Creating and editing messages

Click New Message or select an existing message to open the editor. Fields include:

FieldRequiredDescription
KeyYesStable identifier (e.g., checkout.confirm_button). Must start with a letter; allowed characters: a-z, A-Z, 0-9, ., _, -.
Source textYesThe original string to translate.
Source localeYesLanguage of the source text (e.g., en).
Format typeYesplain for simple strings, icu for strings with placeholders or plurals.
DescriptionNoContext for translators and AI (e.g., "Button label on checkout page").
ToneNoDesired tone (e.g., "formal", "casual").
AudienceNoTarget audience context (e.g., "enterprise customers").

Version history

Every time you change a message's source text, Babelon automatically creates a version entry. The version history panel on the message detail page shows all previous versions with timestamps. Versions are tracked by content hash, so saving the same text twice does not create a duplicate version.

Translation Editor

Navigate to a message and click Translate to open the side-by-side translation editor. You will see one card per target locale.

Each card shows:

  • The source text on the left for reference.
  • An editable translation field on the right.
  • The current status: pending, approved, or rejected.
  • Action buttons: AI Translate, Save, Approve, Reject.

ICU support

If a message uses ICU MessageFormat (e.g., {count, plural, one {# item} other {# items}}), the editor validates that placeholders and syntax are preserved in the translation. Invalid ICU in a translation will be flagged.

Protected terms indicator

When your organization has protected terms configured (brand names, acronyms), the editor indicates which terms in the source text are protected. These terms are passed to the AI provider with instructions to keep them untranslated.

Bundles

Bundles let you organize messages into logical groups -- for example, by feature area, screen, or module. They are not tied to file paths; a single message can belong to multiple bundles.

The bundles page displays a card grid. Click a bundle to manage its message membership: add messages, remove them, or view the current set.

Bundles are useful for:

  • Exporting subsets of translations (e.g., just the checkout flow).
  • Triggering translation jobs for a specific group of messages.
  • Organizing messages by team or feature ownership.

Jobs

The jobs page shows all AI translation jobs for your organization with real-time updates.

Status tabs

Filter jobs by status:

StatusMeaning
PendingQueued, waiting to be processed
RunningCurrently being translated by the AI provider
DoneTranslation completed successfully
FailedTranslation failed after all retry attempts
CancelledManually cancelled by a user

Real-time updates

The jobs page uses Supabase Realtime to update automatically. When a job starts, finishes, or fails, you will see the change immediately without refreshing the page.

Job actions

  • Retry -- Requeue a failed job for another attempt.
  • Cancel -- Stop a pending or running job.
  • Delete -- Remove a completed, failed, or cancelled job from the list. You must cancel active jobs before deleting them.

Review Queue

The review page shows all translations with pending status, sorted oldest first.

Workflow

  1. Browse pending translations (25 per page).
  2. Filter by locale if you are reviewing a specific language.
  3. For each translation, choose Approve or Reject.
  4. Use the checkboxes and bulk action buttons to approve or reject multiple translations at once.

When you approve a translation, the status changes to approved and it becomes eligible for export. Rejected translations can be retranslated or manually edited.

Export

The export page lets you download your translations as files.

Options

OptionChoices
LocalesSelect one or more target locales, or choose from presets
FormatJSON (flat keys), nested JSON, or YAML
Status filterApproved only, pending only, or all
BundleOptionally restrict to a specific bundle

Click Export to generate and download the file. The database is always the source of truth -- exported files are generated on demand and can be regenerated at any time.

Settings

The settings page has four sections.

Localization

  • Default locale -- The primary language for your source messages.
  • Target locales -- The languages you want to translate into. These are used as defaults when triggering translation jobs.

Translation provider

Choose between platform-provided AI or your own API key:

  • Platform AI -- Uses the platform's built-in AI provider. No configuration needed.
  • Custom provider -- Bring your own API key for Anthropic (Claude), OpenAI, or Google Translate. Your API key is encrypted at rest with AES-256-GCM.

You can also select a specific model (e.g., claude-3-5-sonnet-20241022 or gpt-4o).

Enable Auto-approve AI translations to skip the manual review step. When enabled, AI translations are saved with approved status immediately.

Protected terms

Define terms that should never be translated -- brand names, product names, acronyms, or domain-specific terminology. For example, adding "Babelon" as a protected term ensures it remains untranslated in every language.

Protected terms are sent to AI providers as part of the translation prompt and are enforced during both AI and manual translation.

Webhooks

Configure a webhook URL to receive notifications when translation jobs complete or fail. Optionally add a signing secret for HMAC-SHA256 signature verification.

Events: job.completed, job.failed.

API Access

Generate and manage API tokens for CLI authentication. See API Tokens for details.

Team

Manage your organization's members from the team page.

  • Invite members -- Add team members by email (they must have a Babelon account).
  • Change roles -- Assign roles to control what each member can do.
  • Remove members -- Remove someone from the organization.

See Team Management for details on roles and permissions.