New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details
Socket
Book a DemoSign in
Socket

translator-sync

Package Overview
Dependencies
Maintainers
1
Versions
9
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

translator-sync

Automate React/Vue i18n translation workflow with AI. Sync translation files automatically, reduce costs 50,000x vs services. Works with react-i18next, vue-i18n, JSON, Fluent.

latest
npmnpm
Version
0.3.2
Version published
Maintainers
1
Created
Source

TranslatorSync

The only i18n automation tool with intelligent context awareness and enterprise self-hosted LLM support. Unlike simple ChatGPT wrappers, TranslatorSync understands your project and preserves your existing translations.

🎯 9.3/10 quality • ⚡ 1000x faster than manual • 💰 50,000x cheaper than services • 🏢 Enterprise-ready

npm version Test Coverage CI Status License: MIT

✨ Why TranslatorSync?

🧠 Intelligent Context Awareness

  • Auto-detects project context - Reads package.json & README to understand your app
  • Smart translation adaptation - Adjusts style, tone, and terminology automatically
  • Learns from existing translations - Maintains consistency with your current translation style
  • Context-driven quality - UI apps get concise translations, docs get natural flow
  • Length-smart - Preserves UI space constraints without hardcoded limits
  • Technical term intelligence - Knows when to keep English terms vs translate

Unmatched Performance & Efficiency

  • 1000x faster than manual translation (1.1s vs 30 min)
  • 50,000x cheaper than professional services ($0.0001 vs $5 per translation)
  • Only translates missing keys - Never overwrites existing translations
  • Incremental workflow - Add new keys, run once, done
  • Zero configuration - Works perfectly out of the box
  • Never breaks builds - Perfect JSON/file format preservation

🛠️ Premium Developer Experience

  • 🌐 Universal Format Support - JSON (React/Vue/Angular) and Fluent (.ftl)
  • 🤖 Any OpenAI-Compatible API - Cloud providers (OpenAI, DeepSeek) or self-hosted for complete data control
  • 🔄 Smart Sync Strategy - Only missing keys, preserves existing translations
  • 🎯 Perfect Variable Handling - {{variables}}, {variables}, %{variables}, etc.
  • 📁 Any Project Structure - Flat files, nested directories, custom patterns
  • ✏️ Easy Customization - Edit project description to fine-tune translation style
  • 🔄 Easy Re-translation - Delete keys to regenerate, clear files to start fresh
  • 🔒 Production Ready - Comprehensive error handling, retry logic, telemetry

🎯 Quality That Exceeds Expectations

  • 9.3/10 average quality - Often better than original human translations
  • Context-aware translations - Understands your project domain and audience
  • Consistent terminology - Maintains style across all languages
  • Smart length preservation - UI elements stay within space constraints
  • Cultural appropriateness - Native-feeling translations, not literal conversions

🏆 Why Choose TranslatorSync?

Quick Comparison with Alternatives

FeatureTranslatorSynci18n-allyTransmartOthers
Auto-translate missing keys only❌ Manual⚠️ Overwrites
Preserves existing translations✅ Always❌ DangerousVaries
AI with context awareness✅ Full context
Understands your project✅ Reads docs
Self-hosted LLM supportExclusive
Multiple AI providers✅ 3+❌ OpenAI onlyLimited
Production quality✅ 92% coverage---

Unique Advantages

🏢 Enterprise-Ready with Self-Hosted LLMs

  • Only tool supporting private LLM infrastructure
  • Complete data control - no external APIs required
  • Works with any OpenAI-compatible endpoint

🧠 Intelligent Translation (Not Just ChatGPT Wrapper)

  • Analyzes your README and package.json
  • Uses existing translations for consistency
  • Adapts to your project type automatically

✅ Respects Your Work

  • Never overwrites existing translations
  • Only translates what's missing
  • Preserves your formatting and structure

See detailed competitive analysis →

🚀 Quick Start

Using npm/npx

# Run without installation
npx translator-sync init

# Or install as dev dependency
npm install --save-dev translator-sync

Using Bun

# Run without installation
bunx translator-sync init

# Or install as dev dependency
bun add --dev translator-sync

