> Fetch clean Markdown by appending `.md` to any page URL under https://signalwire.com/docs or requesting it with the HTTP header `Accept: text/markdown`. The root index at https://signalwire.com/docs/llms.txt lists the available documentation indexes. # setLanguages > Replace all language configurations at once. [ref-agentbase]: /docs/server-sdks/reference/typescript/agents/agent-base [add-language]: /docs/server-sdks/reference/typescript/agents/agent-base/add-language Replace all language configurations at once with a new array. Each element is passed through [`addLanguage()`][add-language] internally. ## **Parameters** **`languages`** `LanguageConfig[]` — required Array of language configuration objects. Each object should include `name`, `code`, and optionally `voice`, `engine`, `fillers`, `speechModel`, `functionFillers`, and `params` (an engine-specific tuning dictionary, only emitted when non-empty). --- ## **Returns** [`AgentBase`][ref-agentbase] -- Returns `this` for method chaining. ## **Example** ```typescript {5} import { AgentBase } from '@signalwire/sdk'; const agent = new AgentBase({ name: 'support', route: '/support' }); agent.setPromptText('You are a helpful assistant.'); agent.setLanguages([ { name: 'English', code: 'en-US', voice: 'rime.spore' }, { name: 'Spanish', code: 'es-MX', voice: 'rime.luna' }, { name: 'French', code: 'fr-FR', voice: 'rime.soleil' }, ]); await agent.serve(); ``` > Replace all language configurations at once.