WordPress at Your Fingertips
function is not described

_WP_Editors::wp_mce_translation() public WP 3.9.0

Translates the default TinyMCE strings and returns them as JSON encoded object ready to be loaded with tinymce.addI18n(), or as JS snippet that should run after tinymce.js is loaded.

{} It's a method of the class: _WP_Editors{}

This is an internal function for using it by WP core itself. It's not recommended to use this function in your code.

Hooks from the method
Return

String. Translation object, JSON encoded.

Usage

$result = _WP_Editors::wp_mce_translation( $mce_locale, $json_only );
$mce_locale(string)
The locale used for the editor.
Default: ''
$json_only(true|false)
Whether to include the JavaScript calls to tinymce.addI18n() and tinymce.ScriptLoader.markDone().
Default: false

Changelog

Since 3.9.0 Introduced.

Code of _WP_Editors::wp_mce_translation() WP 5.8.1

public static function wp_mce_translation( $mce_locale = '', $json_only = false ) {
	if ( ! $mce_locale ) {
		$mce_locale = self::get_mce_locale();
	}

	$mce_translation = self::get_translation();

	foreach ( $mce_translation as $name => $value ) {
		if ( is_array( $value ) ) {
			$mce_translation[ $name ] = $value[0];
		}
	}

	/**
	 * Filters translated strings prepared for TinyMCE.
	 *
	 * @since 3.9.0
	 *
	 * @param array  $mce_translation Key/value pairs of strings.
	 * @param string $mce_locale      Locale.
	 */
	$mce_translation = apply_filters( 'wp_mce_translation', $mce_translation, $mce_locale );

	foreach ( $mce_translation as $key => $value ) {
		// Remove strings that are not translated.
		if ( $key === $value ) {
			unset( $mce_translation[ $key ] );
			continue;
		}

		if ( false !== strpos( $value, '&' ) ) {
			$mce_translation[ $key ] = html_entity_decode( $value, ENT_QUOTES, 'UTF-8' );
		}
	}

	// Set direction.
	if ( is_rtl() ) {
		$mce_translation['_dir'] = 'rtl';
	}

	if ( $json_only ) {
		return wp_json_encode( $mce_translation );
	}

	$baseurl = self::get_baseurl();

	return "tinymce.addI18n( '$mce_locale', " . wp_json_encode( $mce_translation ) . ");\n" .
		"tinymce.ScriptLoader.markDone( '$baseurl/langs/$mce_locale.js' );\n";
}