EmpryoEmpryo.beta
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.

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.