Using Deno

# Run directly
deno run -A npm:translator-sync init

🎯 Real-World Quality Results

Tested on Chatbot UI (React + Next.js + react-i18next):

EnglishExpectedTranslatorSyncQuality
"Settings""Configuración""Configuraciones"9/10 ⭐
"New Chat""Nueva conversación""Nuevo chat"8/10 ✅
"Export""Exportar""Exportar"10/10 🎯
"Stop generating""Detener generación""Dejar de generar"9/10 ⭐

Average Quality: 9.3/10Speed: 1.1 secondsCost: $0.0001

Better than expected - Often improves on original translations!
Context-aware - Understands it's a modern UI interface
Length-smart - Automatically preserves space constraints

See full test results →

🔧 How It Works

1. Intelligent Setup & Context Detection

# Using npm/npx/bunx/deno
npx translator-sync init
  • Auto-detects project context from package.json description and README.md
  • Suggests smart defaults based on your project type (UI, docs, API, etc.)
  • Stores raw project description in .translator-sync.json for full customization
  • You can edit the description during setup or anytime later for perfect context

2. Smart Context Optimization

On first run, TranslatorSync:

  • Analyzes your project description using AI to extract key context
  • Determines optimal translation approach: domain (UI/docs/marketing), tone (casual/formal), length constraints
  • Learns from existing translations to match your established style and terminology
  • Caches context settings for consistent future translations

3. Intelligent Translation Process

# Run anytime after adding new keys
npx translator-sync     # npm
bunx translator-sync    # Bun  
deno run -A npm:translator-sync  # Deno
  • Scans only missing keys - finds what exists in primary language but missing in others
  • Preserves existing translations - never overwrites your current work
  • Applies learned context - domain-appropriate style, consistent terminology, proper length
  • Handles variables perfectly - maintains {{user}}, {count}, %{name} exactly
  • Updates only what's needed - surgical precision, never breaks builds

4. Easy Customization & Re-translation

  • Edit project description anytime in .translator-sync.json to refine translation style
  • Re-translate any key by simply deleting it from translation files
  • Bulk re-translation by clearing entire language files
  • Instant context updates - description changes apply to next translation run
  • Consistent results - same keys always translate the same way

5. Production-Ready Workflow

# Your typical workflow:
1. Add new English keys to your app
2. Run `npx translator-sync` (or bunx/deno equivalent)
3. All missing translations appear instantly
4. Deploy with confidence - zero broken builds

Perfect for:

  • 🚀 Rapid development - Add features without translation delays
  • 🔄 Continuous localization - Keep translations in sync as you build
  • 🎯 A/B testing - Quickly translate experimental copy
  • 🌍 Multi-language launches - Support new languages in minutes

📖 Usage

1. Initialize (First Time)

# Using npm
npx translator-sync init

# Using Bun
bunx translator-sync init

# Using Deno
deno run -A npm:translator-sync init

🌐 TranslatorSync Setup

Select translation provider:
1. OpenAI (GPT-4.1-nano) - Best quality ✅
2. DeepSeek (DeepSeek-v3) - Budget-friendly
3. Other (see docs for more options)

? Enter choice (1-3): 1
? Enter your OPENAI API key: ***
? Primary language code (default: en): en
? Where are your translation files? ./locales

✅ Configuration saved to .translator-sync.json

2. Sync Translations

# If installed as dependency, add to package.json scripts:
"scripts": {
  "translate": "translator-sync"
}

# Then run:
npm run translate      # npm
bun run translate      # Bun
deno task translate    # Deno (add to deno.json tasks)

# Or run directly:
npx translator-sync
bunx translator-sync
deno run -A npm:translator-sync

# With options:
npx translator-sync --dry-run --verbose

📁 Supported Directory Structures

React i18next (Subdirectories)

locales/
├── en/
│   └── translation.json
├── es/
│   └── translation.json
└── fr/
    └── translation.json

Flat Structure

locales/
├── en.json
├── es.json
└── fr.json

Namespaced Files

locales/
├── en/
│   ├── common.json
│   ├── dashboard.json
│   └── auth.json
└── es/
    ├── common.json
    ├── dashboard.json
    └── auth.json

