Repository navigation
Conversation
Vondry
force-pushed
the
fix/translation-files
branch
3 times, most recently
from
July 20, 2026 17:21
0726a3c to
ff86c02
Compare
Contributor
Author
Member
|
This is not reviewable in it's current form. I need to ask you to split the work done in separate PRs to be able to do something with this. My suggestion for PRs would be:
And possibly even more. Keep it simple. |
Vondry
force-pushed
the
fix/translation-files
branch
from
August 3, 2026 13:20
ff86c02 to
d313106
Compare
This was referenced Aug 3, 2026
This was referenced Aug 14, 2026
This was referenced Sep 25, 2026
|
In an effort to keep our pull request list manageable, we are marking this PR as stale because it has been 60 days without activity. If this PR is still relevant, please let us know by posting a quick comment or update so that it can be assigned and hopefully merged. |
… strings Removes dead/duplicate keys, adds missing keys, and fixes ~77 broken translations (unescaped placeholders, dropped variables, wrong meanings) across the messages, security, and validators domains. Every locale file is now byte-parity synced to its *.en.xlf counterpart: same keys, order, unit ids, and usage notes. Adds bin/validate-translations and bin/update-translation-notes to keep the catalogues in sync going forward, and wires the validator into CI.
Vondry
force-pushed
the
fix/translation-files
branch
from
October 9, 2026 18:02
d313106 to
000e0d8
Compare
This branch has not been deployed
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
Audits and repairs the
messages,securityandvalidatorstranslation catalogues (translations/*.xlf, 3 domains × 15–17 locales, 45 files). It also adds two scripts that keep the catalogues correct and in sync from now on.Rebased onto 6.1.9. Several earlier fixes have since landed on master separately: the XLIFF 1.2 → 2.0 conversion, the
trgLang/<file id>header corrections,general.phrase.none, the Slovak catalogues, and a number of placeholder fixes. This PR builds on top of those.Translation catalogue fixes
messages.en.xlf(leftovers from deleted templates, replaced field labels, keys duplicated from other domains, unused language-name labels, etc.) and 29 fromvalidators.en.xlf(corrupted entries with hex-string keys and obsolete demo entries). Every locale was cleaned up to match.securitydomain. The app uses them, but they were missing from the catalogues. Locale targets come from Symfony's own vendor catalogues.<target>elements. This fills in about 1,650 missing keys with real translations, including:validators.it,validators.plandvalidators.pt_BR, recreated from Symfony's vendor catalogues (they previously contained only invalid entries);messages.pt_BR.xlf, brought back with full translations (it was removed earlier only because it was empty).zh_CNstrings,nl/it/elUI labels);title.edit_user_profile,caption.kitchensink,image.placeholder_filename);sr-onlyspans;password.suggested.messages.frnow match English (12reset_password.*/ form units).<notes>blocks in every catalogue so they record where each key is actually used.messagesnotes point to in-repopath:linelocations.securityandvalidatorsnotes fall back to the Symfony vendor file a key comes from when the project itself doesn't use it.New tooling
bin/validate-translations: a validator that can run in CI (exits with1on failure). It checks:domain.locale.xlffiles (a missing file is an error);<notes>, order and file structure outside the targets;<file id>andtrgLangheaders;messageskey is used somewhere in the codebase (code, templates, themes or bundled widgets), and that everytrans(),|transor__()call points to a key that exists.bin/update-translation-notes: regenerates the<notes>blocks from actual usage and copies them unchanged into every locale.securityandvalidatorskeys not used in the project, it falls back to Symfony's vendor sources.~, and locations are sorted by line number..github/workflows/code_analysis.yaml):php bin/validate-translationsruns next to the existinglint:xliffstep.Testing
php bin/console lint:xliff translations/: all 45 catalogue files are valid.php bin/validate-translations: passes (exit code0).php bin/update-translation-notes: running it again changes no files.trgLang, malformed XML, reordered or edited<notes>and duplicate keys were each caught bybin/validate-translations. Each change was reverted afterwards.