Several locales ship strings with their diacritics stripped. This is not a translation choice, it is a damaged literal: the word is simply misspelled in the shipped UI.
It is unrelated to the #500 / #502 / #509 review rounds — those fixed keys they had in scope, and this predates them. #509 fixed six such strings in cs and sk because they happened to fall inside its perimeter; the rest of the class is untouched.
Verified examples
These were read directly and are unambiguous:
| Locale |
Key |
Shipped |
Should be |
fr |
contextMenu.createShareLink |
Creer un lien de partage |
Créer |
fr |
settings.selectDefaultFolder |
Selectionner le dossier local par defaut |
Sélectionner, défaut |
fr |
connection.downloadMegacmd |
Telecharger MEGAcmd |
Télécharger |
fr |
connection.optionalSettings |
Parametres optionnels |
Paramètres |
pl |
preview.text.refresh |
Odswiez podglad |
Odśwież podgląd |
pl |
transfer.copyError |
Blad kopiowania |
Błąd |
pl |
activityPanel.filters.connect |
Polaczenie |
Połączenie |
pl |
connection.fourshared.createAppInstructions |
Utworz aplikacje deweloperska … ponizej |
Utwórz aplikację deweloperską … poniżej |
Those four French words alone account for 32 strings.
How to find candidates
Within one locale file, collect every word, strip its combining marks, and group. A base form that appears both accented and bare means one of the two is wrong — that is exactly how the cs Kontrolni soucet defect was caught next to the file's own Kontrolní součet.
Important caveat before anyone bulk-fixes this
The screen over-reports, and in one language it is useless. It flags 967 Vietnamese strings, but spot-checking shows most are false positives: đang, dang and đăng all normalise to the same bare form, so correct Vietnamese like Đang tải... gets flagged. Vietnamese tone marks create minimal pairs at almost every syllable. The same effect, weaker, hits hu, tr and ro.
So the candidate list is a starting point for a reader, not a patch set. A blind sed restoring accents would create defects rather than remove them — which is the same lesson that made #509 reject three sr proposals.
Suggested approach
One locale per change, a reader who knows the language, and the diff kept to the strings that are genuinely misspelled. npm run i18n:validate will not catch any of this: the files are structurally valid and complete, the words are just wrong.
Several locales ship strings with their diacritics stripped. This is not a translation choice, it is a damaged literal: the word is simply misspelled in the shipped UI.
It is unrelated to the #500 / #502 / #509 review rounds — those fixed keys they had in scope, and this predates them. #509 fixed six such strings in
csandskbecause they happened to fall inside its perimeter; the rest of the class is untouched.Verified examples
These were read directly and are unambiguous:
frcontextMenu.createShareLinkCreer un lien de partageCréerfrsettings.selectDefaultFolderSelectionner le dossier local par defautSélectionner,défautfrconnection.downloadMegacmdTelecharger MEGAcmdTéléchargerfrconnection.optionalSettingsParametres optionnelsParamètresplpreview.text.refreshOdswiez podgladOdśwież podglądpltransfer.copyErrorBlad kopiowaniaBłądplactivityPanel.filters.connectPolaczeniePołączenieplconnection.fourshared.createAppInstructionsUtworz aplikacje deweloperska … ponizejUtwórz aplikację deweloperską … poniżejThose four French words alone account for 32 strings.
How to find candidates
Within one locale file, collect every word, strip its combining marks, and group. A base form that appears both accented and bare means one of the two is wrong — that is exactly how the
csKontrolni soucetdefect was caught next to the file's ownKontrolní součet.Important caveat before anyone bulk-fixes this
The screen over-reports, and in one language it is useless. It flags 967 Vietnamese strings, but spot-checking shows most are false positives:
đang,dangandđăngall normalise to the same bare form, so correct Vietnamese likeĐang tải...gets flagged. Vietnamese tone marks create minimal pairs at almost every syllable. The same effect, weaker, hitshu,trandro.So the candidate list is a starting point for a reader, not a patch set. A blind
sedrestoring accents would create defects rather than remove them — which is the same lesson that made #509 reject threesrproposals.Suggested approach
One locale per change, a reader who knows the language, and the diff kept to the strings that are genuinely misspelled.
npm run i18n:validatewill not catch any of this: the files are structurally valid and complete, the words are just wrong.