Skip to content
en → ar
one key, six scripts

Say it once. Ship it in every language.

The translation dashboard for Vue, React and Angular developers. Your provider, your server. Free for 1 project.

same greeting · en fr ja ko zh arNo strings in our cloud

Frameworks supported
3
Pre-translated UI languages
147
Translation providers
8

Before · Now

Every text change used to need a developer. Now your translators ship it.

BeforeA ticket, a developer, a JSON file, a release.

NowA translator writes it, a moderator or admin approves it. No developer involved.

When your app loads its strings from the dashboard. Strings bundled into your build still ship with your next release.

How it works

From your source code to shipped translations

Four steps, one loop. Your locale files go in, translated locale files come back out — and nothing in between is a place your content gets stuck.

  1. Scan

    Find every translation key in your codebase

    Point us to your project folder or a Git repo. The scanner reads your source files and extracts keys the way your framework uses them. No config, no plugins to install.

    LoginView.vue
    <template>
    <div class="login">
    <h1>{{ $t('auth.login.title') }}</h1>
    <button @click="submit">
    {{ $t('auth.login.submit') }}
    </button>
    <a>{{ $t('auth.login.forgot') }}</a>
    </div>
    </template>

    Detected keys6

    • auth.login.titleLoginView.vue:12new
    • auth.login.submitLoginView.vue:24seen
    • auth.login.forgotLoginView.vue:30seen
    • nav.homeAppNavbar.vue:5new
    • nav.settingsAppNavbar.vue:8seen
    • errors.requiredvalidators.ts:14new
  2. Translate

    Auto-translate in batch. Pick your engine.

    Translate one key or thousands at once. Bring your own API key for DeepL, Google, OpenAI, Anthropic, Gemini or Mistral, or run free with LibreTranslate or Google Translate — pick the provider per project, override the model at any time. We never proxy or meter your calls.

    Translating to Français

    6 / 6

    100%via Google Translate

    • nav.homeHomeAccueil
    • nav.settingsSettingsParamètres
    • auth.login.titleWelcome backContent de vous revoir
    • auth.login.submitSign inSe connecter
    • errors.requiredThis field is requiredCe champ est requis
    • actions.saveSaveEnregistrer
  3. Review

    Built-in review workflow

    Translators save drafts, moderators review, admins approve. The locale API only serves approved content — work-in-progress drafts never leak to your end users.

    1. Draft
    2. Reviewed
    3. Approved
    auth.login.titleApproved
    enWelcome back
    frContent de vous revoir
    • Translator saved a draft18m
    • Moderator reviewed the translation10m
    • Admin approved the translation2m
  4. Sync

    Your JSON files stay the source of truth

    Pull new keys from your locale files into the dashboard, and write edited translations straight back to them. Your JSON files stay the source of truth — the dashboard never becomes a place your translations are trapped in.

    src/locales/

    • en.json132 keys
    • fr.json128 keys
    • de.json120 keys
    • ja.json86 keys

    A文Dashboard DB

    24
    pulled
    48
    written back
    156
    total

    Sync complete

Features

Yours to run, yours to keep.

What comes with the dashboard, on every plan.

  • Runs where you decide

    Your machine or your server

    A desktop app for macOS, Windows and Linux, or one Docker image on your own server. There is no hosted version: your projects and translations are stored on your own machine or infrastructure.

    • Desktop app
    • Docker
    • SQLite
    • PostgreSQL
    • MySQL
  • Your key, your provider

    8 translation providers

    • Google Translate no key
    • LibreTranslate no key
    • Google Translate API
    • DeepL
    • Gemini
    • Mistral
    • Claude
    • OpenAI

    You pay your provider directly. No auto-translate quota on any plan.

  • A team, with roles

    Who can do what

    Translator
    writes and edits
    Moderator
    approves what goes live
    Admin
    runs the project

    Roles and review apply on a shared server (server mode).

  • Catches i18n bugs

    Before your users do

    {nom}Missing placeholder {name}

    Ajouter l'article au panier d'achatOver 1.5× the length of the source

    Warnings, never blockers: you decide what ships.

  • Right to left

    مرحبًا بعودتك

    Arabic, Hebrew and 7 more read the right way, with their own preview.

  • Your files stay yours

    Export anytime

    • JSON
    • CSV
    • XLSX
    • Full project snapshot

    Your data leaves as plain JSON.

  • Free plan

    Free

    Free for 1 project, with every feature. Need more? Pro gives one developer 5 projects.

