# 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.