๐ Language Support
25 UI locales ยท 21 TTS languages ยท 21 AAC offline dictionaries. Synalux is built for multilingual practices and the families they serve. Below is the honest coverage matrix per surface.
Coverage Matrix
| Language | UI translation | Premium TTS (Inworld) | Fallback TTS (Azure) | Offline TTS (Kokoro) | AAC offline dict (500 words) | Cloud autocorrect (Gemini) |
|---|---|---|---|---|---|---|
| ๐บ๐ธ English (US/GB/AU) | โ | โ 6 voices | โ | โ | โ | โ |
| ๐ช๐ธ Spanish (ES/MX) | โ | โ Carmen / Diego | โ | โ | โ | โ |
| ๐ซ๐ท French | โ | โ Camille / Lucas | โ | โ | โ | โ |
| ๐ฉ๐ช German | โ | โ Hans / Lena | โ | โ | โ | โ |
| ๐ง๐ท๐ต๐น Portuguese | โ | โ Luana | โ | โ | โ | โ |
| ๐ฎ๐น Italian | โ | โ Giulia | โ | โ | โ | โ |
| ๐ณ๐ฑ Dutch | โ | โ Lotte | โ | โ | โ | โ |
| ๐ต๐ฑ Polish | โ | โ Zofia | โ | โ | โ | โ |
| ๐ฏ๐ต Japanese | โ | โ ใใใ | โ | โ | โ | โ |
| ๐จ๐ณ Chinese (Mandarin) | โ | โ ็พ | โ | โ | โ | โ |
| ๐จ๐ณ Chinese (zh-TW) | โ | โ | โ ๆ่ป | โ | โ | โ |
| ๐จ๐ณ Chinese (zh-HK) | โ | โ | โ ๆๆผ | โ | โ | โ |
| ๐ฐ๐ท Korean | โ | โ ์ง์ | โ | โ | โ | โ |
| ๐ท๐บ Russian | โ | โ ะะฝั | โ | โ | โ | โ |
| ๐ท๐ด Romanian | โ | โ (subsidized via Azure on free tier) | โ Alina | โ | โ | โ |
| ๐บ๐ฆ Ukrainian | โ | โ (subsidized via Azure on free tier) | โ ะะพะปัะฝะฐ | โ | โ | โ |
| ๐ธ๐ฆ Arabic (RTL) | โ | โ ูููู | โ | โ | โ | โ |
| ๐ฎ๐ฑ Hebrew (RTL) | โ | โ ื ืืขื | โ | โ | โ | โ |
| ๐ฎ๐ณ Hindi | โ | โ เคเคจเฅเคฏเคพ | โ | โ | โ | โ |
| ๐ป๐ณ Vietnamese | โ | โ | โ Hoร i Mแปน + Nam Minh | โ | โ | โ |
| ๐ต๐ญ Filipino (Tagalog) | โ | โ | โ Blessica + Angelo | โ | โ | โ |
| ๐น๐ท Turkish | โ | โ | โ Emel + Ahmet | โ | โ | โ |
| ๐ฎ๐ฉ Indonesian | โ | โ | โ Gadis + Ardi | โ | โ | โ |

Counts at a Glance
| Surface | Languages | Notes |
|---|---|---|
| UI translations | 25 locales (100% coverage each) | enร3, esร2, ptร2 + 18 single-region locales |
| Premium TTS (Inworld) | 14 base languages, ~24 voices | en, es, fr, de, pt, it, nl, pl, ja, zh, ko, ru, he, ar, hi |
| Fallback TTS (Azure) | 8 languages, ~14 voices | ro, uk, zh-tw, zh-hk, vi, tl, tr, id |
| Offline neural TTS (Kokoro) | 6 languages | en, es, fr, pt, ja, zh โ bundled WASM |
| AAC offline dictionary | 21 languages ร 500 words each | Index-aligned across langs |
| Whisper transcription | ~99 languages | Whisperโs full coverage; quality varies by language |
| Cloud autocorrect (Gemini Flash-Lite) | ~100+ languages | Bench-validated for en/ro/ru/es/uk/pl |
How the Layered Fallback Works
If your language doesnโt have premium TTS, you still get a voice. If you donโt have Whisper-trained data, you still get cloud transcription. If youโre offline, you still get the AAC dictionary.
TTS: Inworld (Tier 1) โ Kokoro WASM (Tier 1.5) โ Web Speech API (Tier 2) โ espeak-ng WASM (Tier 3)
Translation: Offline dictionary โ Cloud Gemini Flash โ original text passthrough
Autocorrect: Local prism-coder (when running) โ Cloud Gemini Flash-Lite โ original text passthroughSee Voice TTS Architecture, Translation, Transcription for the full per-surface design.
Subsidized Languages (Free Tier)
For users in regions where Synalux serves underserved populations, Synalux absorbs Inworld TTS-2 cost on the free tier so users get premium voices at no charge:
ro Romanian ยท uk Ukrainian ยท ru Russian ยท de German ยท ko Korean ยท ar Arabic
Without this subsidy, users in these regions would either pay or use Tier 1.5/2/3 fallbacks.
Adding a Language
The translation pipeline is automated. To add a 26th UI locale:
- Add the locale code to
Localetype +LOCALE_LABELSinportal/src/lib/i18n.ts. - Add an empty
'<locale>': {}entry in thetranslationsmap. - Run the bulk-translation script (one-shot, not committed) โ pulls all 257 keys from
en-US, batch-translates via Gemini Flash-Lite (~$0.005), writes back the locale block. - Add a voice entry to
portal/src/shared/voice-catalog.ts(Inworld if available; else Azure fallback). - Run the AAC dict script for the matching prism-aac repo (translates 500 entries via Gemini, ~$0.005).
- tsc + commit.
End-to-end: ~10 minutes per new language, ~$0.01 in API spend.
Roadmap
Languages frequently requested but not yet supported:
- Greek (el), Czech (cs), Hungarian (hu), Swedish (sv), Norwegian (no), Danish (da), Finnish (fi)
- Bengali (bn), Tamil (ta), Telugu (te), Marathi (mr), Punjabi (pa) โ South Asian sub-languages
- Swahili (sw), Yoruba (yo), Hausa (ha) โ African languages
If you need a specific language for your practice, contact usย โ turnaround is typically 1-2 weeks for adding a new locale across all surfaces.