# Multi-Language (Reference: https://docs.iqra.bot/build/multi-language) Iqra AI is built to be **Native Polyglot**. Most platforms use a "Translation Layer" (User speaks Arabic -> Translate to English -> AI processes -> Translate back to Arabic). This causes high latency and loss of nuance. We use a **Parallel Context** architecture. You define the prompt, script, and responses *specifically* for Arabic, and *specifically* for English. The agent switches its entire "Brain" and "Voice" to the target language instantly. Configuration [#configuration] 1. Business Languages [#1-business-languages] First, ensure your languages are enabled at the Workspace level. * Go to **Settings** -> **General**. * Add languages (e.g., `en-US`, `ar-SA`, `es-ES`). * Set a **Default Language**. 2. Agent Configuration [#2-agent-configuration] An agent does not automatically speak all business languages. You must enable them. 1. Go to **Agent Studio** -> **Intelligence**. 2. You will see tabs for each Business Language. 3. **Map Providers:** * *English:* STT (Deepgram Nova-2) / TTS (ElevenLabs Turbo). * *Arabic:* STT (Azure Speech) / TTS (Azure Neural or ElevenLabs Multilingual). This allows you to pick the *best* provider for each language. Azure might be better for Arabic dialects, while Deepgram is faster for English. 3. Script Content [#3-script-content] In the **[Script Builder](/build/script)**, every text field (User Query, AI Response) is multi-lingual. * **The Global Selector:** Use the dropdown in the top header to switch views. * **Validation:** Look for the checkmark next to the language name. This confirms all nodes have content for that language. *** Switching Languages (Runtime) [#switching-languages-runtime] How does the agent know which language to speak? A. Inbound (IVR) [#a-inbound-ivr] For [Inbound Routes](/build/campaigns/inbound), we recommend an explicit selection. * *System:* "Press 1 for English. Press 2 for Arabic." * *Result:* The call starts in the selected context. B. Outbound (CSV Override) [#b-outbound-csv-override] For [Outbound Campaigns](/build/campaigns/outbound), you define the starting language in the CSV. * `to_number`: `+968...` -> `override_agent_language_code`: `ar` C. Mid-Call Switching (Dynamic) [#c-mid-call-switching-dynamic] The agent can switch languages during the conversation. * **Use Case:** User starts in English but struggles, asks "Do you speak Arabic?" * **Implementation:** Use the **[Change Language](/build/script/nodes#change-language)** node. * *User Query:* "Speak Arabic" / "حول عربي" * *Action:* Change Language Node (`ar`). * *Result:* The agent immediately swaps STT/TTS providers and loads the Arabic prompt context.