Move language files, prune legacy strings, and translate all languages to 100%#4647
Merged
Gabriel Dufresne (GabrielDuf) merged 60 commits intomainfrom Apr 27, 2026
Merged
Conversation
Move lang_*.json from src/UniGetUI.Core.LanguageEngine/Assets/Languages/ to src/Languages/ to break old UniGetUI versions downloading from the previous GitHub raw URL on startup. Remove the __LEGACY_TRANSLATION_KEYS_BELOW__ marker and all legacy backward-compatibility translation keys (~430 entries per file) from all 59 language files. Update all references: csproj (with Link metadata to preserve runtime output path), LanguageEngine.cs download URL, translation scripts, SKILL.md docs, CI workflow paths, and TRANSLATION.md. Make boundary alignment and metadata scripts tolerate absent legacy boundary markers gracefully. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
The method downloaded language files from GitHub on startup and cached them locally. Since language files are now bundled and the cache is already ignored by LoadLanguageFile, this was dead code. Removing it ensures old app versions cannot pull translations from the new path. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Remove references to legacy boundary markers, -ActiveOnly flag, and legacy key sections from SKILL.md files in translation-status, translation-diff-export, and translation-source-sync skills. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add 49 new English keys extracted from source code (crash report UI, navigation, vcpkg controls, Chocolatey migration notice, etc.). Remove 11 unused keys no longer referenced in source. Refresh translation percentages and documentation. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Move LanguagesReference.json, TranslatedPercentages.json, and Translators.json from src/UniGetUI.Core.LanguageEngine/Assets/Data/ to src/Languages/Data/ alongside the language files. Use csproj Link metadata to preserve runtime output paths. Remove the now-empty Assets/ directory from the LanguageEngine project. Update all references in scripts, CI workflow, TRANSLATION.md, and skill scripts. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translated all 51 missing keys into Greek, including: - Crash report dialog strings (report, email, details) - Navigation and UI labels (back, forward, reload, etc.) - Package manager descriptions (APT, DNF, Pacman) - Chocolatey setup change notification - Sort order, time duration, and settings messages Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing keys and add 3 new crash-report keys. Remove 11 obsolete keys no longer present in lang_en.json. Final: 775/775 keys, validated with Verify-Translations.ps1. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing keys and 3 newly added crash-report keys into Danish. Remove 11 obsolete keys no longer present in lang_en.json. Reorder keys to match English file order. Validated with Verify-Translations.ps1 — no placeholder issues. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing keys into Finnish, bringing lang_fi.json to full parity with lang_en.json (775/775 keys). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing keys into Belarusian, bringing lang_be.json to full parity with lang_en.json (775/775 keys). Also remove 11 obsolete keys no longer present in the English source. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 54 missing/untranslated keys including crash report dialog strings, navigation labels, package manager descriptions for Linux distros, time duration strings, and the Chocolatey setup change notice. Also removes 11 obsolete keys no longer in lang_en.json. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 53 missing keys into Persian/Farsi, remove 11 obsolete keys no longer present in lang_en.json, and reorder entries to match the English key order. Validation passes with no placeholder issues. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing/outdated keys and remove 11 obsolete keys that no longer exist in the English source file. New translations include crash report dialog, navigation controls, Linux package manager descriptions, time duration strings, and the Chocolatey setup change notice. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 50 missing keys into Hebrew, remove 11 obsolete keys not present in lang_en.json, and add 3 keys with special characters (en-dash, ellipsis) that were previously missing. Final result: 775/775 keys translated, validated with no placeholder issues. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing/outdated keys into Croatian, including: - Crash report UI strings - Navigation and sorting controls - Linux package manager descriptions (APT, DNF, Pacman) - Chocolatey setup change notification - Time duration strings - Settings import/export messages Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing/untranslated keys plus 3 additional keys into Japanese, bringing lang_ja.json to full parity with lang_en.json (775/775 keys). Remove 11 obsolete keys no longer in the English source. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing keys into Hungarian, including: - Crash report dialog strings - Navigation and UI labels - Package manager descriptions (APT, DNF, Pacman) - Chocolatey setup change notification - Time duration strings Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 53 missing keys and remove 11 extra keys not present in the English source file. Reorder keys to match lang_en.json order. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 53 missing keys and remove 11 obsolete keys no longer present in the English source file. The French translation now covers all 775 keys at parity with lang_en.json. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 53 missing keys into Georgian, bringing the lang_ka.json file from partial coverage to full 100% parity with lang_en.json (775/775 keys). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add 53 missing keys and fix 4 untranslated entries in lang_id.json. Includes crash report dialog, navigation UI, Linux package manager descriptions, time duration strings, and Chocolatey setup notice. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 50 missing keys and add 3 keys with special characters (em-dash, ellipsis) to bring lang_kn.json to full parity with lang_en.json (775/775 keys). Validated with Verify-Translations.ps1. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 53 missing keys and fix 4 source-equal entries that still had English values. Remove 11 extra keys not present in the English source file. Validated with Verify-Translations.ps1. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 53 missing keys and remove 11 extra keys not present in the English source file. The Filipino translation now covers all 775 keys with validated placeholders. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 53 missing keys and remove 11 obsolete keys to bring lang_it.json to full parity with lang_en.json (775/775 keys). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing/source-equal keys into Kurdish (Sorani), including crash report UI, navigation controls, package manager descriptions, and the Chocolatey deprecation notice. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing keys into Polish, including: - Crash report dialog strings - Navigation and UI labels - Package manager descriptions (APT, DNF, Pacman) - Chocolatey setup change notification - Time duration formats Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing keys and 3 newly added keys into Dutch, aligning lang_nl.json with lang_en.json at 775/775 keys. Remove 11 obsolete keys no longer present in the English source. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing keys into Macedonian, bringing lang_mk.json to full parity with lang_en.json (775/775 keys). Includes UI strings for crash reporting, navigation, source management, package manager descriptions, time durations, and Chocolatey setup changes. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing/outdated keys including crash report dialog, navigation UI, vcpkg source management, Linux package manager descriptions, Chocolatey setup notice, and miscellaneous strings. Remove 11 obsolete keys not present in lang_en.json. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing keys into Albanian, remove 11 obsolete keys not present in lang_en.json, and reorder to match English key order. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing/outdated keys including crash report UI, navigation controls, source management, time intervals, Linux package manager descriptions, and Chocolatey setup notice. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 54 missing/untranslated keys in lang_sv.json, remove 11 extra keys not present in lang_en.json, and reorder entries to match the English key order. Validated with Verify-Translations.ps1 — no placeholder issues found. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 53 missing/untranslated keys into European Portuguese, remove 11 obsolete keys no longer in lang_en.json, and reorder all entries to match the English key order. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 50 missing/outdated keys into Tagalog and remove 11 extra keys that no longer exist in the English source file. The lang_tl.json file now has all 775 keys matching lang_en.json. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 50 missing/changed keys and add 3 new keys to bring Sanskrit language file to full parity with lang_en.json (775/775 keys). Validation passes with no placeholder issues. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing keys and add 3 keys with special Unicode characters (em dash, ellipsis). Remove 11 extra keys not present in the English source. All 775 keys now match lang_en.json with no placeholder issues. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 53 missing/untranslated keys including crash report dialog, navigation controls, vcpkg settings, Linux package manager descriptions, time period labels, and Chocolatey setup notification. Remove 11 obsolete keys not present in the English source file. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 51 missing keys including crash report UI, navigation controls, vcpkg source management, sort order, Linux package manager descriptions, time duration strings, and Chocolatey setup notice. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 53 missing keys into Urdu, remove 11 obsolete keys no longer present in the English source file, and reorder entries to match lang_en.json key order. Validated with Verify-Translations.ps1 – no placeholder issues. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate all 50 missing keys and 3 newly-added keys into Tamil, bringing lang_ta.json to full parity with lang_en.json (775/775 keys). Validated with Verify-Translations.ps1 — no placeholder issues. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add translations for all 53 missing/untranslated keys in lang_vi.json, bringing Vietnamese coverage to 775/775 keys (100%). Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
- Added Turkish translations for all 53 keys missing from lang_tr.json - Removed 11 keys not present in lang_en.json - Reordered keys to match lang_en.json order - Verified: 775/775 keys match, no placeholder issues Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
… keys - Translated all 53 keys missing from lang_ca.json - Removed 11 extra keys not present in lang_en.json - Reordered keys to match lang_en.json key order - Verified: 775/775 keys match, no placeholder issues Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
…a keys - Added Afrikaans translations for all 53 keys missing from lang_en.json - Removed 11 keys that no longer exist in lang_en.json - Reordered keys to match lang_en.json key order - Verified: 775/775 keys match, no placeholder issues Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Translate 53 missing keys per language (crash report UI, navigation controls, vcpkg settings, Linux package manager descriptions, time durations, Chocolatey migration notice, etc.) and remove 11 obsolete keys from all language files. All 59 language files now have 775 keys matching the English source. Validation passes with no placeholder issues. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add 1 new English key for the Snap package manager description. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add the missing key 'The universal Linux package manager by Canonical...' with proper translations to: Macedonian, Marathi, Norwegian Bokmål, Dutch, Norwegian Nynorsk, Polish, Brazilian Portuguese, and European Portuguese. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add the missing key for the Snap/Canonical Linux package manager description to: de, el, eo, es, es-MX, et, fa, fi Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add the missing key 'The universal Linux package manager by Canonical...' with proper translations to: Afrikaans, Arabic, Belarusian, Bulgarian, Bangla, Catalan, Czech, and Danish. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add the missing key 'The universal Linux package manager by Canonical...' with proper translations to: Indonesian, Italian, Japanese, Georgian, Kannada, Korean, Kurdish, and Lithuanian. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Add the missing key 'The universal Linux package manager by Canonical...' with proper translations to: sv, ta, th, tl, tr, uk, ur, vi, zh_CN, zh_TW. Co-authored-by: Copilot <223556219+Copilot@users.noreply.github.com>
Gabriel Dufresne (GabrielDuf)
previously approved these changes
Apr 27, 2026
Gabriel Dufresne (GabrielDuf)
approved these changes
Apr 27, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
This PR moves translation assets to a shallower path, prunes legacy backward-compatibility strings, syncs with current source code, and brings all 58 languages to 100% coverage.
Move language files (
src/Languages/)lang_*.jsonfromsrc/UniGetUI.Core.LanguageEngine/Assets/Languages/tosrc/Languages/LanguagesReference.json,TranslatedPercentages.json,Translators.json) fromsrc/UniGetUI.Core.LanguageEngine/Assets/Data/tosrc/Languages/Data/<Link>metadataRemove
DownloadUpdatedLanguageFilePrune legacy translation keys
__LEGACY_TRANSLATION_KEYS_BELOW__marker and ~430 legacy entries from all 59 language filesSync with source code
Translate all languages to 100%