Skip to content

Repository files navigation

i18n AI Studio 🌐 (v1.3.0)

Modern, high-performance, and responsive TypeScript localization studio designed to translate i18n JSON files seamlessly using any OpenAI-compatible AI API.

English | فارسی


i18n AI Studio Interface (English)

✨ Key Features

  • Full Application Internationalization (i18n & RTL): Switch between English and Persian (فارسی) seamlessly with complete RTL layout mirroring, typography optimization via Google Fonts (Vazirmatn), and persistent locale memory.
  • Multi-Project Workspaces: Create, switch, rename, duplicate, and delete multiple independent projects (e.g., "Mobile App", "Landing Page", "SaaS Dashboard"). The studio automatically restores your last active workspace on reload.
  • TypeScript-Powered: Built with strict TypeScript for maximum reliability and type safety.
  • Smart Incremental Translation: When you add new keys, only the missing/new keys are sent to the AI, preserving existing translations and manual edits.
  • Full Workspace Backup & Import: Export full workspace backups (i18n-studio-backup.json or all-workspaces backup) and import them as new projects on another device or browser with one click.
  • Direct AI Endpoint Configuration: Enter your Base URL, API Key, and Model Name (OpenAI, Groq, Ollama, OpenRouter, DeepSeek, LM Studio, etc.).
  • Live Connection Tester: Test your endpoint, model, and API key with one click before translating.
  • IndexedDB Persistence: State, translations, settings, and UI language choice are persisted asynchronously and securely in your browser's IndexedDB.
  • Placeholder & Variable Preservation: Auto-detects and verifies {var}, {{count}}, %s, %d, {0}, and HTML tags to prevent broken UI interpolation.
  • Single-Key AI Translation: Translate or re-translate individual keys on demand directly from the workspace rows.
  • Rich Export & Import Capabilities:
    • Full Workspace Backup (.json) for sharing or restoring state (single project or all projects)
    • Structured ZIP Archive (locales/es.json, locales/fr.json, etc.)
    • Single combined JSON (all-languages.json)
    • Paste / Upload JSON for individual languages
    • Copy directly to clipboard
  • Quick-Add Popular Locales & RTL Support: One-click addition of common languages with native names and native RTL direction handling (Arabic, Persian, Hebrew, etc.).
  • Clean Layout & Enhanced Badges: Smooth page scrolling without restrictive nested scroll traps, modern rounded status badges, and crystal-clear typography.

🇮🇷 Persian / RTL Interface

i18n AI Studio Interface (Persian)


🚀 Getting Started

Installation & Development

# Install dependencies
npm install

# Start Vite development server
npm run dev

Visit http://localhost:5173 in your browser.

Typecheck & Production Build

# TypeScript type check
npm run typecheck

# Build production bundle
npm run build

# Preview production build locally
npm run preview

📖 Usage Workflow

  1. Manage Projects (Top navbar): Create multiple projects or switch between active workspaces.
  2. Configure AI (Left sidebar): Enter Base URL, API Key, Model Name, and click Test API to verify connectivity.
  3. Set Template JSON: Paste or upload your source JSON dictionary.
  4. Add Target Languages: Choose from the Quick Add popular languages or type a custom code (e.g. de for German).
  5. Translate: Click Translate to translate only new/missing keys for the active locale or Translate All for all configured languages.
  6. Review & Fine-Tune: Edit translations inline, translate individual rows with AI, or paste/import existing JSON for specific languages.
  7. Export & Share:
    • Click Export All -> Studio Backup (.json) to generate a complete backup file.
    • Another user can click Import in the header to load the exact template, locales, and translated keys into a new or current project!

🛡️ License

MIT

About

Modern, high-performance, and responsive TypeScript localization studio designed to translate i18n JSON files seamlessly using any OpenAI-compatible AI API.

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Used by

Contributors

Languages