Skip to main content

Languages

Told lets you present surveys and product tours in multiple languages. The system automatically detects the user's language and displays the appropriate translation.

How language detection works

  1. The SDK detects the user's browser language (web) or device language (mobile) — e.g., a browser set to fr-FR is detected as fr
  2. If the survey or product tour has a translation matching that language → that translation is shown
  3. If no match is found → the default language is shown

Example: Your survey has English (default), Spanish, and French translations.

  • A user with a Spanish browser sees the survey in Spanish
  • A user with a German browser sees it in English (the default, since there's no German translation)

This applies to both surveys and product tours.

Language priority

The SDK resolves the user's language in this order (first match wins):

PrioritySourceHow it's set
1Previously stored languageSaved in localStorage from a prior identify or init call
2language option in inittold('init', sourceID, { language: 'es' })
3language field in identifytold('identify', { language: 'es' })
4Browser languageAutomatically detected from navigator.language
5Fallbacken

Once set, the language is persisted in the browser's localStorage. It will be used for all future sessions until changed or reset.

Setting the user's language

At initialization

Pass the language option when initializing the SDK:

told('init', 'YOUR_SOURCE_ID', { language: 'fr' });

Via identify

Pass language as a field in identify. This updates the user's language and persists it:

told('identify', { language: 'es' });

You can combine it with other user data:

told('identify', {
email: '[email protected]',
userId: '123',
language: 'de',
});

On mobile

Android:

Told.identify(mapOf("language" to "es"))

iOS:

Told.identify(properties: ["language": "es"])

Add ?lang= to the survey URL:

https://survey.told.club/s/YOUR_SURVEY_ID?lang=es
info

Setting the language via init or identify overrides the automatic browser detection. The chosen language is saved and reused across sessions until the user is reset (told('reset')).

Setting up translations

  1. Open your survey or product tour in the editor
  2. Go to the language settings
  3. Add languages you want to support
  4. Translate each question, description, and choice into the added languages
  5. Set the default language (used as fallback when the user's language isn't available)
tip

Navigation buttons ("Next", "Submit", etc.) are automatically translated by Told — you don't need to translate them manually.

AI translation

Told can automatically translate your survey using AI:

  1. Write your survey in your default language
  2. Add the target language
  3. Click Translate with AI
  4. Review and edit the generated translations
warning

Always review AI translations before publishing, especially for domain-specific or nuanced content.