如何在函数参数中添加可翻译字符串?

How to add translatable string in function parameter?

我在 wordpress 脚本中有一个 javascript 函数,我需要它与 WPML 链式翻译兼容

ubp_show_error("<p>Inutile de l'ajouter plusieurs fois</p>");

我怎样才能使这条链成为这样的东西:

ubp_show_error(_e('<p>Inutile de l'ajouter plusieurs fois</p>','mytheme'));

我试过了:

$error = _('<p>Inutile de l'ajouter plusieurs fois</p>','mytheme');
ubp_show_error($error); 

但在 javascript 中,这不起作用

您需要localize您的脚本。

PHP

function custom_load_scripts() {
    wp_enqueue_script('your-script', '/your-script.js');
    wp_localize_script('your-script', 'your_js_obj_name', array(
            'error' => __("<p>Inutile de l'ajouter plusieurs fois</p>",'mytheme')
        )
    );
}
add_action('wp_enqueue_scripts', 'custom_load_scripts');

现在您可以访问 javascript 文件中的数据,例如:

JS

your_js_obj_name.error // --> '<p>Inutile de l'ajouter plusieurs fois</p>'