1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
|
// Package i18n holds lectio's UI-chrome strings -- the version-column labels,
// the TUI keybar/messages, the CLI banner words, the web control labels, and the
// modern-lectionary section-heading label words. It localises the chrome only,
// never the scripture verse text or citation, which stay source-language.
//
// English is the built-in baseline and Polish ships embedded (lang/en.ini,
// lang/pl.ini). Any language is user-overridable at <config>/ui/<code>.ini,
// resolved per key with an English fallback (see lang.go / Get), so a user can
// translate the whole interface for their language without a rebuild.
package i18n
// UI is one language's complete set of chrome strings.
type UI struct {
// Version names each bible version for column headers / prose, keyed by
// version code (wuj, vul, grb, drb).
Version map[string]string
// PartLabel names each modern-lectionary section's heading label word,
// keyed by liturgy.Section.PartID (pierwsze_czytanie, psalm,
// drugie_czytanie, aklamacja, ewangelia). The pl entries are the exact
// prefixes niedziela.pl's scraped headings carry, used by
// render.LocalizeHeading to recognise and swap the label word while
// keeping the citation untouched.
PartLabel map[string]string
// TUI keybar and status messages. NoReadingsFor and ErrorPrefix each
// carry their own single trailing space (the TUI concatenates a date or
// error string directly onto them, no separator added at the call site).
FooterKeys, Loading, NoReadingsFor, ErrorPrefix, ErrorHint string
// JumpPrompt is the TUI's "d" date-jump prompt label.
JumpPrompt string
// Reader-mode (lectio-ui --reader) chrome.
ReaderTitle, ReaderPickKeys, ReaderReadKeys, ReaderNoText, ReaderNoMatch string
// Reader bookmarks: the mark-note prompt, the bookmarks-list title/keybar,
// and the empty-list note.
ReaderMarkPrompt, ReaderBookmarksTitle, ReaderBookmarksKeys, ReaderNoBookmarks string
ReaderMarkVerseKeys, ReaderConfirmDelete, ReaderConfirmKeys string
ReaderMarkNote, ReaderMarkTags, ReaderMarkHelp string
// Reader go-to-chapter prompt: the dialog label (rendered after the book
// name) and its enter/esc help line.
ReaderJumpChapter, ReaderJumpChapterKeys string
// CLI banner label words and connective: the banner is
// "<word> <BannerConnective> <date>" (e.g. "Gospel for 2026-07-22" /
// "Ewangelia na 2026-07-22").
BannerGospel, BannerReadings, BannerConnective string
// Months are the localized month names (index 0 = January), for the
// exported calendar's title.
Months [12]string
// Web control labels.
Lectionary, OptModern, OptTraditional string
Parts, OptGospel, OptAll string
Layout, OptHorizontal, OptColumns string
OptInterlinear, Theme, Mono string
// NoInterlinearVerses is the web interlinear pane's note when no
// requested version could be interleaved for a section.
NoInterlinearVerses string
// Web reader (lectio-web /reader) control labels.
NavReader, WebBook, WebChapter string
// Web nav-link labels shared across the index/reader/bookmarks pages.
NavHome, NavSettings, NavBookmarks string
// Web /reader bookmark-add form: the verse and tags placeholders and the
// submit button word (rendered after a ★). The note placeholder reuses
// ReaderMarkNote.
WebVerseOptional, WebTagsPlaceholder, WebAddBookmark string
// Web /bookmarks page chrome: the "all tags" filter link, the empty-list
// note, and the per-item delete button.
WebAllTags, WebNoBookmarks, WebDelete string
// Web /settings page labels (the ones without an existing shared field):
// the saved confirmation, the config-field labels, and the save button.
WebSaved, WebUILang, WebSiglaStyle, WebDefaultVersion string
WebVersions, WebWebVersions, WebOffline, WebWidth, WebPort, WebPager string
WebSave string
// Export is the web daily-page download label (txt/md/pdf links).
Export, Calendar string
// NoReadingsDay is the web error fragment shown when readings.Load
// returns no sections at all for the requested date.
NoReadingsDay string
// NoVersion/NoVersionPartial/NoReference/NoReferenceErr are
// render.GatherVersion/GatherVerses' lookup/citation-failure blocks,
// rendered verbatim by cli/tui/web. NoVersion takes the version code;
// NoVersionPartial takes the version code and the comma-joined missing
// references; NoReferenceErr takes the underlying error (pl keeps %w so
// it still wraps, en uses %v -- the verb only controls
// errors.Unwrap-ability, both format identically via Error()).
NoVersion, NoVersionPartial, NoReference, NoReferenceErr string
}
|