-
-
Notifications
You must be signed in to change notification settings - Fork 89
Comparing changes
Open a pull request
base repository: mpiorowski/late-sh
base: main
head repository: wings1848/late-sh
compare: custom
- 12 commits
- 74 files changed
- 1 contributor
Commits on Jul 25, 2026
-
i18n: Phase 1 — TUI translation framework + zh-Hans support
Add a minimal, thread-local i18n layer that mirrors the theme system: late-core: - language module: Language enum, normalize/cycle/label helpers, alias handling (zh/zh-CN → zh-Hans), const OPTIONS registry - Profile.language field via users.settings JSONB (no migration) - extract_language helper late-ssh: - common/i18n.rs: thread_local! CURRENT_LOCALE, tr(&str)→&str (zero-allocation fallback), trf with {placeholder} substitution, compile-time TOML via include_str! + LazyLock - render.rs: i18n::set_current_by_id injection (mirrors theme, supports settings draft live preview) - settings_modal: Language row in Identity section (←/→ cycle, draft preview, persistent save) - Settings tab demo translations (Identity heading, Username, Country, Theme, DMs, Notifications heading — labels switch with language) locales/en.toml, locales/zh-Hans.toml: - ~30 shell labels, fallback chain zh→en→key (never panics) Tests: - 10 language tests (normalization, aliases, cycle, fallback) - 10 i18n tests (tr, trf, thread-local isolation, aliases) Phase 1 scope: framework + settings demo. Game narrative text (lateania/dcss/usurper) is intentionally not translated. Signed-off-by: wings1848 <butterflywings1848@outlook.com>Configuration menu - View commit details
-
Copy full SHA for 977a175 - Browse repository at this point
Copy the full SHA 977a175View commit details -
i18n: add complete locale data files (en + zh-Hans)
Signed-off-by: wings1848 <butterflywings1848@outlook.com>
Configuration menu - View commit details
-
Copy full SHA for 02f9842 - Browse repository at this point
Copy the full SHA 02f9842View commit details -
simplify: remove i18n.rs passthrough wrappers, use language:: directly
Signed-off-by: wings1848 <butterflywings1848@outlook.com>
Configuration menu - View commit details
-
Copy full SHA for d8d5525 - Browse repository at this point
Copy the full SHA d8d5525View commit details -
ci: add i18n locale integrity + bare-key check (soft gate)
Signed-off-by: wings1848 <butterflywings1848@outlook.com>
Configuration menu - View commit details
-
Copy full SHA for 4c07eb1 - Browse repository at this point
Copy the full SHA 4c07eb1View commit details -
fix: correct notification settings key prefixes in settings_modal
Signed-off-by: wings1848 <butterflywings1848@outlook.com>
Configuration menu - View commit details
-
Copy full SHA for 611bbb4 - Browse repository at this point
Copy the full SHA 611bbb4View commit details -
i18n: translate TUI shell to zh-Hans across 6 domains
Translate all hardcoded English TUI strings to use i18n::tr()/trf() across settings_modal, help_modal, chat UI, lobby/house, profile, dashboard/news, common widgets, and banner messages. Also includes: - Wire i18n::set_current_by_id() in render loop - Add lobby.title key - Fix lobby→chat key prefix mismatch (297 keys) - Fix 8 incorrect key references (missing section prefixes) - Simplify text_brightness_span (11→5 lines) - Remove unnecessary format!() wrapper in board_ui.rs - Add missing tron control-hint keys Locale files and i18n framework are in a separate PR. Signed-off-by: wings1848 <butterflywings1848@outlook.com>
Configuration menu - View commit details
-
Copy full SHA for 41e7ca7 - Browse repository at this point
Copy the full SHA 41e7ca7View commit details -
docs: restore fork-specific docs (CLAUDE.md, README-zh, docker-ssh CI)
Signed-off-by: wings1848 <butterflywings1848@outlook.com>
Configuration menu - View commit details
-
Copy full SHA for ff7ea2b - Browse repository at this point
Copy the full SHA ff7ea2bView commit details -
docs: update branch references in CLAUDE.md (feat/i18n -> feat/i18n-f…
…ramework) Signed-off-by: wings1848 <butterflywings1848@outlook.com>
Configuration menu - View commit details
-
Copy full SHA for 0ffee12 - Browse repository at this point
Copy the full SHA 0ffee12View commit details -
docs: add cross-reference between README and README-zh, document doc …
…structure Signed-off-by: wings1848 <butterflywings1848@outlook.com>
Configuration menu - View commit details
-
Copy full SHA for 2533bbf - Browse repository at this point
Copy the full SHA 2533bbfView commit details -
docs: add zh-Hans link to English README
Signed-off-by: wings1848 <butterflywings1848@outlook.com>
Configuration menu - View commit details
-
Copy full SHA for 859924f - Browse repository at this point
Copy the full SHA 859924fView commit details -
docs: note README.md has fork addition in doc structure
Signed-off-by: wings1848 <butterflywings1848@outlook.com>
Configuration menu - View commit details
-
Copy full SHA for 3f88d19 - Browse repository at this point
Copy the full SHA 3f88d19View commit details -
docs: add fork purpose and known gaps to CLAUDE.md
Signed-off-by: wings1848 <butterflywings1848@outlook.com>
Configuration menu - View commit details
-
Copy full SHA for 20ac3e2 - Browse repository at this point
Copy the full SHA 20ac3e2View commit details
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine: git diff main...custom