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

# Multi-language support

By the end of this guide, you'll know how to configure Link to display in your users' preferred language — automatically matching their device locale or specifying a particular language.

<Check>
  **Before you start**

  * You have the Mesh SDK initialized and launching (see [Launch the Mesh SDK](/build/launch-sdk))
</Check>

## Overview

This guide explains how to configure Link (the Mesh SDK) to support multiple languages for a localized user experience. The `language` parameter allows you to automatically match the user's device/browser language, or specify a particular language and locale.

## Possible Values

* `<BCP 47 code>`: A specific language code enumerated as the 2 digit language identifier (eg. "`fr`" for French) and the 2 digit region identifier (eg. "`CA`" for Canada), combined as "`fr-CA`". Alternatively, the SDK will accept an input of only the language (eg. "`fr`").
* If the indicated language (eg. "`fr`") is followed by a region code (eg. "`CA`") that is not recognized or supported for that language, Link will fall back to the default translation for that language, if available (eg. "`fr-FR`"). If no translation for the language is available, Link will default to "`en-US`" (English, US).
* If you do not provide a value for the parameter, or if you provide a value for a language that is not supported, Link will default to "`en-US`" (English, US).
* `system`: Link will detect the default language on the user's browser and/or device and display Link in that language. If it is an unsupported value, it will fallback to another locale for that language, or it will fallback to the global default of `en-US`.

## Implementation

### 1. Initialize Link with `language`

When you initialize Link in your application, use the `language` parameter to specify the desired language behavior.

<AccordionGroup>
  <Accordion icon="https://mintcdn.com/mesh-40/Y-QnDCJ7fcNNqJ5o/images/icons/web.svg?fit=max&auto=format&n=Y-QnDCJ7fcNNqJ5o&q=85&s=6fd7faf20edd7e5cec27f3550deb55ef" title="Web SDK example" width="24" height="24" data-path="images/icons/web.svg">
    ```javascript theme={null}
    const connection = createLink({
      ...
      language: 'system',
      ...
    })
    ```
  </Accordion>

  <Accordion icon="https://mintcdn.com/mesh-40/Y-QnDCJ7fcNNqJ5o/images/icons/apple.svg?fit=max&auto=format&n=Y-QnDCJ7fcNNqJ5o&q=85&s=3ea087c17aff5ef105e1f1e3cc39de58" title="iOS Native SDK example" width="24" height="24" data-path="images/icons/apple.svg">
    ```swift theme={null}
    let settings = LinkSettings(language: "system",
                                ...)
    ```
  </Accordion>

  <Accordion icon="https://mintcdn.com/mesh-40/Y-QnDCJ7fcNNqJ5o/images/icons/android.svg?fit=max&auto=format&n=Y-QnDCJ7fcNNqJ5o&q=85&s=0bbbb8fb34fea77c1a25aaa3c9d5dacc" title="Android Native SDK example" width="24" height="24" data-path="images/icons/android.svg">
    ```kotlin theme={null}
    val configuration = LinkConfiguration(
      ...
      language = "system",
      ...
    )
    ```
  </Accordion>

  <Accordion icon="https://mintcdn.com/mesh-40/Y-QnDCJ7fcNNqJ5o/images/icons/react.svg?fit=max&auto=format&n=Y-QnDCJ7fcNNqJ5o&q=85&s=162ed81498b01d342d25c427bd7bd5c7" title="ReactNative SDK example" width="24" height="24" data-path="images/icons/react.svg">
    ```javascript theme={null}
    return <...
            settings={{
              language: 'system',
              ...
            }}
    ```
  </Accordion>

  <Accordion icon="https://mintcdn.com/mesh-40/Y-QnDCJ7fcNNqJ5o/images/icons/flutter.svg?fit=max&auto=format&n=Y-QnDCJ7fcNNqJ5o&q=85&s=efe91e3117513e06731a5bbf7321efd0" title="Flutter SDK example" width="24" height="24" data-path="images/icons/flutter.svg">
    ```dart theme={null}
    final result = await MeshSdk.show(
      context,
      configuration: MeshConfiguration(
        language: 'system',
        ...
          ),
    ```
  </Accordion>
</AccordionGroup>

### 2. Test your implementation

Thoroughly test your implementation to ensure a seamless experience for your users:

* Verify that Link displays correctly in the languages you intend to support.
* Please let your Mesh representative know if you spot any incorrectly translated words or phrases, or any layout issues (for example with right-to-left or character-based languages).

## Currently supported languages

If you need a language that isn't listed below, reach out to your Mesh representative and we'll get it added.

