i18n(l10n): complete en/nl runtime translation coverage - #48
Merged
Conversation
Contributor
Quality Report — ConductionNL/hermiq @
|
| Check | PHP | Vue | Security | License | Tests |
|---|---|---|---|---|---|
| lint | ✅ | ||||
| phpcs | ✅ | ||||
| phpmd | ❌ | ||||
| psalm | ❌ | ||||
| phpstan | ❌ | ||||
| phpmetrics | ✅ | ||||
| eslint | ❌ | ||||
| stylelint | ❌ | ||||
| composer | ❌ | ❌ 1/117 denied | |||
| npm | ✅ | ❌ 1/659 denied | |||
| PHPUnit | ⏭️ | ||||
| Newman | ⏭️ | ||||
| Playwright | ⏭️ |
❌ Denied composer licenses
| Package | Version | License |
|---|---|---|
| smalot/pdfparser | v2.12.5 | LGPL-3.0 |
❌ Denied npm licenses
| Package | Version | License |
|---|---|---|
| vue3-apexcharts | 1.11.1 | Custom: https://apexcharts.com/media/vue-apexcharts.png |
Quality workflow — 2026-07-26 21:36 UTC
Download the full PDF report from the workflow artifacts.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
l10n/en.jsonkey that was missing (255 via the initialt('hermiq', …)scan, plus 102 more found by extending the scanner to also catchthis.t('hermiq', …)calls in<script>blocks — the original regex only matched baret(and silently missed all Options-API script calls).l10n/nl.jsonfor all newly-discovered keys: 84 from the shared fleet glossary, 351 hand-authored for Hermiq's AI-agent/agent-graph/skills/EU AI Act domain.nl.jsonvalues found during the audit (not previously flagged because their English key already existed): 4 conversation actions that were only half-translated (e.g."Archive gesprek"→"Gesprek archiveren"), and 14 EU AI Act / Algoritmeregister governance strings that were stored as English-identity or garbled text (e.g."Not published"→"Not published", now"Niet gepubliceerd";"Withdraw this AI feature from the Algoritmeregister"was untranslated verbatim).appinfo/info.xmlpatch version (0.1.94 → 0.1.95). No register/schema change.Uncertain terms (flagging for review)
"Grants"→"Rechten"— generalised from the app's existing"tool grants"→"toolrechten"pattern; alternative would be"Toekenningen"."Condition"→"Conditie"(glossary-covered, pre-existing fleet term) — a graph router condition might read more naturally as"Voorwaarde"in this specific node-palette context; left as glossary value for cross-app consistency."Object write"(graph node type) →"Object schrijven"— no established precedent in this app for this exact node-type label."{count} result(s)"→"{count} resulta(a)t(en)"— mirrors the source string's own crude non-ICU-plural(s)hack; not a proper Dutch plural form but matches the English original's approach 1:1."risk category must be high"/"feature must be enabled"— lowercase condition fragments that get comma-joined into"Cannot publish yet — missing: {conditions}"; translated as"risicocategorie moet hoog zijn"/"functie moet ingeschakeld zijn"to read naturally in that joined context.High/Limited/Minimal/Unacceptable) translated asHoog/Beperkt/Minimaal/Onaanvaardbaarper the AI Act's four-tier Dutch terminology.Test plan
python3 l10n_gap.py . hermiq(brief's helper) →missing_en=0 missing_nl=0this.t(...)) →missing_en=0 missing_nl=0python3 -c "import json; json.load(open('l10n/en.json')); json.load(open('l10n/nl.json'))"→ validnl.jsonvalues were changed, all previously broken/untranslatedtest:l10nnpm script exists in this app (checkedpackage.json)