Multilingual Survey Programming

The Translation module for the DatStat Platform allows you to program surveys in multiple languages to cater the needs of your population.

1.Creating a Translation Package

  1. To create a translation package for a survey, in the Illume Survey Manager, click on the survey you want translated and click Translate > Create Package. In order to have access to the Translate menu, your user must have this Feature enabled in your User definition on the Features tab.


  1. In the ‘Create Survey Translation Package’ window, click on the ‘Translate from:’ dropdown to select the language the survey will be translated from. Do the same from the ‘Translate to:’ dropdown


  1. In some cases, the user may want to make sure certain text is NOT translated. Examples of items the user may want to exclude from translation include:
  • Brand names or product names. These often appear un-translated in other languages.
  • Already translated items. If there have been a handful of questions changed in the survey since it was last translated, then it is likely the user will only want a few of those items translated. Excluding the previously translated items saves both time and money.
  1. To exclude an item from being translated, click the item in the list of translatable strings.  Click “Remove from Translation”.


Notice that the word “No” appears in the Translate column to the left of this string, which has been removed for translation.   If the user changes their mind, they can select the item again from the list of translatable strings and click “Restore to Translation”.

  1. Click ‘Save Package’ and save the xml to your computer
  1. If you are translating to multiple languages, then you must create and save a separate package per language.

Special Translation Package Options

The two options below are mutually exclusive:

  • Exclude items with existing translations — If some items in the survey have already been translated into the target language, checking this option removes those items from the translation package. This may save the expense of re-translating text that has already been translated. This option may be used, for example, if the survey is edited after it has already been translated, and the user wants to translate only the latest changes.
  • Include text for existing translations — If some items in the survey have already been translated into the target language, checking this option causes the existing translation for each item to be included in the translation package. Whoever translates the package will be able to see the existing translations, and can verify or correct them.

Translation Package Details

The Translation package contains every unique string of text found in your survey, including the text of question prompts, response options, instructions, error messages, button labels, HTML resources, etc.  Each unique text string is included only once in the Translation package, regardless of how many times it appears in the survey. For example, if 20 different questions include the response option “I choose not to answer”, the text string “I choose not to answer” appears only once in the translation package. It will be translated once, and when the translation package is imported back into the survey, every instance of the text string “I choose not to answer” will be replaced by the same bit of translated text. This saves time and money by sparing translators from having to translate the same text multiple times. The “Translatable Strings” list includes the following columns:

  • Translate – displays whether the text string is marked for translation.
  • Appearances – shows the number of times this text string appears in the survey.
  • Source – displays the text string in the source language.
  • Target – displays the text string in the target language. If the string has not been translated yet, the column will be empty.

The text count at the bottom of the Translation Package window shows the total number of non-unique text strings in the entire survey, the total number of unique strings, and the total number of strings in the translation package.


The number of strings in the package will be equal to the total number of unique strings in the survey, minus any strings you marked for exclusion.

Was this helpful? Yes No Suggest edit

2.Translating the Package

There are two options for translating the package:

  1. The xml file or files that were just created can be sent to a third-party translation service, which will insert the translations directly into the xml files.


  1. Translations may be entered by your own staff using Illume’s Translation Tool

Using the Translation Editor

To translate a survey using Illume’s Translation tool, a Translation package must first be created, as described in “Creating a Translation Package”. Once the Translation package has been created, follow these steps to open the translation editor:

  1. Click the survey to be translate in the DatStat Illume Survey Manager’s list of surveys.
  1. Choose Translate / Package… from the Translate menu.
  1. Click the “Open Package” button at the bottom of the Translation Editor.
  1. Choose the Translation package wanted be to worked on and click Open.

The Translation editor displays the contents of the Translation package, and provides features for translating text while maintaining attributes such as font color, bold-face and underlined text.
The bottom half of the Translation editor displays all of the unique text strings in the source language. Translations appear to the right of the source language strings, in green type.

To translate text from the source language to the translation language:

  1. Click the text to be translated in the list in the bottom half of the Translation editor. The source language appears in the top left text box. The translation appears in the top right Text/HTML editor. If the text has not been translated yet, the same text will appear in both text boxes.
  1. Click in the Text/HTML editor in the top right corner and edit the text as one would in Microsoft Word or another word processor. If comfortable editing HTML directly, the user may click the “Source” tab and edit the HTML source.

NOTE: If formatting is lost while editing the translation, simply highlight the text and use the buttons beneath the Text/HTML editor to re-apply formatting. Note that the original text, with formatting, is always displayed in the top left editor.

  1. Click “Save Translation” to save the text that was just translated.
  1. Choose a new string to translate using the “Previous” or “Next” buttons, or by clicking on the text in the list. Then repeat steps 1-3.
  1. To save the work, click “Save Package…”, then click “Save” in the file dialog.

