aboutsummaryrefslogtreecommitdiff
path: root/internal/i18n/lang/en.ini
diff options
context:
space:
mode:
authorLukasz Kasprzak <lukas@labunix.xyz>2026-07-28 19:03:15 +0200
committerLukasz Kasprzak <lukas@labunix.xyz>2026-07-28 19:03:15 +0200
commit9100973576f87adcadaf6c8b331df7e729aeb117 (patch)
treeb67377705bb50c30004c52abc423573d1b335ca8 /internal/i18n/lang/en.ini
parent771ec96f07499d6efbcb587f94e30ffcbc4e0e58 (diff)
downloadlectio-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.ini79
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)