Skip to content

fix(validate): count label::<lang> columns as choice labels - #78

Merged
jstet merged 1 commit into
mainfrom
fix/75-label-columns
Sep 25, 2026
Merged

jstet merged 1 commit into
mainfrom
fix/75-label-columns

Conversation

@jstet

@jstet jstet commented Sep 25, 2026

Copy link
Copy Markdown
Member

Closes #75. The empty-choice-label warning now reads label::<lang> columns as well as label, so Kobo's language-tagged layout no longer warns on every choice. It still warns when all label columns are empty, and names the empty languages when only some are. 3 new tests; vitest and validate are clean.

🤖 Generated with Claude Code

The empty-label warning (#48) read only `choice.label`, so a choices sheet
with language-tagged columns (`label::English`, Kobo's layout once a form
declares a language) and no plain `label` got "has no label" for every
choice, although the DDI labels were fine (found by survey2ddi's parity
gate).

The check now collects label text from `label` (string, or the loader's
{lang: text}) and from every `label::<lang>` column. It warns when all are
empty, or names the empty languages.

Closes #75

Co-Authored-By: Claude Opus 5.5 (1M context) <noreply@anthropic.com>
@jstet
jstet merged commit a9bb3bf into main Sep 25, 2026
4 checks passed
@jstet
jstet deleted the fix/75-label-columns branch September 25, 2026 14:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

validateSubset: every choice "has no label" when the choices sheet uses label::<lang> columns

1 participant