Skip to content

v0.4.0 — i18n + zoom

Choose a tag to compare

@revolutionaryPhoton revolutionaryPhoton released this 14 May 20:00
dc3d10f

The GUI now speaks four languages and can zoom.

What's new

Localization (S41–S43)

The desktop GUI is fully translated to German, French, and Spanish, with English remaining the canonical source. A small four-button locale picker (EN / DE / FR / ES) lives in the welcome-screen footer; selection persists to localStorage and is restored on next launch.

The picker is deliberately welcome-screen-only — once you pick a language you never see it again mid-flow. Brand terms (F13, Ollama, Docker, docker compose, ollama serve, ollama pull, mock) stay in English across all locales. The shell wizard's terminal output is not translated — that's the documented operator surface.

Catalog files at gui/src/lib/i18n/<locale>.json keyed by dotted message ids. Key parity is enforced by a vitest fixture, so a missing translation fails CI rather than silently falling back to English. 176 keys × 4 locales.

Zoom (S44)

Webview-level zoom for users on high-DPI displays:

Action Shortcut
Zoom in (max 2.0×) Ctrl/Cmd + + (or =)
Zoom out (min 0.6×) Ctrl/Cmd + −
Reset to 100% Ctrl/Cmd + 0

A compact / 100% / + stepper in Settings → Appearance does the same thing. The current factor persists to localStorage and is restored on next launch.

Implementation uses the CSS zoom property on the document root — works identically across all three Tauri webview backends (WKWebView / WebView2 / WebKitGTK) with no Rust code.

Phase mapping

This is Phase 9 of the PRD shipping in one consolidated release. Phase 10 (signed distributables — .dmg / .AppImage / .deb — and bundled-mode data paths) is now the next planned phase but unstarted.

Known loose ends carried forward

  • HF5 — auto-regenerate broken stack on Start instead of forcing the user through the full Reconfigure wizard. Deferred to a v0.4.x patch when maintainer judgement is available on the UX shape.

Validated on

  • macOS (Apple Silicon, manual smoke test of all four locales + zoom shortcuts + Settings stepper)

Linux runtime parity is from v0.3.0; no Phase 9 changes were Linux-specific.

Backpressure

  • shellcheck -S warning bin/* lib/*.sh — clean
  • bats tests/ — 281/282 (the 1 fail is the same pre-existing local-Ollama-running flake)
  • npm run check — clean
  • npm run test:unit378/378 (up from 299)
  • cargo check — clean

Full Changelog: v0.3.2...v0.4.0