Skip to content

v0.7.71 — Multilingual UI · 中文 · العربية + RTL

Choose a tag to compare

@alsayadi alsayadi released this 28 Apr 19:29
· 130 commits to main since this release

What's new

Full UI translation to Chinese (中文) and Arabic (العربية) with right-to-left support for Arabic. Click the new 🌐 button on the topbar to cycle EN → 中 → ع.

What gets translated

  • Welcome screen, starter chips, quick-start templates
  • Sidebar (new session, search, recent, account)
  • Topbar buttons + ⋯ menu (memory, routines, keys, local models, etc)
  • Workspace bar (folder picker, all 4 permission modes, plan mode)
  • Per-message action bar (Pin / Save / Copy / Branch)
  • Composer placeholder + attach tooltip
  • Plan-mode banner + ask-popup
  • All major modals: Memory Lens, API Keys, Local Models, Routines, Snippets, Compare, What's-in, Heatmap, Digest, Feedback Journal, Model Performance, Task Board, UX Insights
  • Login screen (first-run + Add Account flows)
  • Find-bar, command palette, global search
  • Onboarding profile flow
  • Tag suggestions

Provider names (OpenAI, Anthropic, etc) and model identifiers stay literal — they're brand/proper-noun heavy.

RTL (Arabic) layout

Right-to-left reading flow handled across the whole UI:

  • Sidebar moves to the right; floating chrome (peek strip, resize handle, scroll-to-bottom) flips to the appropriate edge
  • Topbar layout cleared from macOS traffic-lights (84px buffer)
  • Modal close × floats in the top-end corner (logical inset-inline-end)
  • Sidebar resize drag direction inverted — drag-left grows, drag-right shrinks
  • Bidi-safe message header (LTR forced for tech metadata so badges + timestamps render in human order)
  • Session-item titles use unicode-bidi: plaintext so English-typed titles don't bleed in an Arabic chrome

Bonus fixes (not RTL-specific)

  • Topbar model display now syncs with the dropdown's actual selection at boot (was hardcoded "GPT-4o" until you manually picked a model)
  • Sidebar search input now accepts typing — was missing the macOS drag-region opt-out so clicks were registering as window-drag gestures

Persistence

Language choice saved to localStorage (alaude:lang:v1) and survives restart. First-install detection sniffs navigator.language (zh-* → zh, ar-* → ar, else en) — explicit picker overrides forever after.

🤖 Generated with Claude Code