feat(launcher): route all UI strings through t(key) indirection

strings.lua holds English defaults. ctx.t(key, ...) looks up the key,
optionally string.formats with extra args, and falls back to '[key]'
for missing entries. All panels and init.lua sweep clean of inline
literals — verified by a grep over '"[A-Z][a-z][a-z ]+"'. This sets
up v2's localization-lib-pattern (separate slice, ADR-0036 trigger)
to swap STRINGS without touching the launcher code.
This commit is contained in:
Calic
2026-06-11 07:49:38 +02:00
parent a49aa3ef2b
commit a19dd7f1dd
5 changed files with 53 additions and 20 deletions

View File

@@ -43,7 +43,8 @@ function M.render(ctx)
}
local col = (ctx.selected_entry == "news") and COLOR_ROW_ACTIVE or COLOR_ROW
engine.render.draw_rect(rect.x, rect.y, rect.w, rect.h, col)
engine.render.draw_text(ctx.news_entry.title or "News",
engine.render.draw_text(
ctx.news_entry.title or ctx.t("news_default_title"),
rect.x + PADDING, rect.y + PADDING, FONT, COLOR_TEXT)
ctx.news_entry.rect = rect
end