tools

Languages

Switch the interface language live with /language, full RTL support on desktop, live translation updates between releases, and a public repo translators can PR.

Copy & share

Loading sections…

Connect MCP or install the Empryo skill

Section exports contain only that heading’s content. Markdown and text links fetch the selected content directly, without the rest of the page.

Overview

Every user-visible string in Empryo goes through one localization catalog - the TUI, the desktop app and headless output alike. English and Arabic ship today (Arabic at 99%, with full right-to-left layout on desktop); the pipeline is built for more.

Switching

SurfaceHow
TUI/language - the interface repaints in place
DesktopSettings → Language - the window reloads in the new language
Headless / CI--locale <tag> per run, or EMPRYO_LOCALE in the environment

The flag beats the config, the config beats the OS locale. Headless runs read cached catalogs only - they never fetch.

Live translations

Between releases, liveTranslations (opt-in) fetches newer catalogs from the public translations repo, validates them through the same security gate every bundled catalog passes, and caches them locally. A bad or hostile catalog never reaches the screen.

Localized commands

localizedCommands (opt-in, off by default) accepts translated slash-command names as aliases of the English ones - /لغة runs /language.

Contributing a language

Translations live in a public repo (proxysoul/Empryo) that translators open PRs against. The English catalog is published there on every release; merged translations flow back into the next build.

Documentation