Skip to content

i18n: several locales ship strings with the diacritics stripped #512

Description

@axpnet

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions