fix(l10n): sneltoetsen uit één bron, en de poort die langs een extension heen keek #810
No reviewers
Labels
No labels
accepted
bug
declined
docs
duplicate
enhancement
good first issue
in-progress
needs-info
privacy
security
triage
No milestone
No project
No assignees
1 participant
Notifications
Due date
No due date set.
Dependencies
No dependencies set
Reference
LibreKAT/Ocideck!810
Loading…
Reference in a new issue
No description provided.
Delete branch "fix/sneltoetsen-vertaalpoort-803"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Closes #803.
Het besluit
Het issue vroeg niet om "even door
d()halen" maar om een keuze: is een sneltoets vertaalbare tekst of een identifier? Allebei, maar niet in hetzelfde stuk.De toets (
S,Z,F) hangt aan eenLogicalKeyboardKeyen verandert niet met de taal — wie die vertaalt, beschrijft een toets die niet werkt. De modificatietoets verandert wél, en de vertalingen deden dat al: Duits leestStrg/Cmd+Z. Alleen dát deel loopt nu doord();lib/utils/shortcut_label.dartstelt de rest samen.Kosten: twee bronstrings (
Ctrl/Cmd,Shift) in plaats van één per sneltoets. De volgende sneltoets kost geen 31 vertalingen meer. De sleutelsundo,redoensaveShortcutkonden weg — hun sneltoets zat ín de vertaalde tekst, en dat was precies het tweede patroon.Duits was de toets: die zag Strg in de werkbalk en Ctrl in het menu ernaast.
De blinde vlek
Bevestigd met een proef vóór de reparatie: een kale literal in
_menuItem(…)liet de poort groen. Een aanroep zonder doel binnenextension _X on _YStatewerd geknoopt aan de naam van de extension, terwijl de declaratie onder de klasse staat. Dat is het patroon waarmee deze repo grote widgets onder de bestandsgrens houdt, dus het gold breed.Gedicht via
extensionOwnerin beide bezoekers. Twee fixture-tests staan rood zonder de fix, groen ermee.Het dichten legde negen onvertaalde regels in het Over-venster bloot (adres, e-mail, KvK, IBAN, BIC, bank, pilot-domein) — nu door
d()+unchangedInAllLanguages.Wat er niet in zit
De tweede route uit het issue, de veldsprong via
PaletteCommand.shortcut, is wel gemeten: hij is langs dezelfde weg dichtbaar en legt 23 échte overtredingen bloot, waaronderstandard.bundledinreference_standards.dart— Nederlandse proza die met een kaleText()in 31 talen blijft staan. Dat vraagt een eigen productbeslissing (horen catalogusbeschrijvingen in l10n?), dus staat het als #809 met de werkende patch beschreven. Tot die tijd draagt de wacht intest/shortcut_label_test.dartdat halve gat.Onderweg gevonden
De toetsenlegenda van de presenter beloofde
Ctrl+NenCtrl+Wterwijl beide bindingscontrol || metazijn: op een Mac stond daar al het verkeerde. En mijn eigen wacht had eerst een valse negatief —'Esc · Ctrl+W'las als proza omdat "Esc" een woord leek. Aangescherpt, en die regel viel er meteen uit.Borging
test/shortcut_label_test.dart— de vertaalde helften per taal, plus de wacht dat geen enkel bestand inlib/nog zelf een sneltoets schrijft. Een sneltoets ín een vertaalde zin mag wél (proza kan niet samengesteld worden); het onderscheid is of er een woord overblijft als je de notatie wegstreept.test/check_hardcoded_text_tool_test.dart— twee fixtures voor de extension-resolutie, beide geverifieerd rood zonder de fix.make checkgroen (exitcode 0 gecontroleerd, niet door een pipe gelezen).f580126e0ef51a84949e