Now available for Vite & SvelteKit

Translation management for modern apps

A visual editor for .po files that lives in your dev server. Manage translations without leaving your workflow.

localhost:5173/_translations
Locales
English (en) 100%
Spanish (es) 85%
French (fr) 42%

Translations

Everything you need

Built for developers who want to manage translations efficiently without the context switching.

Visual Editor

Browse and edit .po files in a beautiful, intuitive web interface without touching raw files.

Language Overview

Track translation progress across all locales with visual indicators and stats.

Search & Filter

Instantly find translations by key or text, and filter by missing or fuzzy status.

Keyboard Shortcuts

Power user friendly with shortcuts for saving (Ctrl+S) and navigation.

HMR Support

Instant updates. Edit translations and see them reflect in your app immediately.

Zero Config

Auto-detects your locales directory and works out of the box with sensible defaults.

Get Started in Seconds

Add the plugin to your project and start translating.

Installation

Choose your package manager

bun add -d vite-plugin-lingo

Configuration

Add to vite.config.ts

vite.config.ts
// vite.config.ts
import { defineConfig } from 'vite';
import lingo from 'vite-plugin-lingo';

export default defineConfig({
  plugins: [
    lingo({
      route: '/_translations', // default
      localesDir: './locales', // default
      production: false        // enable in production builds
    })
  ]
});

Production Deployment

By default, the translation editor only runs in development mode. To enable it in production builds (e.g., for deployment to Netlify, Vercel, etc.), set production: true in your config.

Security Notice: Built-in authentication is planned for a future release. For now, if you enable production mode, you'll need to implement your own authentication layer to protect the editor route, or wait for the upcoming auth feature. Use with caution — anyone with access can modify your translation files.