feat(l10n): geef vertalers een route zonder Dart (#633) #697
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!697
Loading…
Reference in a new issue
No description provided.
Delete branch "feat/vertaalroute-633"
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?
Sluit #633. Beide punten uit je voorstel, geen platform.
(1) De route
De Nederlandse bronstring ís de sleutel, dus de vertaler ziet altijd waarvan hij een vertaling maakt — geen Dart-bestand ernaast nodig.
JSON en geen PO, en dat is een keuze en geen gemakzucht. PO is de standaard in vertaalland, maar draagt hier niets extra's: geen meervoudsvormen, geen contexten, geen fuzzy-vlaggen in dit corpus. JSON opent met elk gereedschap zonder dat iemand gettext moet installeren. Wél in PO-geest: de bron als sleutel.
Wat het bewust níét doet is sleutels toevoegen. Een
importdie een onbekende sleutel tegenkomt weigert het hele bestand — dat betekent bijna altijd dat de vertaler op een oudere versie werkte, en dan is stilzwijgend doorgaan de manier waarop zijn werk half landt. Erger nog: zo zou een nieuwe string in één taal kunnen bestaan en in dertig niet, precies watadd_l10n.dartafdwingt te voorkomen.(2) De gesplitste eis
CONTRIBUTING.mdzegt nu dat een PR die één taalbestand raakt en geen sleutels toevoegt zelfstandig welkom is. Alles wat daar stond ging over een string toevoegen, en die eis — 31 talen — is voor een verbetering onzinnig streng. Dat was de helft die de drempel in stand hield.De scherpste test
De ronde-trip zónder wijziging: exporteren en meteen terugimporteren moet nul strings bijwerken. Doet het er wél één, dan verliest of vervormt de heenweg iets — een aanhalingsteken, een regeleinde, een euroteken — en dan brengt elke vertaalronde ongemerkte wijzigingen mee. Verder: een onbekende taal, een onbekende sleutel, en invoer die geen JSON is, allemaal een nette weigering in plaats van een stacktrace.
Eén detail dat me verraste en dat nu in de Makefile staat: de variabele heet
LANG_en nietLANG, want make erft de omgeving enLANGis op vrijwel elke shell al gezet. Anders draait het gereedschap stilzwijgend op de verkeerde taal.Poort
make checkgroen (niet doortailgepijpt). Handmatig getoetst tegenga: 2.261 strings eruit, één gewijzigde waarde er precies terug in, en niets anders aangeraakt.