Skip to navigation

Supported languages

Which language applicants see, and how to show your own.

The applicant-facing screens ship in English. English is the built-in language in every SDK and on hosted pages, and it is the fallback for everything.

Other languages are supported by supplying your own wording through custom texts. Toden does not ship built-in translations today.

At a glance

SurfaceBuilt-in languageYour own translationsHow the language is chosen
Web SDK @myazahq/kyc-sdk-reactEnglishYes, with textslanguage prop, default en
React Native SDK @myazahq/kyc-sdk-react-nativeEnglishYes, with textslanguage option, default en
Flutter SDK myaza_kyc_sdk_flutterEnglishYes, with textslanguage option, default en
Hosted verification pagesEnglishEnglish wording can be customised in the consoleEnglish

The SDKs do not switch language from the browser or device locale. The screens are shown in English unless your code sets language.

How a text is resolved

For each piece of text, the SDK uses the first of these that exists:

  1. Your custom text in the chosen language, when that language is not English.
  2. Your custom English text.
  3. The built-in English text.

So a partial translation is safe. Any text you have not translated is shown in English and nothing is left blank. A blank custom text counts as not set.

Show another language

Pass your translations as texts, keyed by language and then by text key, and set language to the one to show. Language codes are written like en, fr or pt-BR.

<MyazaKYC
apiKey="pk_test_..."
workflowId="wf_..."
language="fr"
texts={{
fr: {
'common.continue': 'Continuer',
'welcome.title': 'Vérifions votre identité',
},
}}
/>

A common pattern is to read the language your own app is already using and pass it as language, so the verification matches the rest of your product.

See the SDK guides for where these options sit in each setup: React, React Native and Flutter.

Text keys

Each text has a stable key such as welcome.title or common.continue.

  • Web: the catalogue is exported from @myazahq/kyc-sdk-react/texts as TEXT_GROUPS, with the default wording in DEFAULT_TEXTS.
  • Flutter: the customisable keys are exported as kCustomisableTextKeys.
  • Console: the Texts tab in Workflow Settings lists every text the workflow can show, with its default.

Only a curated set of texts can be replaced: screen titles and descriptions, explanations and checklists, field labels, helper lines, liveness instructions, outcome messages and buttons. A text for any other key is ignored.

What is always English

These keep the built-in English wording in every language:

  • Error and system messages.
  • Loading and status lines.
  • Input placeholders.
  • The legal and consent notice.
  • Any text that has a value filled in by the SDK.

Plan for this if your applicants do not read English. The main path through a verification can be fully translated, but an error message will still appear in English.

Texts set in the console

A workflow can carry custom wording, edited in the console under Workflow Settings, Texts. That editor writes English. The workflow’s texts are delivered to the SDKs and to hosted pages with the rest of the workflow.

  • When a workflow is used, its texts are the ones the SDK reads.
  • The language option is set in your code. It is not a workflow setting.
  • Hosted pages have no language option, so they show English, with your custom English wording where you have set it.

If you need a hosted page in another language, tell us at hello@toden.co. Until then, embed the flow with an SDK and pass language and texts.

See Your brand and your domain for the Texts editor and the conditions for adding custom wording.

Spoken guidance

During the liveness step the SDKs can read instructions aloud. The voiceGuidance option accepts a language such as en-US or fr-FR, which selects the voice. The words spoken are still the English instruction.

Limits

LimitValue
Languages per workflow10
Length of one text1,000 characters

Other languages in the product

  • The console, API responses, error codes and webhook payloads are in English.
  • Names on identity documents are compared after normalising accents and common transliterations. That is unrelated to the screen language.