> ## Documentation Index
> Fetch the complete documentation index at: https://docs.threetone.in/llms.txt
> Use this file to discover all available pages before exploring further.

# Language

> Separate response language from speech recognition, prepare language-specific text, and inspect the saved draft.

Choose the language of the agent's replies independently from the languages it should recognize. Review the prompt, first message, and any language-specific wording together so they describe the same task.

<Note>
  The dashboard's **Language** and **ASR** controls are unsaved previews. Use API drafts for configuration authoring. Voice publication is currently unavailable, even when the language and speech settings are compatible.
</Note>

## Language settings

| Field | Purpose |
| - | - |
| `conversation_config.agent.language` | Base response language; defaults to `en`. |
| `conversation_config.agent.response_language_policy` | `base_language` or `recognized_language`; defaults to `base_language`. |
| `conversation_config.asr.recognition` | Model-specific input recognition mode and language settings. |
| `conversation_config.language_presets` | Map of language tags to supported text, turn, and voice overrides. |

Use valid language tags and the selected model's actual coverage. Choosing `recognized_language` requests responses based on recognized input; it does not establish working automatic language switching.

## Prepare a language draft

<Steps>
  <Step title="Choose the base response language">
    Set the base language and write the first message in that language. Ask a fluent reviewer to check names, dates, numbers, and task-specific terms.
  </Step>

  <Step title="Review recognition separately">
    For a voice draft, select a compatible ASR model and its supported recognition mode. Follow [voice configuration](/agents-platform/configure/voice-and-language/overview); a response-language tag does not configure microphone input recognition.
  </Step>

  <Step title="Prepare additional-language text">
    A language preset requires an `overrides` object. It can include `agent.first_message`, `agent.max_conversation_duration_message`, `turn.soft_timeout_config`, and `tts.voice_id` within that object.

    Translation records use `source_hash` and `text`. Do not assume the preview translation controls have saved or translated the agent's complete prompt.
  </Step>

  <Step title="Save and inspect">
    Save the complete [server draft](/agents-platform/deploy/versioning), preserving unrelated fields. Read it back and compare the base language, response policy, preset keys, and reviewed text. Keep voice publication pending.
  </Step>
</Steps>

## Frequently asked questions

<AccordionGroup>
  <Accordion title="Does the base language choose the ASR language?" id="faq-language-asr">
    No. Base response language and input recognition are separate settings. Check both against the current model catalog.
  </Accordion>

  <Accordion title="Can a language preset change the model or tools?" id="faq-language-preset-scope">
    The language-preset contract has a limited override set. It does not accept a replacement LLM, tool list, or arbitrary conversation configuration.
  </Accordion>
</AccordionGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.