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

# Multilingual Support

> Multi-language support for Ambient sessions and clinical documentation

<div className="quick-summary-wrapper">
  <div className="quick-summary-header">
    <span className="quick-summary-icon" aria-hidden="true" />

    <span className="quick-summary-title">Quick summary</span>
  </div>

  <div className="quick-summary-content">
    Multilingual support lets patients and providers speak in their preferred language during clinical conversations, while Suki automatically generates the final clinical note in English.
  </div>

  <div className="quick-summary-footer">
    <span className="quick-summary-footer-icon" aria-hidden="true" />

    <span className="quick-summary-footer-text">Last updated:</span>
    <span className="quick-summary-footer-date">July 2026</span>
  </div>
</div>

<Info>
  **Multilingual support is supported by:** Ambient APIs, Mobile SDK, Web SDK (v2.1.1+)
</Info>

Multilingual support lets patients and <Tooltip tip="A healthcare professional such as a physician, APP, or nurse who documents care. In Suki integrations, provider identity ties sessions, preferences, and generated notes to the correct clinician." cta="View in Glossary" href="/Glossary/p">providers</Tooltip> speak in their preferred language during clinical conversations, while Suki automatically generates the final <Tooltip tip="The structured medical documentation produced for a patient encounter. In Suki, ambient note generation organizes content into LOINC-coded sections so partners can review, edit, and submit notes into an EHR-ready workflow." cta="View in Glossary" href="/Glossary/c">clinical note</Tooltip> in English. This removes the need for manual translation and makes healthcare more accessible to diverse patient populations.

When you enable multilingual support for an <Tooltip tip="A single, time-bound instance of an ambient recording for a specific patient encounter that captures clinical conversations." cta="View in Glossary" href="/Glossary/a">ambient session</Tooltip>, you get the following benefits:

* **Patient comfort**: Patients can communicate in their native language, leading to more accurate information sharing
* **Better care quality**: When patients speak in their preferred language, they provide more detailed and accurate information
* **No translation needed**: Clinicians don't need to translate conversations manually, Suki handles it automatically
* **EHR compatibility**: All notes are generated in English, ensuring compatibility with standard <Tooltip tip="Electronic Health Record. The longitudinal digital chart for a patient across care settings. Partners integrate Suki so generated notes and structured clinical data can flow into the EHR clinicians already use." cta="View in Glossary" href="/Glossary/e">EHR</Tooltip> systems
* **Wider accessibility**: Support for 80+ languages makes healthcare more inclusive

## How Multilingual improves clinical documentation

Multilingual support improves note quality by capturing the conversation as the patient actually speaks it, then producing documentation in English that your EHR can use.

| What you configure                             | How the note gets better                                                      |
| ---------------------------------------------- | ----------------------------------------------------------------------------- |
| Multilingual enabled on the ambient session    | Patients can speak in their preferred language without losing clinical detail |
| Automatic language detection and transcription | More of the visit content is captured accurately                              |
| English clinical note generation               | Notes stay EHR-ready without a separate translation step                      |

When patients speak freely in their preferred language, the source conversation is usually richer and more accurate. Suki turns that into an English clinical note, so documentation quality improves without adding translation work for the clinician.

## How Multilingual transcription works

When you enable multilingual support for an ambient session, Suki automatically:

1. **Detects the language** spoken during the conversation
2. **Transcribes the audio** in the detected language
3. **Translates and processes** the conversation content
4. **Generates the clinical note** in English

The <Tooltip tip="The text version of recorded audio from clinical conversations, generated by automatic speech recognition." cta="View in Glossary" href="/Glossary/t">transcript</Tooltip> API returns a `lang_id` field that identifies which language was detected for each segment of the conversation. This helps you understand what language was spoken during different parts of the session.

## How to enable multilingual support

Multilingual support lets patients and providers speak in their preferred language. Suki still generates the clinical note in English. How you turn it on depends on the product you use.

Click the tabs below to see the implementation details for your integration path.

