Poort voor ongebruikte vertaalsleutels #1512

Closed
opened 2026-08-17 09:41:25 +00:00 by brenno · 2 comments
Owner

Bij het opruimen van de weesgeraakte sleutel Snijtekens (PR #1505) viel op dat er waarschijnlijk veel meer wezen zijn. Een ruwe scan over alle ~3.514 sleutels uit lib/l10n/translations/en.dart, gezocht als letterlijke tekst in lib/, test/, tool/, docs/ en assets/, gaf 249 kandidaten. Drie zijn met de hand bevestigd als echt ongebruikt: Logo tonen op deze slide, Verstreken tijd resetten en de t()-sleutel settingsLogo.

Dat getal is niet betrouwbaar en mag niet als telling worden overgenomen: het is een substring-heuristiek. Sleutels die via een variabele of generator worden samengesteld (de "indirecte" sleutels die test/app_localizations_test.dart apart toetst) zien er in zo'n scan uit als wees terwijl ze het niet zijn. Een deel zijn docs-titels die via een register worden gebruikt.

Wat dit issue vraagt: een controle die de indirecte routes wél meeneemt — in de geest van check_hardcoded_text.dart, dus met AST-begrip in plaats van grep — die ongebruikte sleutels aanwijst zonder valse alarmen. Pas als die er is, kan het opruimen zelf.

De winst is niet alleen netheid: elke wees kost 31 vertalingen aan onderhoud en maakt make add-l10n en de taalwachters trager en luidruchtiger.

Bij het opruimen van de weesgeraakte sleutel `Snijtekens` (PR #1505) viel op dat er waarschijnlijk veel meer wezen zijn. Een ruwe scan over alle ~3.514 sleutels uit `lib/l10n/translations/en.dart`, gezocht als letterlijke tekst in `lib/`, `test/`, `tool/`, `docs/` en `assets/`, gaf **249 kandidaten**. Drie zijn met de hand bevestigd als echt ongebruikt: `Logo tonen op deze slide`, `Verstreken tijd resetten` en de t()-sleutel `settingsLogo`. **Dat getal is niet betrouwbaar** en mag niet als telling worden overgenomen: het is een substring-heuristiek. Sleutels die via een variabele of generator worden samengesteld (de "indirecte" sleutels die `test/app_localizations_test.dart` apart toetst) zien er in zo'n scan uit als wees terwijl ze het niet zijn. Een deel zijn docs-titels die via een register worden gebruikt. **Wat dit issue vraagt:** een controle die de indirecte routes wél meeneemt — in de geest van `check_hardcoded_text.dart`, dus met AST-begrip in plaats van grep — die ongebruikte sleutels aanwijst zonder valse alarmen. Pas als die er is, kan het opruimen zelf. De winst is niet alleen netheid: elke wees kost 31 vertalingen aan onderhoud en maakt `make add-l10n` en de taalwachters trager en luidruchtiger.
Author
Owner

Opgepakt op tak feat/l10n-wezenpoort.

Opgepakt op tak `feat/l10n-wezenpoort`.
Author
Owner

Gemerged in #1516. De poort vindt 181 wezen (ondergrens) en staat in check-full met een ratchet. Het opruimen zelf is bewust een volgende stap.

Gemerged in #1516. De poort vindt 181 wezen (ondergrens) en staat in `check-full` met een ratchet. Het opruimen zelf is bewust een volgende stap.
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set

Reference
LibreKAT/Ocideck#1512
No description provided.