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

20
strings.lua Normal file
View File

@@ -0,0 +1,20 @@
return {
-- Empty-state hint
empty_hint = "Select a module to see details.",
-- Detail panel sections
dependencies = "Dependencies",
-- Launch flow
launch_module = "Launch Module",
cancel = "Cancel",
launch_anyway = "Launch anyway",
-- Conflict modal
conflict_title = "Dependency conflict",
conflict_body_line1 = "This module has unresolved dependencies.",
conflict_body_line2_fmt = "Missing libs: %d",
-- Quit modal (already in v0.2.0 but moves to strings now)
quit_prompt = "Quit Sporel?",
yes = "Yes",
no = "No",
-- News entry default title
news_default_title = "News",
}