| Status                                                 | Language                       | Region                         | Locale code  |
| ------------------------------------------------------ | ------------------------------ | ------------------------------ | ------------ |
| <span className="sdk-badge sdk-live">live</span>       | system                         |                                | **`system`** |
| <span className="sdk-badge sdk-live">live</span>       | English                        | United States (global default) | **`en-US`**  |
| <span className="sdk-badge sdk-live">live</span>       | Chinese/Mandarin (Simplified)  | China (zh default)             | **`zh-CN`**  |
| <span className="sdk-badge sdk-live">live</span>       | Finnish                        | Finland                        | **`fi-FI`**  |
| <span className="sdk-badge sdk-live">live</span>       | French                         | France (fr default)            | **`fr-FR`**  |
| <span className="sdk-badge sdk-live">live</span>       | German                         | Germany                        | **`de-DE`**  |
| <span className="sdk-badge sdk-live">live</span>       | Hindi                          | India                          | **`hi-IN`**  |
| <span className="sdk-badge sdk-live">live</span>       | Indonesian                     | Indonesia                      | **`id-ID`**  |
| <span className="sdk-badge sdk-live">live</span>       | Japanese                       | Japan                          | **`ja-JP`**  |
| <span className="sdk-badge sdk-live">live</span>       | Malay                          | Malaysia                       | **`ms-MY`**  |
| <span className="sdk-badge sdk-live">live</span>       | Polish                         | Poland                         | **`pl-PL`**  |
| <span className="sdk-badge sdk-live">live</span>       | Portuguese                     | Portugal (pt default)          | **`pt-PT`**  |
| <span className="sdk-badge sdk-live">live</span>       | Russian                        | Russia                         | **`ru-RU`**  |
| <span className="sdk-badge sdk-live">live</span>       | Spanish                        | United States (es default)     | **`es-US`**  |
| <span className="sdk-badge sdk-live">live</span>       | Thai                           | Thailand                       | **`th-TH`**  |
| <span className="sdk-badge sdk-live">live</span>       | Turkish                        | Turkey                         | **`tr-TR`**  |
| <span className="sdk-badge sdk-live">live</span>       | Ukrainian                      | The Ukraine                    | **`uk-UA`**  |
| <span className="sdk-badge sdk-live">live</span>       | Uzbek                          | Uzbekistan                     | **`uz-UZ`**  |
| <span className="sdk-badge sdk-live">live</span>       | Vietnamese                     | Vietnam                        | **`vi-VN`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Arabic                         | Egypt                          | **`ar-EG`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Chinese/Mandarin (Traditional) | United States                  | **`zh-US`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Chinese                        | Hong Kong                      | **`zh-HK`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Chinese                        | Taiwan                         | **`zh-TW`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Czech                          | Czech Republic                 | **`cs-CZ`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Danish                         | Denmark                        | **`da-DK`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Dutch, Flemish                 | Belgium                        | **`nl-NL`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | English                        | Australia                      | **`en-AU`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | English                        | India                          | **`en-IN`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | English                        | United Kingdom                 | **`en-GB`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | French                         | Canada                         | **`fr-CA`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Greek, Modern (1453–)          | Greece                         | **`el-GR`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Hebrew                         | Israel                         | **`he-IL`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Hungarian                      | Hungary                        | **`hu-HU`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Italian                        | Italy                          | **`it-IT`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Korean                         | South Korea                    | **`ko-KR`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Norwegian                      | Norway                         | **`no-NO`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Portuguese                     | Brazil                         | **`pt-BR`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Slovak                         | Slovakia                       | **`sk-SK`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Spanish, Castilian             | Spain                          | **`es-ES`**  |
| <span className="sdk-badge sdk-backlog">backlog</span> | Swedish                        | Sweden                         | **`sv-SE`**  |

## What's next

Similar to language, you can configure the currency that fiat amounts display in. See [Fiat currency support](/resources/fiat-currency) for details.

***

<Accordion title="AI coding reference (llms.txt)">
  *AI coding reference — a compact summary of this page's APIs, parameters, and patterns for use by AI coding assistants (following the [llms.txt standard](https://llmstxt.org/)). Human readers can safely ignore this.*

  **llms.txt — Multi-language support**

  Configure the `language` parameter to display Link in the user's preferred language.

  **Set in SDK initialization** (all 5 platforms, same parameter name): `language: 'system'`

  **Values**: `'system'` (auto-detects device/browser locale) | BCP 47 code (e.g. `'en-US'`, `'fr'`, `'fr-CA'`, `'zh-CN'`)

  **Fallback chain**: unknown region → language default (e.g. fr-FR for any French variant) → `en-US`. Unsupported language → `en-US`.

  **Currently live**: en-US, zh-CN, fi-FI, fr-FR, de-DE, hi-IN, id-ID, ja-JP, ms-MY, pl-PL, pt-PT, ru-RU, es-US, th-TH, tr-TR, uk-UA, uz-UZ, vi-VN

  **Backlog (not yet live)**: ar-EG, zh-HK, zh-TW, cs-CZ, da-DK, nl-NL, en-AU, en-GB, en-IN, fr-CA, el-GR, he-IL, hu-HU, it-IT, ko-KR, no-NO, pt-BR, sk-SK, es-ES, sv-SE

  **Note**: `language` and `displayFiatCurrency` are set in the same SDK initialization call. See Fiat currency support guide.
</Accordion>
