Javascript wp_set_script_translations返回false

Javascript wp_set_script_translations返回false,javascript,wordpress,internationalization,wordpress-gutenberg,Javascript,Wordpress,Internationalization,Wordpress Gutenberg,wp\u set\u script\u translations()我使用此函数从javascript文件翻译字符串,但它总是返回false。有关详细信息,请查看以下内容: 我已将资产排队 wp_register_script( 'test-js', tutor()->url . 'assets/js/test.js', array( 'jquery', 'wp-i18n'), time(), true ); wp_enqueue_script( 'test-js'); jQuery文件

wp\u set\u script\u translations()我使用此函数从javascript文件翻译字符串,但它总是返回false。有关详细信息,请查看以下内容:

我已将资产排队

wp_register_script( 'test-js', tutor()->url . 'assets/js/test.js', array( 'jquery', 'wp-i18n'), time(), true );
wp_enqueue_script( 'test-js');
jQuery文件中的

jQuery(document).ready(function ($) {
    'use strict';
    /**
     * translate support 
     * @since 
    */
    const { __ } = wp.i18n;
    var text =  __('Please select an option to answer', 'text-domain');
    console.log(text); //showing default lang , translate is not working
})
加载的文本域

add_action( 'init', 'language_load');
function language_load() {
    /**
     * script translation support added
     * @since 
    */
    
    var_dump(wp_set_script_translations( 'test-js', 'text-domain', plugin_dir_path(__FILE__).'languages'));//returns false  
//already tried wp_set_script_translations( 'test-js', 'text-domain', plugin_dir_path(__FILE__).'/languages/')

//already tried wp_set_script_translations( 'test-js', 'text-domain', plugin_dir_path(__FILE__).'languages/')   

}

注意:POT文件是使用WP CLI创建的,PO&JSON文件也是使用WP CLI创建的。因为wp_set_script_translations()返回false translate不起作用。

调试后,我找到了答案,在这里分享它是否能帮助某人: 基本上,inithook在wp_enqueue_脚本之前运行,这就是为什么它找不到附加了文本域的已处理脚本的原因。 在本例中,我使用了优先级较低的wp_enqueue_脚本钩子。如下图所示:

add_action('wp_enqueue_scripts', array($this, 'load_scripts'));

add_action('wp_enqueue_scripts', array($this, 'load_text_domain'),100);

function tutor_script_text_domain() {
    wp_set_script_translations( 
         'test-js',
         'text-domain',
         plugin_dir_path(__FILE__) .'languages' );
}