Introducing Multiple Language Surveys

01-23-2019 02:35 PM
Esri Frequent Contributor
4 6 3,262

[Last updated January 23, 2020]

In this blog post I will describe how you can configure your Survey123 smart forms to support multiple languages.  With multiple language support, end-users can pick the language for the questions presented in the form and you can get all their responses into a single feature layer. Multiple language surveys are authored in Survey123 Connect, but once published, they are supported in both the Survey123 web and field apps.


Multiple language surveys are created in XLSForms with Survey123 Connect


In order to add multi language support into a survey, you will use Survey123 Connect for ArcGIS. Survey123 Connect is a desktop tool that you can download into your Mac and Windows machine. Survey123 Connect works in combination with Microsoft Excel and lets you author smart forms following the XLSForm specification. Multiple language support is one of the many features of the XLSForm standard, and Survey123 works with it. If you are not familiar with XLSForm yet, I would strongly recommend you start with our XLSForm essentials, XLSForm video tutorials or this beginner exercise.


You can use Survey123 Connect to start a new survey from scratch, or to modify a survey you may have authored on the Survey123 web site.


How-to: A first look


The easiest way to understand how multiple language surveys are built is to look at an example.


  1. Open Survey123 Connect for ArcGIS
  2. Click on New Survey and select the Samples category
  3. Choose the Multiple Languages sample and open it


Note that in the Connect preview you will already see the language switcher in the top-right corner of the preview.  You can use the language switcher  to flip through the different languages.  If you publish the survey, the language switcher will also be present in the Survey123 Field app as well as in Web Forms.


Next, open the XLSForm spreadsheet by clicking on the top icon of the left toolbar. This will open your XLSForm in your spreadsheet editor.


Multiple columns have been added into the XLSForm to translate the labels of questions. Each language is notated using a descriptive string for the language followed by its corresponding ISO 639-1 code enclosed in parenthesis. For example, the XLSForm column with the question label in Spanish will be label::Español(es), and the label in English will be label::English(en).

You can add translations to labels, but also to hints (hint::Español(es), hint::English(en)...), constraint messages and even images! For example, if you want to include an image with a diagram along with your question, you can use the image::Español(es) column to reference a diagram that has text in Spanish and the image:: English(en) column to include that same diagram with text in English.

textnameWhat is your name?Ποιο ειναι το ονομα σου?Type your name
select_one ananimalWhat is your favorite animal?Ποιο είναι το αγαπημένο σας ζώο;Choose one animal

Note: If you start adding language columns for your labels, make sure you add a language qualifier to all of them.

Similarly to how questions are translated in the survey XLSForm worksheet, choices in lists can also be translated. If you turn into the choices worksheet you will note that the same technique is used to translate the choice labels. Similarly to questions, if  you are using the image column with your choices, you can translate it too.


By default, Survey123 will get the language code of your device’s locale settings and try to find the right column in your spreadsheet that matches that locale. This will automatically display your survey in the language that the end user is expecting.

If your survey does not include a translation for your device's locale, then the default_language value from the settings worksheet of your XLSForm is used. 

Multiple LanguagesEnglish(en)


Finally, end users can also manually change the language of the survey using a handy language switcher in the Survey123 field and web apps.

All the above is also nicely described in this new video tutorial created by James Moore.

Other important things to know:

  • The language used by Survey123 Connect while authoring your survey will match the language you select in your form.
  • Not everything in a survey can be translated to multiple languages. The title of the survey, for example, only supports one language. (This is in our backlog as an enhancement)
  • If you include media in your form (images, audio, etc), you also need to translate these columns. For example:

media::image::English (en)

media::image:tiếng Việt (vi)

  • If you use select_one_or_other type of questions in your XLSForm, your translations will not apply to the ‘other’ choice. If you plan to use your survey in a language other than English, you should not use select_one_or_other and instead build that functionality manually by adding an 'other' choice into your list and then using a relevant statement to make visible the free text question for 'other' when that option is chosen.
  • The language of your form defines the format of Dates in the calendar control.

Learn more:

[Update November 20,2017] A new lesson on Multiple Language surveys has been published.

[Update July 20, 2018] Included list of 2-character language codes. As of version 3.0 (update July 2018) you can no longer specify languages outside the official ISO 639-1 list of 2-character codes. For any previously published forms, language codes outside the list will continue to work.

[Update December 19, 2018] Minor adjustments  made  here and there to more consistently use ISO 639-1 codes throughout the text.

New Contributor III

In "select_one_listA or Other" type question, is there a way to have "Other" and "Specify other" translated ?

Esri Frequent Contributor

Hi Rene Aubut‌  Unfortunately not. If you want to translate Other then follow these steps:

1- Do not use 'or other' in the Type column. Simply use select_one yourlist

2- In the choices worksheet, add a 'other' choice to yourlist and use the language columns to translate

3- In the Survey worksheet add a new 'other' question and use a relevant expression to show it only when appropriate. For example:  selected(${mylistquestion},'other'). Use the language columns to translate teh question as well.

The 'or other' trick is only a shortcut for English.

New Contributor III

Thanks Ismael, that workaround will work for me

New Contributor

I have a survey that I have built in connect where I have included Spanish translation. Everything works except one thing. When I switch to Spanish, the image does not load on the web interface. I have insured the the image name is in the right case on the xlsx form and in the media folder, ie jointlogo.jpg. I have tried 4 combinations of .jpg, .JPG, .png, and .PNG with no luck.

Any thoughts?

Esri Esteemed Contributor

Hi Brian,

As images (such as the one you have) can include text, image columns also support language specifications (just as the label, hint, etc).  Add a column with media::image::Español (es) and provide it the image file (or a translated version thereof).

New Contributor

This worked perfectly, thanks!