<feed xmlns='http://www.w3.org/2005/Atom'>
<title>lectio.git/internal/i18n/i18n.go, branch main</title>
<subtitle>offline Catholic daily readings and liturgical calendar in Go, with CLI, TUI and web clients</subtitle>
<id>https://git.labunix.xyz/lectio.git/atom?h=main</id>
<link rel='self' href='https://git.labunix.xyz/lectio.git/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/'/>
<updated>2026-08-03T21:50:26Z</updated>
<entry>
<title>i18n: correct rank doc comments and pin the Polish wording</title>
<updated>2026-08-03T21:50:26Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-03T21:50:26Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=f94ceaae997bce2168a5ab9e64a0c3afeafe0cf6'/>
<id>urn:sha1:f94ceaae997bce2168a5ab9e64a0c3afeafe0cf6</id>
<content type='text'>
</content>
</entry>
<entry>
<title>i18n: drop the colour word table, it has no consumer</title>
<updated>2026-08-03T21:39:49Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-03T21:39:49Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=14c4540d3f06299bf65d74ea864ae7c6c4c33f72'/>
<id>urn:sha1:14c4540d3f06299bf65d74ea864ae7c6c4c33f72</id>
<content type='text'>
</content>
</entry>
<entry>
<title>i18n: rank and colour vocabulary tables</title>
<updated>2026-08-03T21:34:22Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-08-03T21:34:22Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=da1818a73de736dffd1580137352c32bea81be8c'/>
<id>urn:sha1:da1818a73de736dffd1580137352c32bea81be8c</id>
<content type='text'>
</content>
</entry>
<entry>
<title>calendar: name the liturgical form fully in the printed title; v0.45.1</title>
<updated>2026-07-29T19:15:10Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-29T19:15:10Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=a688f064da4dd466eaa961645a140585a2c9fdd4'/>
<id>urn:sha1:a688f064da4dd466eaa961645a140585a2c9fdd4</id>
<content type='text'>
The exported month calendar's title showed the terse dropdown word
("August 2026 — traditional"). Spell the form out: "traditional roman
calendar" / "novus ordo calendar". Add dedicated i18n labels
CalModern/CalTraditional (translatable like the rest of the chrome; pl =
"kalendarz Novus Ordo" / "tradycyjny kalendarz rzymski") rather than
overloading the short OptModern/OptTraditional the settings dropdown uses.

Bump version to 0.45.1.
</content>
</entry>
<entry>
<title>i18n: make all UI chrome user-translatable via ui/&lt;code&gt;.ini</title>
<updated>2026-07-28T17:03:15Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-28T17:03:15Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=9100973576f87adcadaf6c8b331df7e729aeb117'/>
<id>urn:sha1:9100973576f87adcadaf6c8b331df7e729aeb117</id>
<content type='text'>
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 &lt;config&gt;/ui/&lt;code&gt;.ini,
resolved per key with an English fallback. With ui_language = &lt;code&gt; plus a
names/&lt;code&gt;.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 &lt;-&gt; 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/&lt;code&gt;.ini alongside names/&lt;code&gt;.ini.
</content>
</entry>
<entry>
<title>refactor: remove the niedziela/missalemeum scrapers, bt, traditional_lang</title>
<updated>2026-07-28T10:50:31Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-28T10:50:31Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=7b220084cf3951c8cde0582efdfcf628afc64336'/>
<id>urn:sha1:7b220084cf3951c8cde0582efdfcf628afc64336</id>
<content type='text'>
The daily view now computes entirely offline (previous commit), so retire the
network path and everything that served it:

- Delete internal/tradlit (missalemeum) and the niedziela scraper from
  internal/liturgy (fetch/store/parse + fixtures); keep Section, DayInfo and
  ExtractCitation.
- Remove the "bt" version everywhere (render gatherBT + branches, config,
  i18n, web form, TUI) and bible.ToEnglishRef (Polish citation converter).
  A legacy config carrying "bt" migrates to "wuj" on load (config.migrateBT).
- Remove the traditional_lang config field and the -g/--lang flag from all
  three binaries.
- Drop the now-dead flags -R/--refresh, -o/--offline, -u/--update,
  -C/--clean and the harvest/clean commands.
- New defaults: versions = wuj,vul,grb,drb; default_version = vul.

Update the README (offline-by-design, no harvest/update), help text, and
stale niedziela/bt doc comments. Tests updated for the offline reality;
go test ./... and go vet ./... are clean, all three binaries build and run
offline (OF + EF, compare, web).
</content>
</entry>
<entry>
<title>lectio-ui reader: go-to-chapter jump (c)</title>
<updated>2026-07-24T20:13:06Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-24T20:13:06Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=1b4134d883544beba3fc51704322cef2a875a7d2'/>
<id>urn:sha1:1b4134d883544beba3fc51704322cef2a875a7d2</id>
<content type='text'>
Inside a book, 'c' opens a centered prompt showing the book's chapter
range (e.g. "1-21: ") and accepts a chapter number to jump straight there,
instead of scrolling (handy for Psalm 119 etc). Digits only, backspace
edits, Enter clamps to the valid range and opens that chapter at its top,
Esc cancels. New modeChapterJump + updateChapterJump/jumpToChapter/
viewChapterJump; i18n ReaderJumpChapter/ReaderJumpChapterKeys (en/pl) and
'c' added to the reading keybar. Only offered when the book has &gt;1 chapter.
</content>
</entry>
<entry>
<title>i18n: localize remaining web UI chrome (nav, bookmarks, settings)</title>
<updated>2026-07-24T19:56:44Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-24T19:56:44Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=1ab07867b425cfa8da207b904a297df29b1b177a'/>
<id>urn:sha1:1ab07867b425cfa8da207b904a297df29b1b177a</id>
<content type='text'>
The web nav links (settings, bookmarks, home), the /reader bookmark-add
form placeholders and button, the /bookmarks filter/empty/delete labels,
and every /settings field label were hardcoded English and stayed English
under ui_language=pl. Route them all through i18n (en/pl) so the Polish UI
is fully localized. No server.go change: every page's data already carries
L: i18n.Get(cfg.UILanguage).
</content>
</entry>
<entry>
<title>export: localize calendar title (month name via i18n Months + lectionary label); --ui-lang flag overrides interface/export language (cli + web ?lang=); v0.24.0</title>
<updated>2026-07-24T15:07:48Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-24T15:07:48Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=8a7839cad92a264d68635e4c853347d763b8e457'/>
<id>urn:sha1:8a7839cad92a264d68635e4c853347d763b8e457</id>
<content type='text'>
</content>
</entry>
<entry>
<title>export: month calendar PDF (A4 landscape, Monday-first grid, feast name + gospel ref + liturgical colour per day); cli --calendar YYYY-MM; web /calendar + link; readings.GospelCitation; v0.23.0</title>
<updated>2026-07-24T14:56:07Z</updated>
<author>
<name>Lukasz Kasprzak</name>
<email>lukas@labunix.xyz</email>
</author>
<published>2026-07-24T14:56:07Z</published>
<link rel='alternate' type='text/html' href='https://git.labunix.xyz/lectio.git/commit/?id=378926240f34759116b19e078d2b2504965f5329'/>
<id>urn:sha1:378926240f34759116b19e078d2b2504965f5329</id>
<content type='text'>
</content>
</entry>
</feed>
