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

# Changing the language in Daily Prebuilt

> Configure the Daily Prebuilt UI language at the domain, room, token, or call level.

Daily Prebuilt supports over a dozen languages. The language can be set at multiple levels — from a domain-wide default down to a per-participant override — using the `lang` property.

## Supported language values

| Value     | Language                                                                          |
| --------- | --------------------------------------------------------------------------------- |
| `"da"`    | Danish                                                                            |
| `"de"`    | German                                                                            |
| `"en"`    | English (default)                                                                 |
| `"es"`    | Spanish                                                                           |
| `"fi"`    | Finnish                                                                           |
| `"fr"`    | French                                                                            |
| `"it"`    | Italian                                                                           |
| `"jp"`    | Japanese                                                                          |
| `"ka"`    | Georgian                                                                          |
| `"nl"`    | Dutch                                                                             |
| `"no"`    | Norwegian                                                                         |
| `"pt"`    | Portuguese (Portugal)                                                             |
| `"pt-BR"` | Portuguese (Brazil)                                                               |
| `"pl"`    | Polish                                                                            |
| `"ru"`    | Russian                                                                           |
| `"sv"`    | Swedish                                                                           |
| `"tr"`    | Turkish                                                                           |
| `"user"`  | Matches the participant's browser language (falls back to English if unsupported) |

<Note>
  `"no"` (Norwegian) and `"ru"` (Russian) are only available in the current Daily Prebuilt UI.
</Note>

## Setting the language

There are four ways to set the language, listed here from lowest to highest priority.

### 1. Domain level (lowest priority)

Set a default language for all rooms on your domain via the [domain configuration API](/reference/rest-api/domain/set-domain-config):

```bash theme={null}
curl --request POST \
  --url https://api.daily.co/v1/ \
  --header 'Authorization: Bearer $DAILY_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"properties": {"lang": "fr"}}'
```

### 2. Room level

Override the domain default for a specific room:

```bash theme={null}
curl --request POST \
  --url https://api.daily.co/v1/rooms/my-room \
  --header 'Authorization: Bearer $DAILY_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"properties": {"lang": "de"}}'
```

You can also select a language when creating a room in the [Daily dashboard](https://dashboard.daily.co/rooms).

### 3. Meeting token level

Set a per-participant language by including `lang` in meeting token properties:

```bash theme={null}
curl --request POST \
  --url https://api.daily.co/v1/meeting-tokens \
  --header 'Authorization: Bearer $DAILY_API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{"properties": {"room_name": "my-room", "lang": "jp"}}'
```

### 4. `setDailyLang()` (highest priority)

Call [`setDailyLang()`](/reference/daily-js/instance-methods/set-daily-lang) at runtime to change the language dynamically. This overrides all other settings and is useful for building in-call language selectors:

```javascript theme={null}
call.setDailyLang('es');
```

You can also pass `lang` directly to [`createFrame()`](/reference/daily-js/factory-methods/create-frame):

```javascript theme={null}
const call = Daily.createFrame({ lang: 'nl' });
```

## Priority order

When multiple levels are configured, the highest-priority setting wins:

1. `setDailyLang()` — highest
2. Meeting token `lang`
3. `createFrame()` property
4. Room-level `lang`
5. Domain-level `lang` — lowest
