[Last updated December 12, 2020]
Using multilingual surveys you can present questions to your audience in the language they are most comfortable with, and analyze all survey results in a single data set. This article describes how to author multilingual surveys in Survey123 Connect.
Before we get into how to translate your survey, I want to discuss how the Survey123 apps handle multiple languages. First of all, we need to draw clear distinction between the Survey123 app, and your own survey.
Be aware that the list of supported languages for your survey translations is much larger than the limited number of languages we support in the Survey123 apps. For example, while the Survey123 apps are not available in Euskara (a language spoken in Spain and some parts of France), you can still translate your survey to Euskara. The Survey123 app will be shown in Spanish or French, but your survey could be presented in Euskara. The same applies to other languages such as Welsh and Swahili.
The Survey123 apps (web and field), will also let the user manually change the language of the survey. For example, if you translated your survey into 3 languages, the list will show these three languages.
The language chosen for your survey will display question labels, notes and choices in the corresponding language. Additionally, numbers and date values entered by the user within your survey will be formatted accordingly as well.
There are many aspects of your smart form that can be translated. Question labels, hints, constraint and required messages, choice labels and even media (banners, diagrams...). The technique used to add translations to all these is the same. The following table demonstrates how to translate question labels:
type | name | label::English (en) | label::Greek (el) |
select_one animal | animal | What is your favorite animal? | Ποιο είναι το αγαπημένο σας ζώο |
Note that each language column is qualified with a descriptive string for the language it represents, followed by its corresponding BCP 47 code enclosed in parenthesis. For example, the XLSForm column with the question label in Spanish is label::Español (es), and the label for English is label::English (en).
The hint, constraint_message and required_message XLSForm columns are translated following the same pattern. For example:
type | name | label::English (en) | hint::English (en) |
select_one an | animal | What is your favorite animal? | Choose an animal from the list |
And the same applies to the choices worksheet in your XLSForm:
list_name | name | label::Español (es) | label::Ελληνικά (el) | media::image::Español (es) | media::image::Ελληνικά (el) |
animals | cat | gato | γάτα | cat_es.png | cat_gr.png |
animals | bird | pájaro | γάτα | bir_es.png | bir_gr.png |
Once you start adding new languages into your survey design, you will want to add translations for every question and choice label at the very least. If you use optional columns such as hint, contraint_message or required_message, make sure you translate them into every language. The same goes for the media, audio and image columns!
There are a number of survey elements that are translated by adding note questions with specific names into your survey design. The next screenshot provides the details:
The survey header (title) is used in both the Survey123 field and web app. The remaining elements (submit button text, footer and thank you screen), are only relevant in the Survey123 web app.
When a multilingual survey is loaded into the field or web app, Survey123 will automatically try to match the language of your survey with the language of your operating system. This is why using the ISO codes is important. For example, if the language set in your operating system is (es), Survey123 will look for the (es) translation in your survey and if found, switch the language accordingly. If no match is found, then the default_language will be used. The default language is defined in the settings XLSForm worksheet:
form_title | form_id | instance_name | default_language |
Multiple Languages | English (en) |
If using the Survey123 web app, you can also always force a survey to be displayed in a specific language (independently from the language of the operating system). This is done through the lang URL parameter. For example:
https://survey123.arcgis.com/share/{itemID}?locale=es
Of course, end users always have a choice to manually change he language if they choose to. Both the Survey123 field and web apps will provide a menu listing all the available languages.
Use pulldata("@property", 'language') to retrieve the language used by the user to complete the survey. You can use this expression in a calculate question for example.
type | name | calculation |
calculate | surveylang | pulldata("@property", 'language') |
You must be a registered user to add a comment. If you've already registered, sign in. Otherwise, register and sign in.