Language Support (UI & AI replies)
Omniscio's interface ships in 35 languages, all available with no setup, and the AI speaks back in whatever language you are writing in. Two independent halves: the UI language you pick in Settings, which switches instantly, and the spoken reply language, which is detected automatically and is always on.
What it is
Omniscio's interface is available in 35 languages — English plus 34 others — and every one is available by default, no setup or toggle required. The language system has two parts that work independently:
- UI language — the menus, labels, buttons, and chrome of the app itself, translated from the bundled catalogs.
- AI reply language — the Claude agent's spoken output (Voice Report Back, Voice L3 briefings, L4 answers, Omni summaries) automatically detects the language of the conversation and speaks in that language. Nothing to set up; it is always on.
Where to find it
Where to switch the UI language
Settings → Appearance → Language (a dropdown). It's there by default — pick a language and the UI switches immediately, no restart.
English is the default until you choose otherwise. A fresh install does not auto-switch based on your operating-system language — starting in another language is always a deliberate choice you make in the picker. Any string not yet translated in a language falls back to English automatically, so you never see a missing key or a blank label.
How it behaves
Available languages
All 35 appear in the picker by default:
English · Español · Italiano (Italian) · Français · Deutsch · Português (Brasil) · Română · Magyar · Türkçe · Bahasa Indonesia · Tiếng Việt (Vietnamese) · ไทย (Thai) · Polski (Polish) · Kiswahili (Swahili) · Српски (Serbian) · हिन्दी (Hindi) · বাংলা (Bengali) · ਪੰਜਾਬੀ (Punjabi) · اردو (Urdu) · فارسی (Persian) · العربية (Arabic) · 日本語 (Japanese) · 한국어 (Korean) · 简体中文 (Simplified Chinese) · 繁體中文 (Traditional Chinese) · Tagalog · Cebuano · Ilocano · Hiligaynon · Waray · Bikol · Kapampangan · Pangasinan · ქართული (Georgian) · Русский (Russian)
Right-to-left: Arabic (العربية), Urdu (اردو), and Persian (فارسی) render the whole UI right-to-left when selected.
The 34 non-English catalogs are held to full coverage by a build guard, so what ships is complete; if a brand-new English string lands before its translation, that one string shows in English until it is translated — never a broken screen. Translations are produced as part of the work rather than by an always-on translation service, so a new English string can stay in English for a while rather than clearing itself on a timer.
Hungarian (Magyar) has had a dedicated quality pass (September 2026). It was rewritten against a Hungarian style guide and a word list approved by a native speaker: it talks to you informally ("te", never the formal "Ön"), uses one Hungarian word for each Omniscio term — for example munkamenet for a session and Beérkező levelek for the inbox — and keeps names such as Night Shift, Super Prompt and Team Chat in English. Strings added later are translated with the same rules, so the voice stays consistent.
AI reply language (spoken output)
When Omniscio reads an agent's reply aloud via Voice Report Back, Voice L3 (thread briefings), or Voice L4 (live agent answers), it detects the language of the content and speaks in that language — not always English. The behavior is automatic. If a voice matching that language is available it uses that voice; otherwise the configured voice speaks the detected language (built-in TTS engines are multilingual). Today all preset voices are English, so the voice itself does not change — but it already handles whatever language the agent produces.
For agents
For developers
The i18n system is documented in src/shared/i18n/config.ts and the
i18n foundation contract. Key
constants:
PILOT_LANGUAGES— the ordered list of 34 shipped BCP-47 codes (allstatus: 'shipped'inunreleased-features.ts, sovisiblePilotLanguages()returns every one by default; the per-language*PilotEnabledsettings are now vestigial).LANGUAGE_DISPLAY_NAMES— the human-readable picker labels (first-class names; the former "(pilot)" suffix was dropped 2026-08-15).selectableLanguages()— the single choke-point. A revealed / shipped language is offered regardless of coverage drift (untranslated keys fall back to English); the coverage gate (LANGUAGE_COVERAGE_THRESHOLD, 100) still applies to anything NOT revealed. First-run OS detection and renderer boot call it with an empty reveal set, so a language is OFFERED, never AUTO-selected.- Coverage is measured by
npm run i18n:coverageand stored insrc/shared/i18n/language-coverage.generated.json; the per-key drift guard (tests/unit/lint/i18n-coverage-drift.test.ts) fails the build on a stale map or an untranslated shipped catalog. A missing string is added by hand: itsenplus every translation go into the branch's own patch file (below) — the API translator is retired, and nothing catalogues theenentry for you exceptnpm run i18n:extract, which seeds it from the code default. - Locale catalogs live in
resources/locales/<code>/as 64 shard files (common.00.json…common.63.json); they are read and written only throughscripts/i18n/catalog-io.mjs. A branch never edits those shards: its new keys and their translations go into ONE patch file of its own underresources/locales/patches/(every language inside), which every reader overlays on the shards; a scheduled job on master folds landed patches back into the shards once 50 have piled up (npm run i18n:compact), and a shard edit made by hand is refused at merge time —npm run i18n:patch -- --from-shardsmoves it onto the patch. During the 2026-09-08 transition a language may also still carry its old single-filecommon.json(listed inshard-snapshot.json); it is read as a union and retired by the next translation write (npm run i18n:shard -- --retiredoes it by hand). - A language can carry a style guide —
scripts/i18n/style-guides/<lang>.json(register rules, a glossary, keep-English names). The translator adds it to that language's prompt only, and a report-only check lists what still breaks it (Hungarian today:tests/unit/lint/i18n-hungarian-style.test.ts). See the translate-pipeline and catalog-guards contracts.
Related
The spoken replies this page is about come from the voice features, described on the Voice and TTS page. Anything you have had translated into your own words — summaries and Plain Speak cards — is on Plain Speak.
Last verified 2026-09-24