What problem does it solve?
When UniGetUI source code changes, the English language file lang_en.json drifts out of sync with the strings actually used in the application, leaving missing keys, unused entries, and inconsistently ordered locale files that translators must reconcile manually.
Core Features & Use Cases
- Source Scanning and Sync: Extracts literal translation keys from C# (CoreTools.Translate, CoreTools.AutoTranslated), WinUI XAML, and Avalonia AXAML patterns, then adds missing keys and removes unused entries from lang_en.json.
- Locale Reordering: Reorders non-English locale files to match the English key ordering, appending unmapped locale-only keys at the end.
- Drift Detection and Smoke Testing: Supports -CheckOnly modes to report drift without writing changes, plus a smoke test that runs against a temporary synthetic repo.
- Use Case: After renaming a translatable string in a C# view model, run the sync script to update lang_en.json, review warnings about interpolated Translate calls, then reorder locale files and verify translations before handing off to translators.
Quick Start
Ask the assistant to sync the UniGetUI English language file with the source code and report any missing or unused translation keys.