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.