Setting Up Translations for CommCare Mobile App
What Should I Translate?
In CommCare, you can translate all user-facing elements, including menus, buttons, error messages, instructions, and form content. This feature allows users to navigate and comprehend the app in their preferred language, significantly improving usability and effectiveness in multilingual environments.
Some key things to translate for multilingual applications are:
Application Translations
Question labels/display text in a form
Names of forms and modules
Any information displayed in the Case List and Case Detail Configuration
User Interface Translations
Mobile User Interface translations specific to your language. Common phrases (e.g., "back," "form is loading") should be updated accordingly. For further guidance, refer to CommCare User Interface Translations.
Remember to set the default language of your application before creating your released build. You can either click on “Select as Default“ button or Drag and drop the languages and put the default language at the top (as show in the video below).
Steps to Set Up Mobile Application Translations
The translation process involves a few distinct steps, which can be completed manually or in bulk, depending on your needs.
Step | Description | Link |
|---|---|---|
| Add one or more languages to your app and define a default | Setting Up Translations for CommCare Mobile App | Configure Languages on App Builder |
| Translate form questions, menus, case lists, multimedia, etc. | |
| Translate the core CommCare mobile interface (login, errors, etc.) | |
| Let users change the language on their phones or Web App | Setting Up Translations for CommCare Mobile App | Switching Languages in the App |
Configure Languages on App Builder
Navigate to the Applications tab.
Select your application, then click on Languages under Settings in the list on the left panel.
Under Language List add your language code. (i.e. hin for Hindi, en for English, etc.). The field will auto-populate. If your language does not exist, you can Google the language name, and typically the first result on Wikipedia is the right language and has the 3-letter code you need to add. If your language still does not show up, create a new code and add it. Note: This is not recommended, but is OK if the language comes up as "unrecognized." Don't do this if the language comes up as "invalid."
Click Save.
Edit Translations Individually (For Smaller Apps or Quick Updates)
Once you have configured the languages in your app builder, your forms and modules will display additional fields for entering translations in each configured language. If your app has only a few forms or you need to make small changes, you can edit translations directly within the form, you can enter them directly in the form builder. However, for larger apps or multilingual projects, it's recommended to use the Bulk Application Translations
Now all the module and form names will need to be updated in both languages. A dropdown menu will appear next to the "Languages" menu item so that you can switch between multiple languages.
Multimedia file in multiple languages
If you have already created your app in one language, create a new language for your application (see above for instructions).
Go into your first form, and click "Edit" on the form questionnaire.
Just as you would add audio files to an English app, the app should now feature two separate languages. Notice that the names of the two language files are the same.
If you want to upload audio recordings in another language, you will need to change the file names of the new language. Do this and click save.
When you go to multimedia reference, you will now notice that there are new audio files for you to upload. Upload your new audio files here.
This change will only apply to this particular form.
Setting Default to a Specific Language
Follow these steps to set your app to a specific language if it supports multiple languages:
Navigate again to the "Languages" part of the Application settings.
Click on Languages again. Here, you will see the different languages associated with your application.
If you see multiple languages and want to change the default, you can click on “Set as default” button or drag the language preferred to the top. The box around the language indicates the default language.
Save changes.
Go to the Release Manager and make a new build. The forms and modules in the application will default to the language that is listed at the top in the 'Supported Languages' box.
You can also choose to not deploy a language (for example, if you're using English for development and testing, but not in the field), by un-checking the 'Deploy' checkbox. This will save space on the phone.
If CommCare HQ already has a list of UI strings translated for your language, all the menus will be displayed in the preferred language. If not, you may contribute translations for UI strings in CommCare; instructions can be found here.
To have the new default language show up in your mobile application, you will need to install the mobile application for the first time with the default language. Therefore if you're changing default languages, you will need to uninstall your app and then reinstall the application with the new default language to have the application reference the new default in HQ.
Switching Languages in the App
On Android
Follow the below steps to change the default language of the application for the mobile worker:
Login as any user
Click on the three-dot button displayed at the top right corner of the phone (as shown in the image of 'Step 1' attached below).
Choose "Change Language" from the menu that pops up (as shown in the image of 'Step 2' attached below).
Select the desired language (as shown in the image of 'Step 3' attached below).
This should automatically switch the forms to the selected language, provided there are translations.
Steps to change the language of the question within an open form:
Open a form
Press the phone's "Settings Button"
Choose "Change Language"
Select the desired language
On Web Apps
Once multiple languages have been added as described earlier in this document, users can switch between them inside forms within a web app. This functionality is primarily designed to be used by multilingual users, who can adjust the language of the form based on who they are contacting and may do so multiple times throughout the day or the form.
To change form language in a Web Apps form:
Click the Menu on the top right of the form entry UI.
Under the ‘Languages’ section within the menu, a list of available languages are shown.
Note: Only the language of the form content is switched, the rest of the web app UI remains in the language configured in user settings.
Now that you've configured your app to support multiple languages, proceed to the following guides for step-by-step instructions:
Bulk Application Translations
Learn how to manage all translatable app content i.e forms, menus, case lists, multimedia, and more, using a single Excel file.CommCare User Interface Translations
Understand how to translate the core CommCare mobile interface, including login screens, error messages, and system prompts.