.agents/skills/translation-source-sync/SKILL.md
Use this skill when UniGetUI source code changed and you need to keep src/Languages/lang_en.json aligned with the strings actually used by the application, or when you need downstream locale files reordered to match the English key ordering.
It scans supported C#, WinUI XAML, and Avalonia AXAML patterns, finds missing English keys, removes unused entries, reports translation-source warnings that still need manual cleanup, and can align locale file ordering to the English layout.
lang_en.json.CoreTools.Translate($"...") calls that are not synchronized automatically.CoreTools.Translate("...") in C#.CoreTools.AutoTranslated("...") in C#.widgets:TranslatedTextBlock Text="..." in WinUI XAML.settings:TranslatedTextBlock Text="..." in Avalonia AXAML.{t:Translate Some text} and {t:Translate Text='A, B, C'} in Avalonia AXAML.CoreTools.Translate($"Running {value}").scripts/sync-translation-sources.ps1: Skill wrapper around the repository sync script.scripts/set-translation-boundary-order.ps1: Skill wrapper around the repository locale reordering script.scripts/test-translation-source-sync.ps1: Skill wrapper around the repository smoke test.../../../../scripts/translation/Sync-TranslationSources.ps1: Canonical repository implementation used by the wrapper.../../../../scripts/translation/Set-TranslationBoundaryOrder.ps1: Canonical repository implementation used by the wrapper.../../../../scripts/translation/Test-TranslationSourceSync.ps1: Canonical smoke test used by the wrapper.Synchronize the checked-in English language file in place:
pwsh ./.agents/skills/translation-source-sync/scripts/sync-translation-sources.ps1
Check whether the English file is out of sync without writing changes:
pwsh ./.agents/skills/translation-source-sync/scripts/sync-translation-sources.ps1 -CheckOnly
Reorder locale files to match the English key ordering:
pwsh ./.agents/skills/translation-source-sync/scripts/set-translation-boundary-order.ps1
Preview whether locale files need reordering without writing changes:
pwsh ./.agents/skills/translation-source-sync/scripts/set-translation-boundary-order.ps1 -CheckOnly
Run the smoke test:
pwsh ./.agents/skills/translation-source-sync/scripts/test-translation-source-sync.ps1
-CheckOnly reports drift, run the full sync to rewrite lang_en.json.pwsh ./.agents/skills/translation-source-sync/scripts/set-translation-boundary-order.ps1 to align locale ordering with English.pwsh ./scripts/translation/Verify-Translations.ps1 to confirm the language files still validate cleanly.pwsh ./.agents/skills/translation-source-sync/scripts/test-translation-source-sync.ps1 if you changed the sync workflow itself.key == value.