Was this helpful? Yes No Suggest edit

3.Importing the Package

Once the xml that was sent to a third-party translation service and it has been received, or the language(s) have been inserted using the Translation Tool, the package may be reincorporated into the survey.

  1. In the survey manager, click on the survey that needs to have the translated package imported. Click on Translate > Translations


  1. Click on the ‘Add/update’ button


  1. Select the translated xml file. If you are translating to multiple languages, you will need to add each package.
  1. The translated package(s) should have been added under ‘Translations’. This sample survey only had one translation. Note: the default language of the survey may be changed using the dropdown.


  1. Click the ‘Save Survey’ button. The survey now has Spanish incorporated.

Using the Survey Designer when Translating and Previewing

Once the Translation Package has be added to the Master Survey further editing can take place in any language that the survey contains.

Work with a Survey in a Specific Translated Language

  1. Open the Translated Survey in the Designer Client.
  1. It will open first in the Default Language.
  1. Click Edit \ Language and select the language to work in.


  1. All of the Survey Objects will open in the chosen language.

Changing the displayed Language for a Survey Object

When working on a survey in multiple languages it is possible to move between the languages to maintain the context of the translation.

  1. While in a Survey Object e.g. a Question or Text/HTML Item, there will be a Language drop-down at the bottom of the item
  1. Select the Language

NOTE: Any edits made in the selected language will be saved when the survey is saved.

Adding New Survey Objects in a Translated Survey

Once the survey has been translated and reviewed a new, or additional, Question or Text Item may needed.  The ability to move between languages in a single Object will allow it to be translated without having to create a Translation Package.

Was this helpful? Yes No Suggest edit

4.Launching a Specific Language

Launching the specific language of a multilingual survey can be accomplished by appending the 4 digit LCID or the character based LCID to the end of the URL, e.g.

  • http://equinox/5-Collector/Survey.ashx?_n=Dare_To_Dream_Survey&Translation=1031
  • http://equinox/5-Collector/Survey.ashx?_n=Dare_To_Dream_Survey&Translation=fr-FR

The Data Dictionary item “DATSTAT.LANGUAGE” will store the language of the survey taken by the participant.


Language Selection Page

A web language selection page allows respondents to select their desired language from a presented set of languages, and have the survey redirect to that desired language.

To create a web language selection page, you must first obtain the URLs associated to each language, as noted above in “Launching a Specific Language”.  Every language has a unique LCID that can be appended to the survey URL to specify a specific language URL.

A text object may be placed at the start of a survey with hyperlinks to each language.  The URLs must append:

  • The LCID (&Translation=1031)
  • The participant ID (&LoginID={Response:DATSTAT_ALTPID}). Appending this ID to the URL for an authenticated survey ensures that when the survey authenticates with the new language URL, that the session is authenticated using the ID.  DATSTAT_ALTPID can be replaced with whatever authentication variable is used in the survey.
  • A tag that tells the survey to resume where it left off, once the link is clicked (&_RS_=1)

When the respondent clicks the link, he will resume on the language selection page and must click Next to move forward into the desired language.  You may consider adding text to the language selection page to instruct this fact.  Note: If the survey is to be launched offline, using the Remote Data Collection module, then the Survey URLs must be the RDC offline URLs as opposed to the web URLs.

Was this helpful? Yes No Suggest edit

5.Translating Survey Buttons

Illume 6.1 supports two templates, Default and Responsive, and each template handles buttons in a different manner. When using the Responsive template, the buttons are dynamically generated.  Different text can be provided per language for appropriate button display.  When in Survey – Preferences – Buttons, select the appropriate language from the language drop-down, and enter the desired button text in the Button Text field as shown below:


When using the Default Template, survey buttons are bitmap images, thus to have buttons appear in a different language, new buttons must be created and imported as Resources.  There are many free button-creator websites available for creating your alternate-language buttons.

Below are the ‘Next’, ‘Previous’, and ‘Submit’ buttons for a Spanish survey, which will be used as examples for the remainder of this section. Follow the steps below to include them in your survey.

Next:  T13        Previous:   T14       Submit:T15

  1. Right click each picture and save them to your computer.
  1. Open up your survey, go to Survey > Survey Resources.
  1. Add each picture
  1. Go to Edit > Preferences > Buttons tab
  1. Change the language in the bottom right corner of the window to ‘Spanish’ using the dropdown


  1. Click on ‘Next’ and you can change the Image by clicking on the button highlighted in the pictured below:


  1. Select the image you just uploaded for ‘Next’ and the button has now been changed
  1. The “Button Text” is the text that will be read if the respondent is using an assistive Screen Reader device for visual impairment.
  1. Repeat the steps above for the other buttons

