[Proposal] Open edX Multi-Language Course Delivery
Overview
This proposal outlines a solution for Open edX to support the delivery of language variants of a course without requiring separate course runs for each language. This will increase the reach of Open edX courses, streamline course management and administration, and improve the learner experience.
Problem Statement
Currently, delivering courses in multiple languages on Open edX requires creating distinct course runs for each language. This approach leads to:
High administrative overhead for content maintenance and version control.
Challenges in maintaining consistency across different language versions.
Inefficiencies in commercialization
Increased complexity in enrollment management and generating learning analytics
A more integrated solution is needed to allow learners to access translated content within a single course run.
Proposed Solution
The proposal is to extend the platform to enable pre-generated language variants of course content to be contained within the same course run. This proposal does not cover on-demand, real-time translation due to the need for translations to be approved.
Content Translation Management
Translated content can be manually uploaded, however it is expected that the platform will trigger machine translation from Studio, and only the review/edit/approve/publish process will be manual.
The translation service should be pluggable.
Each course component (chapter, sequential, vertical, units, videos, text, problems etc) will support multiple language versions.
Translations will be stored, or accessed, in the same course run, with each language variant of a content block sharing the same block identifier.
When requesting content from the content store, the desired language would be passed, and the correct language variant would be returned.
Language Selection and User Experience
Learners can select their preferred language at any time.
The platform automatically retrieves the translated content.
All platform 'chrome' will be translated using the existing Open edX i18n and l10n capabilities.
Assessment and Certification Support
Quizzes are presented in the selected language without altering grading logic.
Certificates are generated in the learner’s chosen language.
Learner Analytics
The language that was selected when a learner accessed a content block will only be captured in the tracking logs as an optional attribute minimizing (eliminating?) the need to propagate the language throughout the LMS data models.
Integration with AI and Human Review
AI-assisted translations provide initial versions of course content.
Human reviewers review, edit, or override AI-generated translations before they are published.
A workflow interface allows instructors to efficiently manage translations.
Business and Pedagogical Benefits
Reduced Course Duplication: Eliminates the need to manage multiple course runs for different languages.
Efficient Course Maintenance: Instructors manage a single course structure while supporting multiple languages. Modifying the source language should optionally trigger retranslation of the enabled language variants.
Enhanced Learner Engagement: Enables learners to access content in their preferred language.
Conclusion and Next Steps
This proposal outlines an approach to integrating multi-language support into Open edX without requiring separate course runs. Next steps include:
Conducting a feasibility study and developing a proof of concept.
Scoping the full implementation and determining how to incrementally rollout.
Evaluate Implications for content libraries.
Thanks for submitting, Scott! Hugely valuable contribution that aligns with the general platform goals around equalizing reach and driving adoption.
If I’m reading this correctly, I think there are 4 key elements of this workflow where we’d have to consider whether it’s core vs plugin:
Translation service - As noted, makes most sense to be a plugin to allow for localized flexibility
Translation output/passback - Sounds like storing/sharing in the content store
Feature for authors to manually review translations in Studio - I think it makes sense to develop this as part of the core UI experience from a product perspective. Whether it’s actually implemented via a slot is a separate conversation.
Feature for learners to choose which language they want to view the course - Also think it makes sense to develop this as part of the core UI experience, same considerations about plugin slot for the author experience.
Couple of questions:
Is there any scope here for including video transcripts? Or is the current experience of adding multiple transcripts enough? There was a semi-related proposal put forth by 2U that would have made video transcripts edit-able. They ultimately decided not to implement this directly in the video block due to UI complexities (modal on modal) that I suspect will also crop up here too, if translations extend to videos and then require manual editing. Sharing for context: https://openedx.atlassian.net/wiki/spaces/OEPM/pages/4797235204
For the learner experience, is the assumption that learners will be making language decisions at the course level? Ie, “I want to view this whole course in French instead of Spanish.”, and not, “I want to view this particular lesson/section/unit in French instead of Spanish.” I assume the former, especially for an MVP. But longer term I wonder about the need to scope translation decisions to the section/lesson/unit level, especially as we get into 1) how this works for libraries and 2) modular, stackable mastery pathways. Something to consider, a future need to scope a translation more atomically/modularly.
UI consideration - In Studio, is this just a toggle within the content editors? Or are there multiple versions of the course outlines generated per language? How to take into account translations of structural-level content in the course outline, like titles?
Related, are there ways we could brainstorm implementing this as a more generalized “content review” feature that could then be leveraged for this specific purpose?