Skip to content
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also or learn more about diff comparisons.

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also . Learn more about diff comparisons here.
base repository: mpiorowski/late-sh
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: main
Choose a base ref
...
head repository: wings1848/late-sh
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: custom
Choose a head ref
Checking mergeability… Don’t worry, you can still create the pull request.
  • 12 commits
  • 74 files changed
  • 1 contributor

Commits on Jul 25, 2026

  1. 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>
    wings1848 committed Jul 25, 2026
    Configuration menu
    Copy the full SHA
    977a175 View commit details
    Browse the repository at this point in the history
  2. i18n: add complete locale data files (en + zh-Hans)

    Signed-off-by: wings1848 <butterflywings1848@outlook.com>
    wings1848 committed Jul 25, 2026
    Configuration menu
    Copy the full SHA
    02f9842 View commit details
    Browse the repository at this point in the history
  3. simplify: remove i18n.rs passthrough wrappers, use language:: directly

    Signed-off-by: wings1848 <butterflywings1848@outlook.com>
    wings1848 committed Jul 25, 2026
    Configuration menu
    Copy the full SHA
    d8d5525 View commit details
    Browse the repository at this point in the history
  4. ci: add i18n locale integrity + bare-key check (soft gate)

    Signed-off-by: wings1848 <butterflywings1848@outlook.com>
    wings1848 committed Jul 25, 2026
    Configuration menu
    Copy the full SHA
    4c07eb1 View commit details
    Browse the repository at this point in the history
  5. fix: correct notification settings key prefixes in settings_modal

    Signed-off-by: wings1848 <butterflywings1848@outlook.com>
    wings1848 committed Jul 25, 2026
    Configuration menu
    Copy the full SHA
    611bbb4 View commit details
    Browse the repository at this point in the history
  6. 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>
    wings1848 committed Jul 25, 2026
    Configuration menu
    Copy the full SHA
    41e7ca7 View commit details
    Browse the repository at this point in the history
  7. docs: restore fork-specific docs (CLAUDE.md, README-zh, docker-ssh CI)

    Signed-off-by: wings1848 <butterflywings1848@outlook.com>
    wings1848 committed Jul 25, 2026
    Configuration menu
    Copy the full SHA
    ff7ea2b View commit details
    Browse the repository at this point in the history
  8. docs: update branch references in CLAUDE.md (feat/i18n -> feat/i18n-f…

    …ramework)
    
    Signed-off-by: wings1848 <butterflywings1848@outlook.com>
    wings1848 committed Jul 25, 2026
    Configuration menu
    Copy the full SHA
    0ffee12 View commit details
    Browse the repository at this point in the history
  9. docs: add cross-reference between README and README-zh, document doc …

    …structure
    
    Signed-off-by: wings1848 <butterflywings1848@outlook.com>
    wings1848 committed Jul 25, 2026
    Configuration menu
    Copy the full SHA
    2533bbf View commit details
    Browse the repository at this point in the history
  10. docs: add zh-Hans link to English README

    Signed-off-by: wings1848 <butterflywings1848@outlook.com>
    wings1848 committed Jul 25, 2026
    Configuration menu
    Copy the full SHA
    859924f View commit details
    Browse the repository at this point in the history
  11. docs: note README.md has fork addition in doc structure

    Signed-off-by: wings1848 <butterflywings1848@outlook.com>
    wings1848 committed Jul 25, 2026
    Configuration menu
    Copy the full SHA
    3f88d19 View commit details
    Browse the repository at this point in the history
  12. docs: add fork purpose and known gaps to CLAUDE.md

    Signed-off-by: wings1848 <butterflywings1848@outlook.com>
    wings1848 committed Jul 25, 2026
    Configuration menu
    Copy the full SHA
    20ac3e2 View commit details
    Browse the repository at this point in the history
Loading