<Tabs>
  <Tab title="Ambient APIs">
    Multilingual support is **enabled by default** for ambient sessions. You do not need to pass a `multilingual` field when you create a session. The old `multilingual` parameter is deprecated.

    <Steps>
      <Step title="Create the Ambient Session" icon="play">
        Call the Create ambient session API without a `multilingual` field. Suki enables multilingual processing for the session automatically.

        ```python Python theme={"theme":{"light":"github-dark","dark":"material-theme-darker"}}
        import requests

        response = requests.post(
            "https://sdp.suki.ai/api/v1/ambient/session/create",
            json={
                # Optional: "ambient_session_id", "encounter_id", "emr_encounter_id"
            },
            headers={
                "sdp_suki_token": "<sdp_suki_token>",
                "sdp_provider_id": "<sdp_provider_id>",
            },
        )

        if response.status_code == 200:
            session = response.json()
            ambient_session_id = session["ambient_session_id"]
            print(f"Session created: {ambient_session_id}")
        else:
            print(f"Failed to create session: {response.status_code}")
            print(response.json())
        ```

        Refer to [Create ambient session](/api-reference/ambient-sessions/create) for the full request and response.
      </Step>

      <Step title="Stream Audio and End the Session" icon="waveform-lines">
        Stream the encounter audio, then end the session so Suki can generate the English clinical note. Multilingual processing applies for the full session and cannot be changed mid-session.
      </Step>

      <Step title="Read Language Detection from the Transcript" icon="language">
        After processing completes, call the transcript API if you need language detection. Each transcript segment can include a `lang_id` for the language Suki detected.

        Refer to [Get ambient session Transcript](/api-reference/ambient-content/transcript) and the [Language code reference](/api-reference/capabilities/multilingual#language-code-reference) for more details.
      </Step>

      <Step title="Disable Only If Required" icon="ban">
        If your organization must turn multilingual support off, contact the Suki support team. Do not rely on the deprecated `multilingual` request field.

        Refer to [Deprecations](/updates/deprecations) for the deprecation notice.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Web SDK">
    The Web SDK enables Multilingual support automatically for ambient sessions. You do not configure a multilingual flag in `ambientOptions`. Requires Web SDK `v2.1.1+`.

    <Steps>
      <Step title="Initialize and Mount the Web SDK" icon="window">
        Initialize authentication and mount the ambient experience as usual. Multilingual processing is already on for the session.

        Refer to [Ambient implementation](/web-sdk/guides/ambient-implementation) for mount options and [Multilingual sessions](/web-sdk/guides/ambient-multilingual) for Web SDK behavior.
      </Step>

      <Step title="Capture the Visit in Any Supported Language" icon="microphone">
        Providers and patients can speak in their preferred language during the ambient session. You do not need to select a language in the SDK.
      </Step>

      <Step title="Receive the English Clinical Note" icon="file-lines">
        After submit, the Web SDK returns the generated note in English. Handle `onNoteSubmit` (React) or `note-submission:success` (JavaScript and React) as usual.

        Refer to [Note management](/web-sdk/guides/note-management) for more details.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Mobile SDK">
    On Mobile SDK, Multilingual support is **off by default**. Set `SukiAmbientConstant.kIsMultilingual` to `true` when you create the session if the conversation may include languages other than English. Once set, you cannot change it for that session.

    <Steps>
      <Step title="Create the Session with Multilingual Enabled" icon="play">
        Pass `kIsMultilingual: true` in the session info dictionary when you call `createSession`. Store the returned `sessionId` for recording and session-level content retrieval.

        ```swift Swift theme={"theme":{"light":"github-dark","dark":"material-theme-darker"}}
        let sessionInfo: [String: AnyHashable] = [
            SukiAmbientConstant.kSessionId: encounterId, // Optional Session Group ID
            SukiAmbientConstant.kIsMultilingual: true
        ]

        SukiAmbientCoreManager.shared.createSession(
            with: sessionInfo,
            onCompletion: { result in
                switch result {
                case .success(let sessionResponse):
                    let sessionId = sessionResponse.sessionId
                    // Store sessionId for recording and content retrieval
                    print("Session created successfully: \(sessionId)")
                case .failure(let error):
                    print("Error creating session: \(error)")
                }
            }
        )
        ```

        Refer to [Create session](/mobile-sdk/ambient-guides/create-session) for session info parameters.
      </Step>

      <Step title="Set Clinical Context and Record" icon="microphone">
        Call `setSessionContext(with:)` as needed, then start recording. Capture the visit in the patient's preferred language. End the session when capture is complete so note generation can run.
      </Step>

      <Step title="Retrieve the English Clinical Note" icon="file-lines">
        After processing completes, retrieve content with `content(for:)`. The generated clinical note is in English even when the conversation was in another language.

        Refer to [Session status and content retrieval](/mobile-sdk/ambient-guides/session-status-and-content-retrieval) for more details.
      </Step>
    </Steps>
  </Tab>
</Tabs>

<Note>
  For Ambient APIs and Web SDK, multilingual support is on by default. For Mobile SDK, set `kIsMultilingual` to `true` when you create the session. In all products, the setting applies to the entire session and cannot be changed mid-session.
</Note>

## Supported languages for Multilingual support

Suki supports over **80 languages** for Multilingual ambient sessions. Refer to the table below to see the languages currently supported:

|                     |                    |             |               |           |
| ------------------- | ------------------ | ----------- | ------------- | --------- |
| Spanish             | Norwegian          | Macedonian  | Kazakh        | Yoruba    |
| Italian             | Finnish            | Hungarian   | Icelandic     | Telugu    |
| English             | Vietnamese         | Tamil       | Marathi       | Khmer     |
| Portuguese          | Thai               | Hindi       | Maori         | Malayalam |
| German              | Slovak             | Estonian    | Swahili       | Lao       |
| Japanese            | Greek              | Urdu        | Armenian      | Punjabi   |
| Polish              | Czech              | Latvian     | Belarusian    | Gujarati  |
| Russian             | Croatian           | Slovenian   | Nepali        | Somali    |
| Dutch               | Danish             | Azerbaijani | Occitan       | Bengali   |
| Indonesian          | Tagalog            | Hebrew      | Lingala       | Georgian  |
| Catalan             | Korean             | Lithuanian  | Maltese       | Assamese  |
| French              | Romanian           | Persian     | Tajik         | Mongolian |
| Turkish             | Bulgarian          | Welsh       | Luxembourgish | Myanmar   |
| Swedish             | Galician           | Serbian     | Hausa         | Shona     |
| Ukrainian           | Bosnian            | Afrikaans   | Uzbek         | Amharic   |
| Malay               | Arabic             | Kannada     | Pashto        | Sindhi    |
| Chinese (Cantonese) | Chinese (Mandarin) |             |               |           |

## Language code reference

Pick a **Letter** below to show languages starting with that letter, then use the table to map each `lang_id` to its corresponding language. This helps you interpret the language codes returned by the Transcript API.

<Note>
  We regularly update this list as we add support for new languages. If a language is not included in this table, it is not yet supported.
</Note>

<div data-suki-multilingual-lang-root data-multilingual-lang-letter="A">
  <div data-suki-multilingual-lang-toolbar-mount aria-live="polite" />

  <div data-suki-multilingual-lang-panels>
    <section data-lang-letter="A">
      **A**

      | Language    | Language ID (`lang_id`) |
      | ----------- | ----------------------- |
      | afrikaans   | af                      |
      | amharic     | am                      |
      | arabic      | ar                      |
      | armenian    | hy                      |
      | assamese    | as                      |
      | azerbaijani | az                      |
    </section>

    <section data-lang-letter="B">
      **B**

      | Language   | Language ID (`lang_id`) |
      | ---------- | ----------------------- |
      | belarusian | be                      |
      | bengali    | bn                      |
      | bosnian    | bs                      |
      | bulgarian  | bg                      |
    </section>

    <section data-lang-letter="C">
      **C**

      | Language           | Language ID (`lang_id`) |
      | ------------------ | ----------------------- |
      | catalan            | ca                      |
      | chinese            | zh                      |
      | chinese\_cantonese | yue                     |
      | chinese\_mandarin  | cmn                     |
      | croatian           | hr                      |
      | czech              | cs                      |
    </section>

    <section data-lang-letter="D">
      **D**

      | Language | Language ID (`lang_id`) |
      | -------- | ----------------------- |
      | danish   | da                      |
      | dutch    | nl                      |
    </section>

    <section data-lang-letter="E">
      **E**

      | Language | Language ID (`lang_id`) |
      | -------- | ----------------------- |
      | english  | en                      |
      | estonian | et                      |
    </section>

    <section data-lang-letter="F">
      **F**

      | Language | Language ID (`lang_id`) |
      | -------- | ----------------------- |
      | finnish  | fi                      |
      | french   | fr                      |
    </section>

    <section data-lang-letter="G">
      **G**

      | Language | Language ID (`lang_id`) |
      | -------- | ----------------------- |
      | galician | gl                      |
      | georgian | ka                      |
      | german   | de                      |
      | greek    | el                      |
      | gujarati | gu                      |
    </section>

    <section data-lang-letter="H">
      **H**

      | Language  | Language ID (`lang_id`) |
      | --------- | ----------------------- |
      | hausa     | ha                      |
      | hebrew    | he                      |
      | hindi     | hi                      |
      | hungarian | hu                      |
    </section>

    <section data-lang-letter="I">
      **I**

      | Language   | Language ID (`lang_id`) |
      | ---------- | ----------------------- |
      | icelandic  | is                      |
      | indonesian | id                      |
      | italian    | it                      |
    </section>

    <section data-lang-letter="J">
      **J**

      | Language | Language ID (`lang_id`) |
      | -------- | ----------------------- |
      | japanese | ja                      |
    </section>

    <section data-lang-letter="K">
      **K**

      | Language | Language ID (`lang_id`) |
      | -------- | ----------------------- |
      | kannada  | kn                      |
      | kazakh   | kk                      |
      | khmer    | km                      |
      | korean   | ko                      |
    </section>

    <section data-lang-letter="L">
      **L**

      | Language      | Language ID (`lang_id`) |
      | ------------- | ----------------------- |
      | lao           | lo                      |
      | latvian       | lv                      |
      | lingala       | ln                      |
      | lithuanian    | lt                      |
      | luxembourgish | lb                      |
    </section>

    <section data-lang-letter="M">
      **M**

      | Language   | Language ID (`lang_id`) |
      | ---------- | ----------------------- |
      | macedonian | mk                      |
      | malay      | ms                      |
      | malayalam  | ml                      |
      | maltese    | mt                      |
      | maori      | mi                      |
      | marathi    | mr                      |
      | mongolian  | mn                      |
      | myanmar    | my                      |
    </section>

    <section data-lang-letter="N">
      **N**

      | Language  | Language ID (`lang_id`) |
      | --------- | ----------------------- |
      | nepali    | ne                      |
      | norwegian | no                      |
    </section>

    <section data-lang-letter="O">
      **O**

      | Language | Language ID (`lang_id`) |
      | -------- | ----------------------- |
      | occitan  | oc                      |
    </section>

    <section data-lang-letter="P">
      **P**

      | Language   | Language ID (`lang_id`) |
      | ---------- | ----------------------- |
      | pashto     | ps                      |
      | persian    | fa                      |
      | polish     | pl                      |
      | portuguese | pt                      |
      | punjabi    | pa                      |
    </section>

    <section data-lang-letter="R">
      **R**

      | Language | Language ID (`lang_id`) |
      | -------- | ----------------------- |
      | romanian | ro                      |
      | russian  | ru                      |
    </section>

    <section data-lang-letter="S">
      **S**

      | Language  | Language ID (`lang_id`) |
      | --------- | ----------------------- |
      | serbian   | sr                      |
      | shona     | sn                      |
      | sindhi    | sd                      |
      | slovak    | sk                      |
      | slovenian | sl                      |
      | somali    | so                      |
      | spanish   | es                      |
      | swahili   | sw                      |
      | swedish   | sv                      |
    </section>

    <section data-lang-letter="T">
      **T**

      | Language | Language ID (`lang_id`) |
      | -------- | ----------------------- |
      | tagalog  | tl                      |
      | tajik    | tg                      |
      | tamil    | ta                      |
      | telugu   | te                      |
      | thai     | th                      |
      | turkish  | tr                      |
    </section>

    <section data-lang-letter="U">
      **U**

      | Language  | Language ID (`lang_id`) |
      | --------- | ----------------------- |
      | ukrainian | uk                      |
      | urdu      | ur                      |
      | uzbek     | uz                      |
    </section>

    <section data-lang-letter="V">
      **V**

      | Language   | Language ID (`lang_id`) |
      | ---------- | ----------------------- |
      | vietnamese | vi                      |
    </section>

    <section data-lang-letter="W">
      **W**

      | Language | Language ID (`lang_id`) |
      | -------- | ----------------------- |
      | welsh    | cy                      |
    </section>

    <section data-lang-letter="Y">
      **Y**

      | Language | Language ID (`lang_id`) |
      | -------- | ----------------------- |
      | yoruba   | yo                      |
    </section>
  </div>
</div>

## Best practices

<Tip>
  * **Enable when needed**: Only enable multilingual support when you expect conversations in multiple languages. This optimizes performance.
  * **Set patient language preference**: If you know the patient's preferred language, you can display this information in your UI to help providers prepare.
  * **Monitor language detection**: Use the `lang_id` from transcripts to understand language usage patterns in your application.
  * **Test with your languages**: Verify multilingual support works correctly with the languages your patients commonly use.
  * **Note language in UI**: Consider displaying the detected language in your UI so providers know what language was spoken.
</Tip>

## Related APIs

Use these APIs to work with multilingual support:

<CardGroup cols={2}>
  <Card title="Get Session Transcript" icon="code" arrow={true} href="/api-reference/ambient-content/transcript">
    Retrieve transcripts with language detection information (`lang_id`)
  </Card>

  <Card title="Create Session" icon="code" arrow={true} href="/api-reference/ambient-sessions/create">
    Create ambient sessions. Multilingual support is enabled by default
  </Card>
</CardGroup>
