KhazP/Localization-Comparison-Tool
A powerful, cross-platform localization tool built with Flutter. Visually compare, manage, and translate i18n files (JSON, XML, ARB) with or without AI assistance.
π Localization Comparison Tool
A powerful, modern desktop application for comparing, analyzing, and managing localization files. Built with Flutter for native performance.
π― What It Does
The Localization Comparison Tool helps developers, translators, and localization teams efficiently manage their translation workflows. Beyond just comparing files, it offers a complete suite of tools for validating translations, tracking changes, and ensuring quality across your entire project.
β¨ Key Features
π Intelligent Comparison & Analysis
Stop squinting at JSON files. Our advanced diff engine automatically highlights added, removed, and modified keys.
- Visual Diff: Clear color-coded indicators for all changes.
- Deep Dive: Switch to the Advanced Diff view for a granular, row-by-row analysis of changes.
- Similarity Detection: Smart algorithms detect how much a modified string has changed.
π Batch Processing & Directories
Need to compare entire languages? Drag and drop folders to compare multiple files at once.
- Directory Comparison: Compare matching files across two different directories.
- Smart Matching: Automatically pairs files based on structure and naming.
π Quality Dashboard
Keep your localization health in check with the integrated Quality Dashboard.
- Analytics: See translation progress, missing keys, and potential issues at a glance.
- Visual Reports: Charts and graphs to visualize your project's localization status.
π History & Session Management
Never lose track of a comparison. The History allows you to revisit past sessions instantly.
- Session Tracking: Every comparison is saved automatically.
- Quick Restore: One-click to reload previous file pairs and settings.
βοΈ Comprehensive Settings
Tailor the tool to your workflow.
- AI Integration: Configure API keys for AI-powered translation suggestions (Gemini, etc.).
- Theming: Choose between Light, Dark, and AMOLED modes with custom accent colors.
- Ignored Patterns: Set up regex rules to ignore specific keys (like metadata or IDs).
π§ Supported File Formats
The tool supports a wide range of industry-standard formats:
| Format | Extensions | Description |
|---|---|---|
| JSON | .json, .arb |
Standard JSON and Flutter ARB files |
| XML | .xml |
Android strings.xml and generic XML |
| XLIFF | .xliff, .xlf |
Translation industry standard |
| TMX | .tmx |
Translation Memory eXchange |
| CSV | .csv |
Comma-separated values |
| YAML | .yaml, .yml |
YAML configuration/locale files |
| Properties | .properties |
Java/Kotlin properties |
| RESX | .resx |
.NET resource files |
π Installation & Setup
Option 1: Quick Start (Windows)
- Download the latest release from the Releases Page.
- Unzip and run the executable.
Option 2: Build from Source
Prerequisites:
- Flutter SDK (3.19+)
- Windows 10/11
# 1. Clone the repository
git clone https://github.com/KhazP/LocalizerAppMain.git
cd LocalizerAppMain
# 2. Install dependencies
flutter pub get
# 3. Generate data models
dart run build_runner build --delete-conflicting-outputs
# 4. Run the app
flutter run -d windowsπ€ Contributing
Contributions are welcome! This project uses:
- Flutter & Dart
- BLoC pattern for state management
- Hive for local persistence
- Material Design 3
Please read our Contributing Guide before getting started.
π License
This project is licensed under the Mozilla Public License 2.0. See the LICENSE file for details.
Made with β€οΈ and Flutter
Streamline your localization workflow today!





