Answer in the language asked
The agent replies in whatever language the user used. There is no locale switch to set and no separate assistant per market.
What it takes for one agent to serve users who do not all speak the same variety of the same language.
Most language support assumes each user picks one language and stays in it. Real users do not. They speak a regional variety that differs from the written standard, they borrow product words from another language mid-sentence, and they expect the interface to turn around when the text does.
Arabic is where this gets forced. It is not one language in practice: a merchant in Cairo and a merchant in the Gulf ask the same question with different words. Voqal handles that in production today, which is why the depth exists at all. The same handling applies wherever a user’s spoken language and the written standard diverge.
The agent replies in whatever language the user used. There is no locale switch to set and no separate assistant per market.
Arabic arrives in whichever regional form the user speaks. It goes back out in Modern Standard Arabic, which every Arabic speaker reads, rather than a dialect that only some of them do.
People mix languages inside one sentence, especially around product and finance vocabulary. A turn is not rejected for being half one language and half another.
Widgets flip direction: alignment, ordering and the conversation layout itself. A single English chip under an Arabic answer aligns the way that chip should, not the way the paragraph does.
Language affects what the agent says, not what it can do. The same tools, schemas and confirmation rules apply whichever language the turn came in.
Figures stay legible in either direction, and arithmetic goes through a calculation tool rather than being produced by the model.

The voice documentation covers language behaviour on the speech side, and configuration covers theming and direction. For the longer version of how this is built, the blog has running ten Arabic dialects through one pipeline.