Introduction
LocaleOps prevents wasted translation work by tracking what changed in your source language and detecting when existing translations become stale - all while keeping your strings in Git instead of a vendor’s database.
The problem: When developers change source strings (e.g., “Submit Form” → “Submit Your Application”), existing translations become wrong, but most tools don’t detect this. Teams waste money re-translating or ship incorrect translations.
The solution: LocaleOps snapshots your source language after each translation, then diffs against it to detect exactly what changed. No vendor lock-in, no external database - everything stays in Git.
Key Features
Section titled “Key Features”- Git-Native: Translations stay in your repository under version control
- Framework Support: Works with i18next, FormatJS, and custom parsers
- Provider Agnostic: Use any translation service (AI, human, or agency)
- Change Detection: Automatically detects new and modified strings
- CI/CD Ready: Runs entirely in GitHub Actions or any CI pipeline
- Pull Request Automation: Creates PRs for translation updates
- Extensible Architecture: Built on base classes for custom frameworks, storage, and workflows
Quick Start
Section titled “Quick Start”Installation
Section titled “Installation”npm install -g @localeops/localeopsConfiguration
Section titled “Configuration”Create a localeops.yml file in your project root:
framework: name: i18next locale: en directory: ./locales
database: adapter: name: file
source: name: github base: main repo: your-org/your-repo token: ${GITHUB_TOKEN}
locales: - es - frBasic Usage
Section titled “Basic Usage”Extract new and changed strings:
localeops extractApply completed translations:
localeops apply <translations-json>Make initial snapshots for all configured target locales:
localeops syncAutomation
Section titled “Automation”For automated workflows, check out the GitHub Actions examples.
For complete configuration options, see the localeops.yml reference.
Example Projects
Section titled “Example Projects”Complete starter templates with AI-powered translation workflows:
- React + Vite + i18next - Ready-to-use i18next template
- React + Vite + FormatJS - Ready-to-use FormatJS template
Learn More
Section titled “Learn More”- Motivation - Why LocaleOps exists and what problems it solves
- Architecture - How LocaleOps works and workflow patterns
- Examples - Ready-to-use GitHub Actions workflows