Skip to content
Mobile Joe Docs Dashboard
View Markdown

iOS · Android · SDK

Localization

How the SDK requests languages, how the API selects translated content, and which texts your app controls.

Requested language

The SDK sends language tags with region and script, such as pt-BR or zh-Hant-TW, with each request.

PlatformSourceWhen it changes
iOSUp to three languages of Locale.preferredLanguages, in the user's orderCaptured at the first request; a language change applies after the app relaunches.
AndroidUp to three of the app's configured locales, in orderCaptured during Joe.configure; a language change applies after the app relaunches.

On iOS, the languages follow the user's language settings, not the localizations of your app. A German user of an English-only app gets German FAQs if you added a de translation, while your app and the SDK screens stay in English.

Translated content

Add translations to FAQs and alerts in the dashboard. For each requested language in order, the API uses an exact translation such as pt-BR, then the language translation pt. Without a match, or when the requested language is your app's source language, it returns the original text. For en-GB,de-DE with English original text, users get the original text, not the German translation.

  • A language translation such as pt serves every region. Regional translations (en-AU, en-CA, en-GB, en-US, fr-CA, pt-BR, pt-PT) serve only their region, also for the source language.
  • A translation replaces the whole text: an alert translation without a message shows no message.
  • Feature plans are not translated. FAQs keep their dashboard order in every language.

Change the source language, English by default, in the app settings.

Interface labels

The standard screens include labels in English and German. The configuration of FAQs and Feature Plans accepts your own email subject and body; the FAQ configuration also accepts support labels.

Test a translation

Add a de translation to a live FAQ, set your device or app language to German, relaunch the app, and open the FAQs. If the original text remains, check the translation's language code and follow Troubleshooting.