diff options
| author | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-07-28 19:03:15 +0200 |
|---|---|---|
| committer | Lukasz Kasprzak <lukas@labunix.xyz> | 2026-07-28 19:03:15 +0200 |
| commit | 9100973576f87adcadaf6c8b331df7e729aeb117 (patch) | |
| tree | b67377705bb50c30004c52abc423573d1b335ca8 /internal/i18n/lang/en.ini | |
| parent | 771ec96f07499d6efbcb587f94e30ffcbc4e0e58 (diff) | |
| download | lectio-9100973576f87adcadaf6c8b331df7e729aeb117.tar.gz lectio-9100973576f87adcadaf6c8b331df7e729aeb117.zip | |
i18n: make all UI chrome user-translatable via ui/<code>.ini
The interface chrome (version labels, TUI keybar/messages, CLI banner words,
web control labels, section-heading words) was English/Polish hardcoded in Go.
It is now data: the English and Polish tables ship as embedded lang/en.ini and
lang/pl.ini, and any language is user-overridable at <config>/ui/<code>.ini,
resolved per key with an English fallback. With ui_language = <code> plus a
names/<code>.ini, the WHOLE interface -- chrome, day names, saint names -- is
translatable without a rebuild.
- i18n.Get loads the embedded English baseline, overlays the embedded/user
language file, caches per lang; field <-> INI-key mapping is by reflection
(lang.go) so the tables and files stay in sync automatically. Edge-space
values (e.g. "error: ") are double-quoted so the INI trim keeps them. The
Go tables move to golden_test.go; TestGoldenMatchesEmbedded asserts the
embedded files still parse back to them, and TestGenerateLangFiles
regenerates them (LECTIO_GEN=1).
- config.UIDir(); wire i18n.SetUserDir in the CLI, TUI and web entry points.
- README/config: document ui/<code>.ini alongside names/<code>.ini.
Diffstat (limited to 'internal/i18n/lang/en.ini')
| -rw-r--r-- | internal/i18n/lang/en.ini | 79 |
1 files changed, 79 insertions, 0 deletions
diff --git a/internal/i18n/lang/en.ini b/internal/i18n/lang/en.ini new file mode 100644 index 0000000..4f2d023 --- /dev/null +++ b/internal/i18n/lang/en.ini @@ -0,0 +1,79 @@ +version.drb = Douay-Rheims (English) +version.grb = Greek +version.vul = Vulgate (Latin) +version.wuj = Wujek (Polish) +part_label.aklamacja = Acclamation +part_label.drugie_czytanie = 2nd reading +part_label.ewangelia = Gospel +part_label.pierwsze_czytanie = 1st reading +part_label.psalm = Psalm +footer_keys = tab/⇧tab version ←/→ day d date j/k scroll space/b page g/G top/bottom q quit +loading = loading… +no_readings_for = "no readings for " +error_prefix = "error: " +error_hint = change date (←/→) +jump_prompt = go to date (YYYY-MM-DD) +reader_title = reader — pick a book +reader_pick_keys = type to filter ↑/↓ move enter open esc quit +reader_read_keys = n/p chapter c go-to tab version j/k scroll m mark b bookmarks esc books q quit +reader_no_text = (no text in this version) +reader_no_match = (no matching books) +reader_mark_prompt = note (enter to save, esc to cancel) +reader_bookmarks_title = bookmarks +reader_bookmarks_keys = j/k move enter open d delete esc back q quit +reader_no_bookmarks = no bookmarks yet — press m while reading +reader_mark_verse_keys = ↑/↓ pick verse enter add note esc cancel +reader_confirm_delete = Delete this bookmark? +reader_confirm_keys = y = delete n = cancel +reader_mark_note = note +reader_mark_tags = tags +reader_mark_help = enter save · tab switch field · esc cancel +reader_jump_chapter = go to chapter +reader_jump_chapter_keys = enter go · esc cancel +banner_gospel = Gospel +banner_readings = Readings +banner_connective = for +months = January,February,March,April,May,June,July,August,September,October,November,December +lectionary = lectionary +opt_modern = modern +opt_traditional = traditional +parts = parts +opt_gospel = Gospel +opt_all = all parts +layout = layout +opt_horizontal = horizontal +opt_columns = columns +opt_interlinear = interlinear +theme = theme +mono = mono +no_interlinear_verses = (no verses to align) +nav_reader = reader +web_book = book +web_chapter = chapter +nav_home = home +nav_settings = settings +nav_bookmarks = bookmarks +web_verse_optional = verse (optional) +web_tags_placeholder = tags, comma-separated +web_add_bookmark = bookmark +web_all_tags = all +web_no_bookmarks = No bookmarks yet. +web_delete = delete +web_saved = Saved. +web_ui_lang = UI language +web_sigla_style = sigla style +web_default_version = default version +web_versions = versions +web_web_versions = web versions +web_offline = offline +web_width = width +web_port = web port +web_pager = pager +web_save = Save +export = download +calendar = month calendar +no_readings_day = no readings for this day +no_version = (not in %s) +no_version_partial = (not in %s: %s) +no_reference = (no reference) +no_reference_err = (no reference: %v) |
