diff --git a/src/transformer/utils/get_course_lang.php b/src/transformer/utils/get_course_lang.php index c12936a3ec6346e9556408658f6329480bef13e3..43a5a1e5f7e934ce4fff527cc69266e025179a17 100644 --- a/src/transformer/utils/get_course_lang.php +++ b/src/transformer/utils/get_course_lang.php @@ -19,5 +19,10 @@ defined('MOODLE_INTERNAL') || die(); function get_course_lang($course) { $haslang = is_null($course->lang) || $course->lang == ''; - return $haslang ? 'en' : $course->lang; + + // Ensure en_US and the like get corrected to the standard en-US. + $preppedlang = mb_ereg_replace('_', '-', $haslang ? 'en' : $course->lang); + + // Ensure valid language format. + return mb_ereg_match('^[a-zA-Z]{2}(-[a-zA-Z]{2})?$', $preppedlang) ? $preppedlang : 'en'; }