Was this helpful? Yes No Suggest edit

6.Translating Multi-Control Questions

The Responsive template in Illume 6.1 does not support multicontrol questions and question tables.  When in the Default template, these question types are supported.  Any text that goes into a multi-control question or multi-control question table while in the Default template, such as row prompts, column headers, any other text, etc., will need to be placed in parameters as their text is not automatically inserted into the translation package like the text from standard questions.  The text that resides in the parameters will be part of the translation package that is created.

Follow the steps below to create parameters for these types of questions.

  1. Create your multi-control question. This example will ask the age of the participant in month and year.


  1. The above example has three pieces of text:
  • AGE
  • Years:
  • Months:

In a single language survey, the text would be typed out within the set-up of the multi-control question. However, we will be using parameters to insert this text in. This is how the above question is set up:


Use {ParamValue:PARAMETERNAME} to insert the text. In this case, for the text ‘AGE’, the parameter name used is AGE. The ‘Years:’ and ‘Months:’ text are within AGEYR and AGEMO as the prompt/label before:
T20 T21

  1. To create the parameters, go to Survey > Preferences > Parameters tab.


  1. The Parameter List has two columns:
  • Parameter Name
  • Parameter Value

The Parameter Name is the name used within the {ParamValue:PARAMETERNAME} and Parameter Value is the text you want displayed. For the three parameters that were referenced in step 2, the following are the parameters for the age question:


  1. If the parameters and the multi-control question are set up correctly, when it is previewed, it should show as:


  1. If a parameter value is incorrect, the following error message will be given when previewed:


Was this helpful? Yes No Suggest edit

7.Translations and Calculations

Calculations are often used in Illume surveys as a means to produce text. For example, a question might ask:

“How many years have you lived in your current house with your baby/babies?”

The programmer may want to pipe the appropriate text (baby vs babies), depending on a prior question that asks the respondent how many babies they have. If they have more than one baby, then ‘babies’ should be piped and if they have one baby, then ‘baby’. Typically, a calculation to produce this text would be created of ‘text’ data type, and the calculation would be as follows:

{Value:BABYQ}==1? “baby” : “babies”

This example is for a question called BABYQ that would ask something to the effect of “How many babies do you have?” and the question would have response options of 1 = One baby and 2 = More than one baby. This method works successfully in single language surveys. However, if a survey is to be translated into multiple languages, there is no interface within the Calculations editor to put the translated text.

To ensure that all text in a survey is translated, including the text outputted in a calculation, the programmer should utilize a combination of Survey Parameters and Calculations.

Any text that might be changed due to language should be put in a Parameter (directions on this are in the multi-control question section). In this example, there would be two parameters, one to output the word ‘baby’ and another to output the word ‘babies’. These parameters can be called BABY and BABIES respectively. To pipe the appropriate text into the question prompt, the programmer will utilize the “DatStat.GetParameter” function. The above calculation (let’s assume this is called NUMBABIES) will now be:

({Value:BABYQ}==1)?DatStat.GetParameter(“BABY”): DatStat.GetParameter(“BABIES”)

The appropriate language will automatically be pulled into the calculation. This calculation can then be piped into the prompt of the BABYQ question as:

“How many years have you lived in your current house with your {Value:NUMBABIES}?”

Was this helpful? Yes No Suggest edit

8.JavaScript Validation Error Messages

If JavaScript is used for validation error messages, such as for alert or confirm messages, the error messages will need to be placed in parameters so that you may provide multiple language versions of each error message.

Was this helpful? Yes No Suggest edit

9.Multilingual Email Jobs

The message in an Email Job can be configured for multiple languages.  The language sent to a specific Participant is based on the DATSTAT_LANGUAGE set for that Participant in the Participant List.  To configure multiple languages for an email job:

  1. First configure the email in English and Save.
  1. In the Email Message Tab of the Email Job, click on the add icon  next to the Language drop-down.
  1. Select the appropriate language from the drop-down and click Add.
  1. Repeat as needed.
  1. Continue to create the Email Message in all of the languages selected for the Email Job.


Message Enconding

When configuring the Email Message section of the email job, the Encoding selection is important as it must represent a character set that suits the language of the email message.  The encoding choices are:

  • Latin (ISO-8859-1) – Use this for sending email in any language that uses the Roman alphabet.
  • Chinese Simplified (GB2312) – This is the simplified Chinese character set.
  • Chinese Traditional (Big5) – This is the traditional Chinese character set.
  • Japanese (Shift-JIS) – This is a Japanese character set.
  • Korean (KSC 5601-1987) – This is a Korean character set.
  • UTF8 – This is a Unicode character set capable of representing virtually all characters in common use in any language.
Was this helpful? Yes No Suggest edit
Suggest Edit