You can set your preferred language for Daily's prebuilt UI interface in a few ways: through the REST API, DailyIframe, or the dashboard.

Use the REST API

Send a POST request to set your language preference at the domain, room, or token level.

# Domain level 
curl -H "Content-Type: application/json" -H "Authorization: Bearer [[API KEY]]" \
-XPOST -d '{"properties":{"lang":"jp"}}' https://api.daily.co/v1/}

# Room level
curl -H "Content-Type: application/json" -H "Authorization: Bearer [[API KEY]]" \
-XPOST -d '{"properties":{"lang":"tr"}}' https://api.daily.co/v1/rooms/[[ROOM NAME]]

# Token level
curl -H "Content-Type: application/json" -H "Authorization: Bearer [[API KEY]]" \
-XPOST -d '{"properties":{"room_name": [[ROOM NAME]], "lang":"it"}}' \
https://api.daily.co/v1/meeting-tokens


Using the REST API, you can also pass “user” as the lang value via the REST API to set the call interface to match a user’s browser settings. “user” is only a valid option when passed via the REST API or selected from the dashboard.

Use the DailyIframe

On the front-end, you can set the interface language by passing a lang value to the `.createFrame` method, or by calling setDailyLang() on your DailyIframe.

callFrame = window.DailyIframe.createFrame({
...
lang: 'jp'
});
// OR
callFrame.setDailyLang('es');

You might be interested in calling setDailyLang if you’d like to build an interface outside of the DailyIframe for users to select their own language preference while they're on a call, for example.

Use the dashboard

You can create rooms and specify their languages from the Daily dashboard. Head to the “Rooms” tab in the left navigation bar, and click the “Create room” button. You can then choose from fourteen different options.

Screenshot of the Daily dashboard “Create room” page.

Depending on the way you choose to set your language preference, a second language setting could overwrite it. The methods rank from highest to lowest precedence:

  1. setDailyLang()
  2. token
  3. DailyIframe property
  4. room
  5. domain

This means that you could set up your domain to default the prebuilt UI to Spanish, for example, but pass a language property via a token so a participant who prefers a different language could experience the video chat UI in their language of choice.

Did this answer your question?