Multi-lingual capabilities for courses

99 views
Skip to first unread message

Ignacio Lozano

unread,
Feb 16, 2017, 8:57:23 AM2/16/17
to General Open edX discussion
Motivation
Open edX has a large an heterogenuous student community. It is normal to search a course in their language, sometimes even users preffer to take the adventure of doing courses in foreign languages - then it is useful to see the two versions of the course: in their language and in the foreign language.

The student option of swapping the course from one language to another could be known as "Multi-lingual courses"

Problem
Open edX hasn't a built-in multi-lingual courses capability. Therefore, you have some workaround alternatives:
  • Design a course per language (if you have 2 languages, you will design 2 courses)
    • Confusing for the student
    • Difficult to manage
    • ...
  • Add HTML blocks with JavaScript code in order to hide one content based on a language selector)
    • Difficult to manage in the CMS for designers
    • Only for HTML components
    • Static language and designer needs to have HTML + JS skills
    • Courses use several components, in a MOOC the basics are: HTML, Videos and P2P

Approaches
Because XBlocks are pieces that can be included in Open edX when you want. I think it could be interesting to design some multi-lingual XBlock version based on the native XBlocks.

HTML and Video are inside the edx-platform and i think we need first to the XBlocks from the core. Benefits: modular design, easy to extend, community, etc.

Some notes in the Slack for the HTMLModule:
  CMS: change the "data" to a dictionary, add a select on the setting form and deal with a dictionary (language => content) instead of straight content
  LMS: Adding the flag feature and getting the content of that dictionary (dictionary which will be stored in the mongo structure of our xblock)

I would like to ask to the community about this interesting topic. I think Open edX needs Multi-lingual capability. 



Andy Armstrong

unread,
Feb 16, 2017, 9:57:33 AM2/16/17
to edx-...@googlegroups.com
Hi Ignacio,

Thanks for this excellent post. As you say, Open edX doesn't provide great support in this area as yet, and it is a very important area. We are creating a new team here at edX to work on i18n issues (lead by Bill DeRusha) so now is a great time to agree as a community on how to move forward.

I think your suggestion of starting with XBlocks is a good one, and would be a simple place to start. However, as you say, the blocks need to be moved out of the platform which complicates matters. It also seems problematic that every single block needs to become locale aware. I have a couple of ways to approach this that are more general in nature, but which are obviously bigger in scope.

My first idea to consider is to provide a new container block that conditionally renders different children based upon the user's locale. We already have a container block that hasn't been made available on edx.org, but which allows child blocks to be shown conditionally based upon certain criteria (mostly successful completion of problems at this point). We could either extend that block, or provide a new i18n-specific block that is better suited to that purpose (IMO the latter is the better option).

My second idea is to use cohorted courseware which already provides a great way to handle conditional content. The challenge with this is that you'd have to put users into cohorts based upon their locale, which seems complicated. However, the UI for cohorted content is much cleaner than the conditional block, in that you can click on the "eye" icon on any block and change who it is displayed to. Maybe this could be extended to work both for cohorts and for locales. You could then imagine that the block could be shown with a flag indicating that it is only shown for a particular locale. A variant of this would be to have the units themselves be conditional, so you would add a copy of each unit per supported language. I don't know how well this would work because it would be hard to see that the various copies were correctly synchronized.

Thinking this through some more, in both cases it would be very hard to manage a large course. Essentially every block would need to have multiple variants, and at that point maybe you are going through as much work as building the course multiple times. Would there ever be any shared content across these courses, or would every block have to be rebuilt for each language? Maybe the key point is that the core settings of the block is the same, and it is just any text settings that have to change. If there are more of the former than the latter, then your suggestion would scale better.

I hope this is helpful. I think this is a very exciting area to be improving as we try to make Open edX available to the whole world.

Thanks,

 - Andy

--
You received this message because you are subscribed to the Google Groups "General Open edX discussion" group.
To view this discussion on the web visit https://groups.google.com/d/msgid/edx-code/7586983b-c5ab-4d71-8ebf-a0050861acc8%40googlegroups.com.



--

Andy Armstrong

edX | UI Architect  | an...@edx.org  

141 Portland Street, 9th floor

Cambridge, MA 02139

http://www.edx.org

http://www.e-learn.nl/media/blogs/e-learn/edX_Logo_Col_RGB_FINAL.jpg?mtime=1336074566

Peter Pinch

unread,
Feb 16, 2017, 10:13:23 AM2/16/17
to edx-...@googlegroups.com
Please keep in mind the OLX impact of these options. We still want to be able to export and import multilingual courses (and maybe be able to facilitate the translation process outside of studio)

<ABD3F66D-F08D-47D8-96DE-EFC518DC8127[52].png>

--
You received this message because you are subscribed to the Google Groups "General Open edX discussion" group.

Andy Armstrong

unread,
Feb 16, 2017, 10:18:45 AM2/16/17
to edx-...@googlegroups.com
That's an excellent point, Peter. Maybe we should be thinking about how to integrate Transifex into the process right from the start. For many use cases, that would be the best way to manage the translations, rather than having to give translators access to Studio.

 - Andy

Andy Armstrong

edX | UI Architect  | an...@edx.org  

141 Portland Street, 9th floor

Cambridge, MA 02139

http://www.edx.org

http://www.e-learn.nl/media/blogs/e-learn/edX_Logo_Col_RGB_FINAL.jpg?mtime=1336074566

Ignacio Lozano

unread,
Feb 17, 2017, 4:01:56 AM2/17/17
to General Open edX discussion
Thanks Andy for your reply.

I see what you mean. It is a quick choice using conditional block based on the locale, however I don't know how it will affects to the Analytics data (content saw for a user, interactions with the video player, etc.)

Cohorts was in my mind for the P2P exercise. Currently, it doesn't make sense to assign a submission of one language to a user with a different one. Cohorts could deal with this issue because you are doing one exercise of your locale and you don't need to do the other exercises because are in for different  cohorts. I will check that.

On the other hand, OLX shouldn't be a problem because we are talking about XBlocks and they can be exported/mported, aren't they? And Transifex for rich content (HTML) should extract phrases of the HTML in order to be included in the Transifex process, which I think it is too difficult for integrating in the platform.

Regards.

Ignacio Lozano

unread,
Feb 20, 2017, 6:27:25 AM2/20/17
to General Open edX discussion
I tested cohorts and content groups for different languages and it seems that i could be a feasible alternative. Some conclusiones

  • If user change the cohort, the progress is changed also (if you did an English homework and move to Spanish, your score is 0)
    • We can add the choice for a user in the enrollment process (or at least the first task is shown is choosing your language) and system should keep the choice (the cohort)
  • Name of section/subsection/unit is always the same (cannot change based in cohorts
  • Discussion are shared between cohorts
  • To sum up: cohorts may add a partial multi-lingual capability, however it is similar making different courses with some bit features (shared discussion and same list of students despite of their language). The XBlock approach allow you to change language at runtime without altering the cohorts features (you can use cohorts for other goals)

Andy Armstrong

unread,
Feb 20, 2017, 4:34:55 PM2/20/17
to edx-...@googlegroups.com
Thanks for doing this research, Ignacio. That all sounds right to me. Clearly cohorted courseware would need a lot of work to satisfy your requirements.

 - Andy

Reply all
Reply to author
Forward
0 new messages