79 lines
2.0 KiB
PHP
79 lines
2.0 KiB
PHP
|
<?php
|
||
|
/**
|
||
|
* WPSEO plugin file.
|
||
|
*
|
||
|
* @package WPSEO\Admin
|
||
|
*/
|
||
|
|
||
|
/**
|
||
|
* Localizes JavaScript files.
|
||
|
*
|
||
|
* @codeCoverageIgnore
|
||
|
* @deprecated 18.0
|
||
|
*/
|
||
|
final class WPSEO_Admin_Asset_Yoast_Components_L10n {
|
||
|
|
||
|
/**
|
||
|
* Represents the asset manager.
|
||
|
*
|
||
|
* @var WPSEO_Admin_Asset_Manager
|
||
|
*/
|
||
|
protected $asset_manager;
|
||
|
|
||
|
/**
|
||
|
* WPSEO_Admin_Asset_Yoast_Components_L10n constructor.
|
||
|
*
|
||
|
* @codeCoverageIgnore
|
||
|
* @deprecated 18.0
|
||
|
*/
|
||
|
public function __construct() {
|
||
|
_deprecated_constructor( __CLASS__, '18.0' );
|
||
|
$this->asset_manager = new WPSEO_Admin_Asset_Manager();
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Localizes the given script with the JavaScript translations.
|
||
|
*
|
||
|
* @codeCoverageIgnore
|
||
|
* @deprecated 18.0
|
||
|
*
|
||
|
* @param string $script_handle The script handle to localize for.
|
||
|
*
|
||
|
* @return void
|
||
|
*/
|
||
|
public function localize_script( $script_handle ) {
|
||
|
_deprecated_function( __FUNCTION__, '18.0' );
|
||
|
$translations = [
|
||
|
'yoast-components' => $this->get_translations( 'yoast-components' ),
|
||
|
'wordpress-seo' => $this->get_translations( 'wordpress-seojs' ),
|
||
|
'yoast-schema-blocks' => $this->get_translations( 'yoast-schema-blocks' ),
|
||
|
];
|
||
|
$this->asset_manager->localize_script( $script_handle, 'wpseoYoastJSL10n', $translations );
|
||
|
}
|
||
|
|
||
|
/**
|
||
|
* Returns translations necessary for JS files.
|
||
|
*
|
||
|
* @codeCoverageIgnore
|
||
|
* @deprecated 18.0
|
||
|
*
|
||
|
* @param string $component The component to retrieve the translations for.
|
||
|
* @return object|null The translations in a Jed format for JS files.
|
||
|
*/
|
||
|
protected function get_translations( $component ) {
|
||
|
_deprecated_function( __FUNCTION__, '18.0' );
|
||
|
$locale = \get_user_locale();
|
||
|
|
||
|
$file = WPSEO_PATH . 'languages/' . $component . '-' . $locale . '.json';
|
||
|
if ( file_exists( $file ) ) {
|
||
|
// phpcs:ignore WordPress.WP.AlternativeFunctions.file_get_contents_file_get_contents -- Retrieving a local file.
|
||
|
$file = file_get_contents( $file );
|
||
|
if ( is_string( $file ) && $file !== '' ) {
|
||
|
return json_decode( $file, true );
|
||
|
}
|
||
|
}
|
||
|
|
||
|
return null;
|
||
|
}
|
||
|
}
|