Compared

Same job, a fraction of the price.

Comparison with Lokalise, Crowdin and Tolgee
Featurei18n DashboardLokaliseCrowdinTolgee
Cheapest paid plan i18n Dashboard€4/moLokalise$149/moCrowdinFrom €46/moTolgee€58/mo
Free plan i18n DashboardYesLokaliseYes · after a 14-day trialCrowdinYesTolgeeYes
Runs on your own server i18n DashboardYesLokaliseNot mentionedCrowdinNot mentionedTolgeeYes
Machine translation included i18n DashboardUnlimited, with your own keyLokalise20,000 words a monthCrowdinNot mentionedTolgee400,000 credits
Review before it goes live i18n DashboardYesLokaliseYesCrowdinYesTolgeeYes
File formats They're aheadi18n DashboardJSON, plus CSV, Excel and XLIFF importLokaliseAbout 30Crowdin50TolgeeAbout 18
Apps for iOS and Android (SDK) They're aheadi18n DashboardComing laterLokaliseYesCrowdinYesTolgeeYes
Figma plugin They're aheadi18n DashboardComing laterLokaliseYesCrowdinYesTolgeeYes

Where they are ahead More file formats, apps for iOS and Android, a Figma plugin.

Prices and features from each company's public pages, read on October 2, 2026, October 8, 2026:

Their prices are billed yearly, as each page shows by default; monthly billing costs more (Lokalise $169, Crowdin €54). EUR prices as shown from Europe. Ours: €4 billed monthly, €3 yearly.

Compared to what you do today

JSON files and Git work. Here is what they don't do.

Your translations already live in your repo: it works, it's free, and nobody had to learn a new tool. Pasting strings into ChatGPT or DeepL works too, and you can plug the same engines into the dashboard as providers.

Comparison with JSON files, Git and ChatGPT or DeepL
CapabilityJSON + Git + ChatGPT/DeepLi18n Dashboard
Placeholder and length warningsJSON + Git + ChatGPT/DeepL Not out of the box: you add and maintain your own linter.i18n Dashboard In the editor, warns when a placeholder or an HTML tag is missing, or when a translation runs well past the source length, without blocking the save. Automatic translation retries once, then refuses a result that drops a placeholder.
Unused keysJSON + Git + ChatGPT/DeepL Searching the code by hand, key after key.i18n Dashboard A scan flags the keys your code no longer uses.
Coverage per languageJSON + Git + ChatGPT/DeepL Count the missing keys yourself.i18n Dashboard Coverage in percent for each language, with the number of missing keys.
Review statusJSON + Git + ChatGPT/DeepL Review per file, in pull requests.i18n Dashboard Draft, Reviewed, Approved for each translation, in server mode only. Local and desktop modes approve everything automatically.
Machine translationJSON + Git + ChatGPT/DeepL Copy the strings out, paste the results back.i18n Dashboard Use your own key, or your own instance for LibreTranslate, with DeepL, OpenAI, Claude, Gemini, Mistral or Google. With paid providers, you pay them directly.
Let's start

Translating your app in four steps.

  1. Create your account

    Free to start: 30 days of any plan, no card. Stays free for 1 project.

  2. Install it

    How do you want to install it?

    On your own server. Then open localhost:6001.

    docker compose pull && docker compose up -d

    Self-hosting guide

    macOS, Windows or Linux. It runs its own local server.

    Download the app
  3. Connect your project

    Point it at a folder or a Git repository. It finds your framework and your locale files.

  4. Translate

    Pick one of 8 providers and translate a whole language at once. Google Translate works without a key.