Fluent (.ftl) Files

locales/
├── en.ftl
├── es.ftl
└── fr.ftl

🔧 Configuration

TranslatorSync uses a .translator-sync.json file:

{
  "version": "1.0",
  "provider": "openai",
  "model": "gpt-4.1-nano", 
  "baseUrl": "https://api.openai.com/v1",
  "primaryLanguage": "en",
  "directories": ["./locales", "./public/locales"],
  "options": {
    "preserveFormatting": true,
    "costWarningThreshold": 1.0,
    "maxConcurrentRequests": 3
  }
}

Environment Variables

# Required
TRANSLATOR_API_KEY=your-api-key-here

# Provider configuration
TRANSLATOR_SERVICE=openai              # Provider type
TRANSLATOR_MODEL=gpt-4.1-nano         # Model name
TRANSLATOR_BASE_URL=https://api.openai.com/v1  # API endpoint

# Optional
LOG_LEVEL=info                         # debug, info, warn, error
NODE_ENV=production                    # Environment

Enterprise Note: Set TRANSLATOR_BASE_URL to your internal LLM API endpoint for complete data control.

🤖 AI Providers & Models

TranslatorSync works with any OpenAI-compatible API, including self-hosted models for enterprise security requirements.

Supported Providers

ProviderModelsSecuritySetup
OpenAIgpt-4.1-nano, gpt-4.1-miniCloud serviceAPI key required
DeepSeekdeepseek-v3Cloud serviceAPI key required
Self-hostedAny OpenAI-compatibleFull controlCustom base URL
Enterprise LLMAnthropic, Google, AzurePrivate infrastructureOpenAI-compatible wrapper

Enterprise & Self-Hosted Support

For companies with security requirements or existing LLM infrastructure:

# Use your own hosted LLM API
export TRANSLATOR_API_KEY=your-internal-key
export TRANSLATOR_SERVICE=openai  # Uses OpenAI-compatible format
export TRANSLATOR_BASE_URL=https://your-internal-llm.company.com/v1
export TRANSLATOR_MODEL=your-model-name

Benefits:

  • No external API dependencies
  • Complete data control and privacy
  • Use existing enterprise LLM infrastructure
  • Same functionality as cloud providers

Provider Setup

Cloud Providers:

# OpenAI
export TRANSLATOR_API_KEY=sk-...
export TRANSLATOR_SERVICE=openai
export TRANSLATOR_MODEL=gpt-4.1-nano

# DeepSeek  
export TRANSLATOR_API_KEY=sk-...
export TRANSLATOR_SERVICE=deepseek
export TRANSLATOR_MODEL=deepseek-v3

Self-hosted/Enterprise:

# Your internal LLM infrastructure
export TRANSLATOR_API_KEY=your-api-key
export TRANSLATOR_SERVICE=openai
export TRANSLATOR_BASE_URL=https://llm.yourcompany.com/v1
export TRANSLATOR_MODEL=your-model-name

🎯 Variable Support

Automatically preserves all variable formats:

  • React i18next: {{name}}, {{count}}
  • Vue i18n: {name}, {count}
  • React Intl: {name}
  • Ruby i18n: %{name}
  • Fluent: {$name}

📝 Example Translation

English (en/translation.json):

{
  "welcome": "Welcome, {{name}}!",
  "items": "You have {{count}} items",
  "auth": {
    "login": "Please log in to continue",
    "error": "Invalid credentials"
  }
}

Auto-translated Spanish (es/translation.json):

{
  "welcome": "¡Bienvenido, {{name}}!",
  "items": "Tienes {{count}} artículos",
  "auth": {
    "login": "Por favor inicia sesión para continuar",
    "error": "Credenciales inválidas"
  }
}

💰 Cost Estimation

Typical Usage

  • Initial setup (1000 keys): ~$0.05-$0.10
  • Regular sync (20 keys): ~$0.001-$0.005
  • Monthly usage (100 keys): ~$0.01-$0.05

Real Example

translator-sync

📁 locales/
   Primary: en.json (1045 keys)
   🔄 es.json - 20 missing keys
   ✅ Updated es.json

