Docs · Multilingual
Every language. No favorites.
Guarantees
Same-language repeats work in any language (14 tested: Hindi→Arabic). The serving path has no preferred language — the LLM is instructed to answer in the user's language, regression-tested with a provider spy.
Language plugins
reflex/core/normalizer.py → LANGUAGE_MAPS: Hindi Devanagari↔Roman convergence, German umlaut folding (Rückerstattung ≡ Rueckerstattung, sim 1.0 live) + intent synonyms. Scripts are never stripped; stopwords keep short queries from colliding across languages.
Add your language (5 min)
# 1. reflex/core/normalizer.py → LANGUAGE_MAPS["french"] = {...}
# 2. tests/test_multilingual.py → repeat cases (must hit pure reflex)
# 3. reflex/llm/base.py → _INTENTS answers in-kind (optional)
# 4. EMBEDDING_BACKEND=hash python -m pytest tests -q (twice)Paraphrase-across-languages needs a semantic backend (bge-m3); the keyless hash backend matches repeats in every language.