WordPress at Your Fingertips
function is not described

WP_Scripts::print_translations() public WP 5.0.0

Prints translations set for a specific handle.

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

No Hooks.

Return

String|false. Script on success, false otherwise.

Usage

global $wp_scripts;
$wp_scripts->print_translations( $handle, $echo );
$handle(string) (required)
Name of the script to add the inline script to. Must be lowercase.
$echo(true|false)
Whether to echo the script instead of just returning it.
Default: true

Changelog

Since 5.0.0 Introduced.

Code of WP_Scripts::print_translations() WP 5.8.1

public function print_translations( $handle, $echo = true ) {
	if ( ! isset( $this->registered[ $handle ] ) || empty( $this->registered[ $handle ]->textdomain ) ) {
		return false;
	}

	$domain = $this->registered[ $handle ]->textdomain;
	$path   = $this->registered[ $handle ]->translations_path;

	$json_translations = load_script_textdomain( $handle, $domain, $path );

	if ( ! $json_translations ) {
		// Register empty locale data object to ensure the domain still exists.
		$json_translations = '{ "locale_data": { "messages": { "": {} } } }';
	}

	$output = <<<JS
( function( domain, translations ) {
var localeData = translations.locale_data[ domain ] || translations.locale_data.messages;
localeData[""].domain = domain;
wp.i18n.setLocaleData( localeData, domain );
} )( "{$domain}", {$json_translations} );
JS;

	if ( $echo ) {
		printf( "<script%s id='%s-js-translations'>\n%s\n</script>\n", $this->type_attr, esc_attr( $handle ), $output );
	}

	return $output;
}