📊 Summary:
   Translations: 20
   Cost: $0.0006
   Mode: Production

🔄 CI/CD Integration

GitHub Actions

name: Sync Translations
on:
  push:
    paths: ["locales/en/**"]

jobs:
  sync:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4

      - name: Setup Node.js
        uses: actions/setup-node@v4
        with:
          node-version: "20"

      - name: Sync Translations
        env:
          TRANSLATOR_API_KEY: ${{ secrets.TRANSLATOR_API_KEY }}
          TRANSLATOR_SERVICE: openai
          TRANSLATOR_MODEL: gpt-4.1-nano
        run: |
          npx translator-sync

      - name: Commit Changes
        run: |
          git config --local user.email "bot@company.com"
          git config --local user.name "Translation Bot"
          git add locales/
          git diff --staged --quiet || git commit -m "chore: sync translations [skip ci]"
          git push

🏗️ Development

Requirements

  • Bun v1.2+ (primary runtime)
  • Node.js 18+ (npm compatibility)
  • TypeScript 5+

Local Development

# Clone repository
git clone https://github.com/your-org/translator-sync.git
cd translator-sync

# Install dependencies
bun install

# Run tests
bun test

# Run linting
bun run check

# Build for production
bun run build

Testing

# Run all tests
bun test

# Run unit tests only
bun test tests/unit/

# Run integration tests only
bun test tests/integration/

# Run with coverage report
bun test --coverage

# Run with real API (requires API key)
TRANSLATOR_API_KEY=sk-... bun test tests/integration/llm/

CI/CD

TranslatorSync uses GitHub Actions for continuous integration:

  • Automated testing on all PRs
  • Code coverage enforcement (minimum 50%)
  • Linting & formatting checks
  • Type safety validation
  • Security audits for dependencies
  • Multi-platform testing (Ubuntu, macOS, Windows)

See CI/CD documentation for details.

🔧 Advanced Usage

Custom Context

# Technical documentation
translator-sync --context="technical"

# Marketing content
translator-sync --context="marketing"

# Specific tone
translator-sync --context="formal"

Batch Processing

# Process multiple directories
translator-sync ./web/locales ./mobile/locales ./api/locales

# Large projects with rate limiting
translator-sync --max-concurrent=1 --delay=1000

Quality Control

# Review mode (manual approval)
translator-sync --review

# Quality scoring
translator-sync --quality-check

# Translation memory
translator-sync --use-memory

🚀 Roadmap

v1.0 (Current)

  • ✅ JSON & Fluent support
  • ✅ OpenAI, DeepSeek, Groq providers
  • ✅ Variable preservation
  • ✅ Cost tracking

v1.1 (Next)

  • 🚧 Anthropic Claude support
  • 🚧 Google Gemini support
  • 🚧 Translation memory
  • 🚧 Quality scoring

v1.2 (Future)

  • 📋 Pluralization rules
  • 📋 Context-aware translation
  • 📋 Translation review workflow
  • 📋 Custom translation models

🤝 Contributing

We welcome contributions! Please see our Contributing Guide for complete documentation.

Note: This repository uses Jujutsu (jj) and master as the default branch.

Quick Start

# Fork and clone your fork
jj git clone https://github.com/your-username/translator-sync.git

# Create new changelist from master
jj new master -m "feat: add amazing feature"

# Make changes and test
bun test

# Create bookmark and push for PR
jj bookmark create feat-amazing -r @
jj git push --bookmark feat-amazing --allow-new

🚀 Roadmap

Coming Soon

  • Privacy-First Telemetry - Anonymous usage analytics and automatic feedback gathering to improve the tool

📚 Documentation

📄 License

MIT © TranslatorSync Contributors

🙏 Acknowledgments

  • Built with Bun - Fast JavaScript runtime
  • Powered by OpenAI, DeepSeek, Groq
  • Inspired by the i18n community

Made with ❤️ for the internationalization community

⭐ Star us on GitHub📦 View on npm🐛 Report Issues

Keywords

react-i18n

FAQs

Package last updated on 10 Jun 2025

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts