fix(voice-transcription): translate the Spanish config field titles - #69
Merged
Conversation
The `es` locale carried `name` and `description` but no `config` block, so a Spanish dashboard rendered a Spanish plugin title and description above thirteen English field labels. Every one of the other seven locales already shipped the full block. Nothing functional was affected — field types, defaults, secret masking and validation are all locale-independent — but it reads as a half-finished translation, which is worse than an untranslated one. Two gaps let it through. catalog.mjs only warns when a locale is entirely absent, and warns rather than fails; and the existing i18n test checks locale presence for `stable` plugins only, while this one is `beta`. A test now holds every locale that translates a plugin at all to translating all of its config fields, whatever the plugin's status.
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.
What
voice-transcription'seslocale carriednameanddescriptionbut noconfigblock. A Spanish dashboard therefore showed a Spanish plugin title and description sitting above thirteen English field labels.All seven other locales —
fr,it,ar,he,te,zh-CN,zh-HK— already shipped the full block.eswas the only gap.Nothing functional was affected: field types, defaults, secret masking and validation are locale-independent. But a half-translated panel reads worse than an untranslated one, because it looks like the install is broken rather than simply English.
Why nothing caught it
Two separate gaps, and it fell between them:
catalog.mjs's i18n check fires only when a locale is entirely absent frommanifest.i18n.eswas present — just thin. And it is aconsole.warn, not a failure.every stable plugin ships a full i18n blocktest filters onstatus === 'stable'. This plugin isbeta.Test
A new case holds every locale that translates a plugin at all to translating all of its config fields, regardless of the plugin's status. It reads each manifest's
configSchema.propertiesas the field list, so it tracks whatever a plugin actually declares.Mutation-checked: removing one translated field from
esfails it.Verification
548 tests passing;
node scripts/catalog.mjs --checkreports the catalog up to date.plugins.jsonis regenerated because it is derived from the manifests. No version bump — the entry goes under[Unreleased], matching how this repo releases plugins separately.