<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kagamigo/ki18n, branch main</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.kagamino.dev/kagamigo/atom?h=main</id>
<link rel='self' href='https://git.kagamino.dev/kagamigo/atom?h=main'/>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/kagamigo/'/>
<updated>2026-05-12T15:31:50Z</updated>
<entry>
<title>ki18n: add gettext CI check for missing translation keys</title>
<updated>2026-05-12T15:31:50Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-05-12T15:31:50Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/kagamigo/commit/?id=0dd14393d296d9a0915a978f83ac2057b7e4d711'/>
<id>urn:sha1:0dd14393d296d9a0915a978f83ac2057b7e4d711</id>
<content type='text'>
gettext now exits 1 when any key extracted from templates is absent from
a locale file. Added as a task and wired into the check task.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>ki18n: add locale-aware date formatting via FormatTime</title>
<updated>2026-05-12T15:27:59Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-05-12T15:27:59Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/kagamigo/commit/?id=3e09f3b6dc1484820658d07187096cda541fed46'/>
<id>urn:sha1:3e09f3b6dc1484820658d07187096cda541fed46</id>
<content type='text'>
Adds FormatTime(ctx, t) for locale-aware date output (e.g. "12 mai 2026"
in fr-FR). Init now accepts extra Locale values so callers can register
additional languages with custom formatters; en-GB and fr-FR are built-in
defaults.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>ki18n: derive language from request context via strategy chain</title>
<updated>2026-05-12T15:12:07Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-05-12T15:12:07Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/kagamigo/commit/?id=19cfae39af4e7cbb8a0719e64d619ba0248f9d76'/>
<id>urn:sha1:19cfae39af4e7cbb8a0719e64d619ba0248f9d76</id>
<content type='text'>
Replace Tr(lang, ...) with Tr(ctx, ...) — language is now resolved once
per request by LangMiddleware and stored in context. Callers no longer
need to thread a lang string through to templates.

Adds Strategy interface with CookieStrategy and AcceptLanguageStrategy
built-ins; middleware chains them in order, falling back to en-GB.

Co-Authored-By: Claude Sonnet 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Update deps</title>
<updated>2026-02-11T06:17:35Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2026-02-11T06:17:35Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/kagamigo/commit/?id=80c3df88defb1b342660022b419f90b46ddb9316'/>
<id>urn:sha1:80c3df88defb1b342660022b419f90b46ddb9316</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Support new interfaces</title>
<updated>2025-12-31T09:54:47Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2025-12-31T09:54:47Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/kagamigo/commit/?id=fc3743105c1893c4c0c9e7bd35733ab416a572c8'/>
<id>urn:sha1:fc3743105c1893c4c0c9e7bd35733ab416a572c8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move gettext</title>
<updated>2025-12-30T21:25:59Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2025-12-30T21:25:59Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/kagamigo/commit/?id=43efffb01ca78a8165f63d427de6cffa480a40a0'/>
<id>urn:sha1:43efffb01ca78a8165f63d427de6cffa480a40a0</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Handle html tags in gettext</title>
<updated>2025-12-30T21:20:49Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2025-12-30T21:20:49Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/kagamigo/commit/?id=ebc163b0b48d74eb7bddb25968c68d958e9087c3'/>
<id>urn:sha1:ebc163b0b48d74eb7bddb25968c68d958e9087c3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Move gettext</title>
<updated>2025-12-30T21:09:14Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2025-12-30T21:09:14Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/kagamigo/commit/?id=5525dffaac5af6235c343f5014e0f60efb81ac39'/>
<id>urn:sha1:5525dffaac5af6235c343f5014e0f60efb81ac39</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add testing for html tags</title>
<updated>2025-12-30T21:08:22Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2025-12-30T21:08:22Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/kagamigo/commit/?id=7bb24a89e53bee4b14522c0e590995d87f6c09ad'/>
<id>urn:sha1:7bb24a89e53bee4b14522c0e590995d87f6c09ad</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Simplified testing</title>
<updated>2025-12-30T21:05:09Z</updated>
<author>
<name>Martin Kagamino Lehoux</name>
<email>martin@lehoux.net</email>
</author>
<published>2025-12-30T21:05:09Z</published>
<link rel='alternate' type='text/html' href='https://git.kagamino.dev/kagamigo/commit/?id=968c823f2949ef0e2e5e35b5dac7b6715bc6aaed'/>
<id>urn:sha1:968c823f2949ef0e2e5e35b5dac7b6715bc6aaed</id>
<content type='text'>
</content>
</entry>
</feed>
