β οΈ Status: Coming Soon - In Active Development
Compare and synchronize your translation files effortlessly. A fast, secure, browser-based tool for managing JSON localization files across multiple languages.
Perfect for developers, translators, and localization teams who need to:
- π Quickly spot missing translations between language files
- π― Identify untranslated placeholder text that's been copied across files
- βοΈ Edit translations directly without switching tools
- πΎ Keep translation files in sync across your project
- π Work with sensitive data locally (nothing uploaded to servers)
- π Multilingual interface (English and French)
Upload your JSON localization files (e.g., en.json and fr.json) and instantly see:
- π΄ Missing keys - Translations that exist in one file but not the other
- π‘ Identical values - Potential untranslated text (same value in both languages)
- βͺ Different values - Properly translated content
- Add missing keys with one click to either file
- Inline editing β click any identical-status primitive value (string, number, boolean, null) to edit it directly in the tree
- Type-safe parsing β edited values are automatically converted back to the correct JSON type (e.g.,
"true"βtrue,"42"β42) - Fix placeholders without leaving your browser
- Download modified files with all your changes
- Prettify JSON for consistent formatting
- Clean diffs for easier version control
- 100% client-side - All processing happens in your browser
- No uploads - Your files never leave your computer
- No tracking - We don't collect or store your data
- Open source - Inspect the code yourself on GitHub
Coming Soon! The tool will be available at a hosted URL. Simply:
- Visit the website
- Upload your first JSON translation file
- Upload your second JSON translation file
- Review differences with color-coded highlighting
- Edit, add missing keys, and export your updated files
No installation requiredβjust open your browser and start comparing!
Want to run it locally or contribute? See the Development Setup section below.
You've added new features to your app and need to ensure all languages are up to date.
β
Upload en.json (your main language file)
β
Upload fr.json (French translations)
π΄ Missing keys highlighted instantly
β Add missing keys with one click
πΎ Save updated fr.json
Sometimes placeholder text gets copied instead of translated.
β
Upload en.json: { "welcome": "Welcome" }
β
Upload fr.json: { "welcome": "Welcome" }
π‘ Identical values highlighted in yellow
βοΈ Click the value to edit inline β "Bienvenue"
πΎ Save corrected fr.json
Multiple team members working on translations? Keep files in sync.
β
Compare your local changes against the main branch
π΄ See what others added that you're missing
β Add new keys to your file
πΎ Export and commit synchronized files
- Upload - Drag and drop or select your JSON files
- Parse - Files are validated and structured into a nested tree
- Compare - Differences are calculated and color-coded (missing, identical, different)
- Edit - Click identical values to edit inline, or add missing keys with one click
- Export - Download your modified files with prettified JSON
All processing happens in your browserβfast, secure, and private.
Q: What file formats are supported? A: Valid JSON files only. The tool validates your files on upload.
Q: Is there a file size limit? A: Yes, 10 MB per file. This is sufficient for even very large translation projects.
Q: Can I use this offline? A: Yes! Once loaded, the app works completely offline. (Note: Initial download requires internet)
Q: Do you support other formats (YAML, XML, etc.)? A: Currently JSON only. Other formats may be added based on user demand.
Q: How are keys counted for tier limits?
A: Every key including parent objects counts. Example: { "user": { "profile": { "name": "John" } } } = 3 keys.
Q: What happens if I exceed my tier limit? A: You'll see an error message and be prompted to upgrade or use a smaller file.
- Live App: Coming Soon
- GitHub: iirving/json-l10n-diff
- Report Issues: GitHub Issues
- Request Features: GitHub Discussions
- π§ Email: support@[domain-coming-soon]
- π¬ Discussions: GitHub Discussions
- π Bug Reports: GitHub Issues
- Vue 3.5.22 - Progressive JavaScript framework
- Vite 7.1.14 (Rolldown variant) - Lightning-fast build tool
- Pinia 2.2.8 - State management
- JavaScript ES6+ - Modern JavaScript
# Clone the repository
git clone https://github.com/iirving/json-l10n-diff.git
cd json-l10n-diff
# Install dependencies
npm install
# Start development server (http://localhost:5173)
npm run dev
# Build for production
npm run buildThe ./data directory contains l10n JSON test files for development, testing, and examples:
data/
βββ test1/
βββ test1.en.json # English test file
βββ test1.fr.json # French test file
Use these files to test the tool during development or as reference examples.
Current Phase: Implementation in progress (MVP development)
- β Planning & specifications complete
- β Architecture & component design finalized
- π Core features being implemented
- β³ Expected MVP: 2-3 weeks
- β³ Full release: 4-6 weeks
We welcome contributions! Check out:
- CONTRIBUTING.md - Contribution guidelines
- Tasks Breakdown - Pick a task to work on
- Component Contracts - Technical specs
- Architecture Overview - System design and patterns
- Feature Specification - User stories and requirements
- Implementation Plan - Technical roadmap
- Quick Start Guide - Developer onboarding
This project is licensed under the MIT License - free to use, modify, and distribute.
Built with β€οΈ using Vue 3 + Vite | Privacy-first localization comparison tool