From 42636312160892d1bc6a7f021ce27354f7cbb80d Mon Sep 17 00:00:00 2001 From: Lukasz Kasprzak Date: Mon, 27 Jul 2026 20:19:00 +0200 Subject: feat(config): reading_lang/reading_version + ReadingCorpus resolver Task 3 of national-bibles. Adds reading_lang (any language code) and reading_version (explicit corpus code) config fields, setField cases, renderConfigINI lines + self-documenting header, and Config.ReadingCorpus(): reading_version > reading_lang match > ui_language match > "" (Latin fallback applied by the caller). Also adds an `autoselect` corpus-metadata flag (default true), surfaced during this task: the built-in wuj declares lang=pl, so lang-auto would have re-selected the incomplete Wujek for Polish users and defeated the wuj-drop. wuj.ini now sets autoselect=false, so it is reachable only via an explicit reading_version or --ref; the resolver's language auto-match skips non-autoselectable corpora. A corrected Wujek drop-in (autoselect defaults true) auto-serves Polish with zero config. --- internal/bible/registry.go | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'internal/bible/registry.go') diff --git a/internal/bible/registry.go b/internal/bible/registry.go index 2ab721b..28571ea 100644 --- a/internal/bible/registry.go +++ b/internal/bible/registry.go @@ -52,7 +52,7 @@ func buildRegistry() { if code, ok := strings.CutSuffix(name, ".tsv"); ok { regUserTSV[code] = filepath.Join(userDir, name) if _, have := regMeta[code]; !have { - regMeta[code] = CorpusMeta{Code: code, PsalmSystem: "vulgate"} + regMeta[code] = CorpusMeta{Code: code, PsalmSystem: "vulgate", Autoselect: true} } } } -- cgit v1.3