Translating a form into multiple languages
Though SurveyCTO forms default to having just a single language (English), you can translate them into any arbitrary number of languages.
In the form designer, click to edit Form settings to rename, add, or delete any form's languages. Once there is more than one language defined for a form: the form settings will control which language is the default for users filling out the form; a drop-down language selector will appear on the main designer screen, for the language that should be used for the summary of fields on that screen; and additional options will appear everywhere to include translations for labels, hints, images, and more.
In the spreadsheet form definition, follow these steps to add additional languages to any of your forms:
- On the survey worksheet, use the label, hint, constraint message, required message, media:image, media:audio, and media:video columns for whatever you want to be the form's default language (i.e., for the language that appears whenever somebody starts filling out a new form).
- Likewise, use the label and image columns on the choices worksheet for your default-language text and imagery.
- On the settings worksheet, specify the name of your default language in the default_language column (in row 2). This tells SurveyCTO the name of this default language, so that it can show it in the user interface.
- On the survey worksheet, add additional columns for each non-default language translation, and name those columns (in row 1) the same as the existing columns – but with :languagename tacked onto the end of each name (e.g., label:languagename, hint:languagename, or constraint message:languagename, where "languagename" is "Tamil", "Shona", "Spanish", or some other language name of your choosing). Be sure to leave one copy of each column with no language name in its name, however, so that there is a "default" translation for each column.
- Likewise, add label:languagename and image:languagename columns to the choices worksheet, for whichever additional, non-default languages you would like to support. (And leave the plain label and image columns for your chosen default language.)
And that's it! Once your form includes support for multiple languages, users can switch between those languages when filling out the form. From any page of the survey – including the opening screen – they can choose Change language to choose among any of the supported languages. (On mobile, they open the three-dot menu in the upper-right to find the Change language option; on the web, it's in the Options menu.)
For a working example, see Languages: Including translations.
Importantly, mobile devices have limited (and idiosyncratic) support for non-Latin fonts. For any non-Latin font, be sure to only use UNICODE fonts, and to carefully paste those UNICODE fonts into the form designer or form definition. Finding a font supported by your devices may require some experimentation, and you may need to source devices locally if international devices do not support the script you require.
For the SurveyCTO Collect user interface itself on mobile (buttons, menu options like Change language, etc.), the app attempts to respect the locale set in the device's overall settings. Thus, for example, if your locale is set to Español, then the Collect user interface will be in Spanish. At present, the web interface's buttons and menu options are only available in English, but users can use their browsers (and tools like Google Translate) to translate web forms.
Finally, a helpful hint: when you add columns to your worksheets, you probably want to add them all the way at the end (to the far right). Otherwise, if you later copy and paste fields from other forms, the earlier columns won't line up and the pasted fields will have information in the wrong columns (e.g., the relevance expression might end up in the hint column).