Context:
Internationalization provides a way to make the application available in multiple languages. Internationalization is also referred as i18n because there are 18 characters between 'i' and 'n' in the word 'internationalization'. Bahmni provides internationalization, in way that you have to do minimal changes to the bahmni_config.
Adding files required for the locale:
There is a folder called i18n in the openmrs folder inside the bahmni_config folder which contains all the files required for the locale. The directory structure reflects the various modules in the application. Each module has JSON files supporting different locales.
What actually these JSON files contain? :
These JSON files contain a JSON object containing key, value pairs. All the keys are internally mapped to the text that is displayed in the module's web page to which the JSON file belongs to.
To get started, you can just copy existing locale file and rename it.
Performing complete translation:
bahmni_config folder only contains keys for the text that appears inside the bahmni_config folder only. Bahmni application by default supports English locale. It comes bundled with locale_en.json files for all modules. These files contain keys that correspond to the text inside the application. So, an implementer can't directly access those files. Instead you can access them at https://github.com/Bhamni/openmrs-module-bahmniapps/tree/master/ui/app/i18n. Copy all keys corresponding to the module into the locale file and translate all those text values also.