For creating courses in multiple languages, you can use the Moodle way of doing this (see: http://docs.moodle.org/en/Multi_language_content), and there’s some extra info about this on the Oppia docs too (see: https://oppiamobile.readthedocs.io/en/latest/content/translations.html)
The Moodle approach is a little fiddly, as you need to get into the HTML to add the SPAN tag classes for each language. The up side is that you can switch directly in Moodle between the different languages to see how it works and if your html code is correct before exporting to Oppia.
Given the “fiddliness” of how Moodle handles this, it might be best to just use this for courses that have 2 different languages, more than this and the HTML might be a bit impenetrable and difficult to maintain. So for 3 languages it might be better to use separate Moodle courses for each language.
On exporting from Moodle to Oppia, you can define what the default language will be for the user - esp for when a course is not available in the user phone system language.
For how this is all handled in the app (assuming all languages are embedded in a single Moodle course)…
By default, the app will try to select the course language matching the phone system language (although users can select a default course language that is different from their phone system language).
- The users phone system language is French and the course is available in English (set as course lang default), French and Spanish. The app will display the course in French.
- The users phone system language is French and the course is available in English (set as course lang default), French and Spanish, but the user has set in the app that Spanish is their default language for course content. The app will display the course in Spanish.
- The users phone system language is French and the course is available in English (set as course lang default) and Spanish. The app will display the course in English.
- The users phone system language is French and the course is available in English and Spanish (set as course lang default) . The app will display the course in Spanish.
If a course is set up for multilingual content using the ‘Moodle method’, then the user will always have the option to switch between the languages, even when offline.
Note that the app interface (eg buttons/labels etc) will always be picked up by the phone system language (the app uses the standard Android approach for this), so the only way to change the buttons/label language is for the user to change their system language.
The button/label languages are up to date for English and Spanish, and there are partial translations for Arabic (Lebanese variant), French, Finnish, Hindi and Urdu. If a button/label is not found in the specific phone system language, it will default to English.
Hope that explains things well!