Skip to content

KhazP/Localization-Comparison-Tool

Localization Comparison Tool

Flutter Platform License CI Windows Build GitHub stars

A desktop app for comparing, analyzing, and improving localization files with a fast diff workflow, quality checks, and AI-assisted translation support.

Localization Comparison Tool Main View

Mission

Localization work should be clear, fast, and trustworthy.

This project helps teams compare source and target translations, catch missing or risky changes early, and ship multilingual products with confidence.

Development Status

Current status: Beta

  • Core comparison, history, dashboard, and settings features are production-usable.
  • Active development continues for AI and advanced workflow polish.

Existing Analogues

This project takes inspiration from several translation and diff tools while focusing on desktop-first localization workflows:

  • Pontoon and Weblate for collaborative localization ideas.
  • Lokalise and Crowdin for quality and workflow concepts.
  • Generic diff tools for side-by-side change inspection.

The differentiation here is a local desktop-first app that combines file diffing, translation quality checks, and AI-assisted workflow in one place.

Free and Open Source

This project is free to use, free to fork, and open to contributions.

Key Features

Intelligent Comparison and Analysis

  • Visual diff with added, removed, and modified indicators.
  • Advanced row-level diff for deep analysis.
  • Similarity detection for modified strings.

Batch Processing and Directories

  • Compare whole directories, not just single files.
  • Smart matching for source and target files.

Quality Dashboard

  • Coverage and missing-translation visibility.
  • Visual insights to track localization quality.

History and Session Management

  • Automatic session history.
  • One-click restore for previous comparisons.

Flexible Settings

  • Theme and accent customization.
  • AI provider configuration.
  • Ignore patterns and comparison tuning.

Supported File 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 localization/config files
Properties .properties Java/Kotlin properties
RESX .resx .NET resource files

Requirements

  • Flutter SDK 3.19+
  • Dart SDK (bundled with Flutter)
  • Windows 10/11, macOS, or Linux desktop environment

Download

Development Builds

Every time code is pushed to main, a fresh Windows build is automatically compiled and uploaded.

These are bleeding-edge builds — you get the very latest features and fixes before they appear in an official release, but they may occasionally be less stable.

How to get one:

  1. Go to the Build Windows Actions page
  2. Click the most recent successful run (green checkmark ✅)
  3. Scroll to the bottom and download localizer-windows-release
  4. Unzip and run localizer_app_main.exe — no installation needed

These builds are not code-signed. Windows may show a security warning the first time you run the app. Click "More info" → "Run anyway" to proceed.

Installation

Run from release package

  1. Open the Releases page.
  2. Download the latest desktop package.
  3. Extract and run the application.

Build from source

git clone https://github.com/KhazP/Localization-Comparison-Tool.git
cd Localization-Comparison-Tool
flutter pub get
dart run build_runner build --delete-conflicting-outputs
flutter run -d windows

Communication Channels

Documentation

Developer Guidelines

Examples and Screenshots

Advanced Diff View Quality Dashboard History View Settings View

Contributing

Contributions are welcome and appreciated.

Please read CONTRIBUTING.md before opening a pull request.

License

This project is licensed under the Mozilla Public License 2.0. See LICENSE.