diff --git src/wp-includes/js/mediaelement/mediaelement-migrate.js src/wp-includes/js/mediaelement/mediaelement-migrate.js
index c2dbd534d9..bb6f809434 100644
--- src/wp-includes/js/mediaelement/mediaelement-migrate.js
+++ src/wp-includes/js/mediaelement/mediaelement-migrate.js
@@ -22,6 +22,43 @@
 		mejs.Utility = mejs.Utils;
 	}
 
+	/*
+	 * Remove validation check for language format added in MEJS 3.0.0.
+	 *
+	 * @see https://core.trac.wordpress.org/ticket/42574
+	 */
+	mejs.i18n.language = function () {
+		var i18n = mejs.i18n;
+
+		for (var _len = arguments.length, args = Array(_len), _key = 0; _key < _len; _key++) {
+			args[_key] = arguments[_key];
+		}
+
+		if (args !== null && args !== undefined && args.length) {
+
+			if (typeof args[0] !== 'string') {
+				throw new TypeError('Language code must be a string value');
+			}
+
+			i18n.lang = args[0];
+
+			if (i18n[args[0]] === undefined) {
+				// Load passed strings or fall back to the defaults.
+				args[1] = args[1] !== null && args[1] !== undefined && typeof(args[1]) === 'object' ? args[1] : {};
+				i18n[args[0]] = $.isEmptyObject(args[1]) ? i18n.en : args[1];
+			} else if (args[1] !== null && args[1] !== undefined && typeof(args[1]) === 'object') {
+				i18n[args[0]] = args[1];
+			}
+		}
+
+		return i18n.lang;
+	};
+
+	// Manually load WP i18n strings after MEJS is initialized.
+	if (typeof mejsL10n !== 'undefined') {
+		mejs.i18n.language(mejsL10n.language, mejsL10n.strings);
+	}
+
 	/**
 	 * Create missing variables and have default `classPrefix` overridden to avoid issues.
 	 *
diff --git src/wp-includes/script-loader.php src/wp-includes/script-loader.php
index cc401f6925..1fbbe3b840 100644
--- src/wp-includes/script-loader.php
+++ src/wp-includes/script-loader.php
@@ -356,7 +356,7 @@ function wp_default_scripts( &$scripts ) {
 	$scripts->add( 'mediaelement-core', "/wp-includes/js/mediaelement/mediaelement-and-player$suffix.js", array(), '4.2.6-78496d1', 1 );
 	$scripts->add( 'mediaelement-migrate', "/wp-includes/js/mediaelement/mediaelement-migrate$suffix.js", array(), false, 1);
 
-	did_action( 'init' ) && $scripts->add_inline_script( 'mediaelement-core', sprintf( 'var mejsL10n = %s;', wp_json_encode( array(
+	did_action( 'init' ) && $scripts->add_inline_script( 'mediaelement-migrate', sprintf( 'var mejsL10n = %s;', wp_json_encode( array(
 		'language' => strtolower( str_replace( '_', '-', is_admin() ? get_user_locale() : get_locale() ) ),
 		'strings'  => array(
 			'mejs.install-flash'       => __( 'You are using a browser that does not have Flash player enabled or installed. Please turn on your Flash player plugin or download the latest version from https://get.adobe.com/flashplayer/' ),
@@ -446,7 +446,6 @@ function wp_default_scripts( &$scripts ) {
 			),
 		) ) ), 'before' );
 
-
 	$scripts->add( 'mediaelement-vimeo', "/wp-includes/js/mediaelement/renderers/vimeo.min.js", array('mediaelement'), '4.2.6-78496d1', 1 );
 	$scripts->add( 'wp-mediaelement', "/wp-includes/js/mediaelement/wp-mediaelement$suffix.js", array('mediaelement'), false, 1 );
 	$mejs_settings = array(
