
Company News
/Security News
Socket Selected for OpenAI's Cybersecurity Grant Program
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.
translator-sync
Advanced tools
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.
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
{{variables}}, {variables}, %{variables}, etc.| Feature | TranslatorSync | i18n-ally | Transmart | Others |
|---|---|---|---|---|
| Auto-translate missing keys only | ✅ | ❌ Manual | ⚠️ Overwrites | ❌ |
| Preserves existing translations | ✅ Always | ✅ | ❌ Dangerous | Varies |
| AI with context awareness | ✅ Full context | ❌ | ❌ | ❌ |
| Understands your project | ✅ Reads docs | ❌ | ❌ | ❌ |
| Self-hosted LLM support | ✅ Exclusive | ❌ | ❌ | ❌ |
| Multiple AI providers | ✅ 3+ | ❌ | ❌ OpenAI only | Limited |
| Production quality | ✅ 92% coverage | - | - | - |
🏢 Enterprise-Ready with Self-Hosted LLMs
🧠 Intelligent Translation (Not Just ChatGPT Wrapper)
✅ Respects Your Work
See detailed competitive analysis →
# Run without installation
npx translator-sync init
# Or install as dev dependency
npm install --save-dev translator-sync
# Run without installation
bunx translator-sync init
# Or install as dev dependency
bun add --dev translator-sync
# Run directly
deno run -A npm:translator-sync init
Tested on Chatbot UI (React + Next.js + react-i18next):
| English | Expected | TranslatorSync | Quality |
|---|---|---|---|
| "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/10 • Speed: 1.1 seconds • Cost: $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
# Using npm/npx/bunx/deno
npx translator-sync init
package.json description and README.md.translator-sync.json for full customizationOn first run, TranslatorSync:
# Run anytime after adding new keys
npx translator-sync # npm
bunx translator-sync # Bun
deno run -A npm:translator-sync # Deno
{{user}}, {count}, %{name} exactly.translator-sync.json to refine translation style# 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:
# 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
# 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
locales/
├── en/
│ └── translation.json
├── es/
│ └── translation.json
└── fr/
└── translation.json
locales/
├── en.json
├── es.json
└── fr.json
locales/
├── en/
│ ├── common.json
│ ├── dashboard.json
│ └── auth.json
└── es/
├── common.json
├── dashboard.json
└── auth.json
locales/
├── en.ftl
├── es.ftl
└── fr.ftl
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
}
}
# 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.
TranslatorSync works with any OpenAI-compatible API, including self-hosted models for enterprise security requirements.
| Provider | Models | Security | Setup |
|---|---|---|---|
| OpenAI | gpt-4.1-nano, gpt-4.1-mini | Cloud service | API key required |
| DeepSeek | deepseek-v3 | Cloud service | API key required |
| Self-hosted | Any OpenAI-compatible | Full control | Custom base URL |
| Enterprise LLM | Anthropic, Google, Azure | Private infrastructure | OpenAI-compatible wrapper |
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:
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
Automatically preserves all variable formats:
{{name}}, {{count}}{name}, {count}{name}%{name}{$name}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"
}
}
translator-sync
📁 locales/
Primary: en.json (1045 keys)
🔄 es.json - 20 missing keys
✅ Updated es.json
📊 Summary:
Translations: 20
Cost: $0.0006
Mode: Production
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
# 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
# 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/
TranslatorSync uses GitHub Actions for continuous integration:
See CI/CD documentation for details.
# Technical documentation
translator-sync --context="technical"
# Marketing content
translator-sync --context="marketing"
# Specific tone
translator-sync --context="formal"
# Process multiple directories
translator-sync ./web/locales ./mobile/locales ./api/locales
# Large projects with rate limiting
translator-sync --max-concurrent=1 --delay=1000
# Review mode (manual approval)
translator-sync --review
# Quality scoring
translator-sync --quality-check
# Translation memory
translator-sync --use-memory
We welcome contributions! Please see our Contributing Guide for complete documentation.
Note: This repository uses Jujutsu (jj) and master as the default branch.
# 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
MIT © TranslatorSync Contributors
Made with ❤️ for the internationalization community
FAQs
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.
The npm package translator-sync receives a total of 1 weekly downloads. As such, translator-sync popularity was classified as not popular.
We found that translator-sync demonstrated a healthy version release cadence and project activity because the last version was released less than a year ago. It has 1 open source maintainer collaborating on the project.
Did you know?

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.

Company News
/Security News
Socket is an initial recipient of OpenAI's Cybersecurity Grant Program, which commits $10M in API credits to defenders securing open source software.

Security News
Socket CEO Feross Aboukhadijeh joins 10 Minutes or Less, a podcast by Ali Rohde, to discuss the recent surge in open source supply chain attacks.

Research
/Security News
Campaign of 108 extensions harvests identities, steals sessions, and adds backdoors to browsers, all tied to the same C2 infrastructure.