5.6.5 Managing translations


TABLE OF CONTENTS
Online KoBoToolbox form builder
Here is a tutorial on how to version your form in multiple language and choose the default one in online KoBoToolbox builder.
XLSForm
This tutorial explains both how to add additional language in your XLSForm and how to change to a language to another in ODK Collect. Furthermore, this tutorial offers useful hints to add non-latin or right-to-left language properly. You can also check this tutorial that link to a lists of columns headers that support a language modification as well as a list of many language codes (or subtags) useful when working with rare language.
This section highlights the main steps to follow when adding and working with a different language in an XLSForm as well as issues to consider when working right-to-left language (e.g. Arabic).
Adapting your XLSForm with a new language
It is possible to add as many additional languages to an XLSForm as required. For each additional language to be added, ensure to specify the languages present in the form.
There are 3 main places where the “new” language should be specified:
-
Add a column named “label::Nameoflanguage” (i.e. “label::Español”) at the right of existing “label” columns in the survey worksheet and then translate all questions and notes.
-
Add a column named “hint::Nameoflanguage” (i.e. “hint::Español”) at the right of existing “hint” columns in the survey worksheet and then translate all hints.
-
Add a column named “label::Nameoflanguage” (i.e. “label::Español”) at the right of existing “label” columns in the choices worksheet and then translate all choices.
Another good practice should be to set the default language for the form in the most adequate language for enumerators – which is not necessarily the same as for the form designer. This can be done in the settings worksheet:
Note: All languages, as well as the default language specified in the settings tab (if any) must be typed exactly the same (i.e. “English”) in order to avoid any issues.
Considerations with right-to-left language
When working in an XLSForm with a language using right-to-left language (i.e. Arabic), and when referring to a variable in a question label or list name label, the “$” must be added at the end, and not at the beginning of the {variable name}.
Using Google translate to obtain a starting point for translation work
Translating a whole survey into another language can be a time-consuming task. While automated translation services freely available may not yet offer the capacity to completely translate a whole survey at an acceptable quality level, it is nonetheless possible to use these services to do much of the initial work. Note that a proficient speaker of that language should then always do a second reading and correct mistakes.
One way to do this easily is by using a google spreadsheet. A google (gmail) account which is free to create is required.
- When going on google.com, click on the “app” symbol and select the drive.
-
Once on the drive, right-click (anywhere), and create a new spreadsheet.
-
On that spreadsheet, you can now import directly your XLSForm under “File” then “Import” by selecting your XLSForm (on your computer):
A few moments later (depending on the size of the survey), the google spreadsheet will now look very similar to the original XLSForm.
- A base translation of all required columns (such as the label column of the survey worksheet, shown above), can easily be obtained using the flowing steps:
- Insert a new column just next to the one you need to translate
- In the first cell, start typing “=googletranslate” and the autocompletion will bring up additional information
- In the above example, the text to translate is located in the previous cell (i.e. C21), the source language is English (“en”) and the destination language will be Arabic (ar):
- Then increment that formula until the end of the survey.
- Bear in mind that the content of these cells isn’t text, but a formula – therefore it should be converted to text before being downloaded again. To do this, simply copy the whole column that contains the =googletranslate() formula, and paste it again in the same using a right-click and then “paste as values”:
You can verify that it worked through the formula bar by checking if you can see text and not formulas.
- In the cells that were next to an empty cell (e.g. that didn’t have anything to translate), the translation column will show “VALUE!” – these should be removed:
Warning: This method is only meant as a basic translation to help save some time on translation work. It needs to be reviewed – the more complex the formulations, the less precise the translation will be. Some translations are also easier to perform than others – this depends on the source and the destination languages. Italian and Spanish are for example relatively similar, while Arabic and French are very different.