Bulk Application Translations
Overview
Managing translations manually through the form builder can be time-consuming, especially in large or multilingual applications. CommCare provides a Bulk Application Translation tool that allows you to manage all translatable content in your app using a single Excel file.
This tool supports exporting, updating, and importing translations across all forms, modules, case lists, multimedia, and labels.
What Can Be Translated Using the Bulk Tool?
App name, module (menu) names, and form names
Form content (questions, labels, hints, group headers)
Multimedia paths (for images, audio, video)
Case list and case detail screen labels
Display conditions and repeat group labels
Case property labels shown in the app
Options for Bulk Translation
CommCare provides two ways to bulk translate app content:
Option | Description |
|---|---|
Export all translatable content across all forms and menus in a single file | |
Export translations specific to one form only |
Both approaches produce Excel files with a consistent structure and can be edited and uploaded following the same process.
Bulk Translation for the Entire App
Step 1: Download the Excel File
In App Builder, go to App Settings → Languages
Click Download Translations
You will receive an Excel file with:
A row for each translatable text element in the app
Columns for each configured language
Filepath columns for multimedia (image/audio/video)
Before downloading the file make sure that you have already added any languages you want to the Language List. You can change the order later if you choose to.
Download the structured file by clicking on the button shown below:
Understanding the Excel File
In the downloaded structured file, each sheet corresponds to a part of your application, such as menus or forms. Here's how it is organized:
1. Menus_and_forms Sheet
This sheet contains the names and multimedia references for your app's modules and forms.
Column | Description |
|---|---|
| Indicates whether the row is a |
| This specifies the location of the form or module. (do not modify) |
| Allows you to specify the name of the form or module in a given language. |
| Filepath for an icon to appear in the menu or form list |
| Internal reference key (do not modify) |
2. One Sheet per Menu or Form
Each form and menu has its own sheet. For example:
menu1contains translations for the case list and detail screen of the first module.menu1_form1contains translations for all questions and labels in the first form of that module.
Menu Sheet (menu1)
Column | Description |
|---|---|
| Name of the case property shown in case list or detail (do not modify) |
| Whether this row belongs to the case list or case detail (do not modify) |
| Column for each translation |
Form Sheet (menu1_form1)
Form tabs follow the same structure as Form Bulk Translation.
Changing order of forms in the App Builder
If you change the order of any forms or modules in the app builder you will need to download the Excel Translation File again and start over. The file references the order of the forms and modules and the upload will fail if they no longer match.
Column | Description |
|---|---|
| Path followed by the question id of the translatable element |
| Default English text for that element |
| Translations for each language you've added or you would like to add |
| Media file paths per language (if applicable) |
Notes on Editing the File
Do not change the type, sheet names, row order, or internal keys like
unique_id).You can leave a translation blank if you want CommCare to use the default language.
Be consistent with terminology and formatting.
Multimedia fields should match the file names uploaded to CommCare HQ.
Step 2: Add or Update Translations
Fill in the translated text under each language column (
default_hin,default_fr, etc.).Ensure translations are accurate and consistent.
If using multimedia, ensure file paths point to uploaded files in the correct language folder (e.g.,
hin/audio/greeting.mp3).Avoid editing column headers, internal labels, or deleting any rows.
Step 3: Upload the Updated File
Return to App Settings → Languages
Click Upload Translations
Upload your modified Excel file
If you have any errors you should see a message explaining the error. After fixing the error you can try again. In general the application builder will skip any single item that has an error and make all of the other changes, so another option is to just make any final changes in the Application Builder.
CommCare will apply all translations across your application. Updates will be reflected in the App Builder and on mobile devices after the version update.
Limitations/Notes
The bulk application file cannot manage translations of the application name
If you delete any rows or tabs you will see an error message that some fields are missing; however the rest of the app will be translated without any issues.
Making changes to anything other than translations or media filepaths will not actually cause that change to occur in the app and could result in problems with the bulk translation tool.
Bulk Translation for a Single Form
If you want to translate one form at a time, use the Edit Bulk Translations tool available inside the form builder.
Translation of buttons or error messages are not dealt with using Bulk Translations, but with https://dimagi.atlassian.net/wiki/x/wBbKfw.
How to Use Edit Bulk Translation tool
Below screenshot is of a sample application where we have configured two languages: English and French. We built this application in English and French display text was left blank. CommCare automatically populated the additional language display text blocks with the English text as a placeholder until the French translations are added
Steps to Bulk translate a form:
Open the desired form in the Form Builder
On the right-hand side, click the Menu Button(three horizontal lines).
Scroll to the bottom of the menu and select Edit Bulk Translations
A pop-up window will appear with all display text for that form
In the window, press Ctrl + A to select all text and press Ctrl + C to copy the text
Open Excel, click into cell A1, and paste (Ctrl + V)
The spreadsheet will have:
One row per translatable element
One column per language (e.g., English, French)
Text copied from the default language in untranslated fields
Each column represents a piece of content (either text or multimedia) in each language. Some of the French versions (column B) of the text the questions are in English because we have not translated them.
Replace the placeholder text (e.g., French column) with actual translations
Tip: Always use Unicode fonts and test on your target devices, as not all fonts are supported on all phones.
After editing, select all of the spreadsheet and copy it (Ctrl + C)
Return to the open Edit Bulk Translations window in the form builder
Click inside the text box and press Ctrl + A, then Delete
Paste the updated content (Ctrl + V)
Click Update Translations to save your changes
Do not click “Close” - this will discard your edits.
Click on any translated question in the form tree to verify your update
Press the green Save button at the top to save the form
Translating HQ: Transifex Instructions for Translators
Transifex is a very helpful bulk translation tool used by professional translators. The section below provides guidance for how to use Transifex with your CommCare application.