在 Polylang 中翻译字符串

Translate string in Polylang

我向我的 woocommerce 网站添加了一个自定义片段,但现在我无法将字符串翻译成 Polylang。

我需要代码片段在支付方式上方添加文本,它工作正常,它是通过代码片段插件添加的 (https://wordpress.org/plugins/code-snippets/)

       add_action( 'woocommerce_review_order_before_payment', 'wc_privacy_message_below_checkout_button' );
 
function wc_privacy_message_below_checkout_button() {
    echo __('<h3>Metodo di pagamento</h3>', 'text-domain');
}

现在我已经插入了一个额外的片段来将字符串添加到 Polylang,但是一旦用翻译更新就没有任何反应

add_action('init', function() {
  pll_register_string('Metodo di pagamento', 'Metodo di pagamento');
});

我该如何解决?还有别的办法吗? 谢谢

您可以尝试使用“pll_e(' ”而不是“__(' “

喜欢:

function wc_privacy_message_below_checkout_button() {
    pll_e('<h3>Metodo di pagamento</h3>');
}

此外,如果我没记错的话,字符串内容必须与回显的内容相同:

pll_register_string('the_string_name', '<h3>Metodo di pagamento</h3>');

然后更改 Polylang 管理页面中的字符串。

如果这与“h3”标题标签相呼应,您可以删除它们并在 Polylang 中设置注册字符串的样式。

您也可以尝试保留函数原样(您的编写方式)并更正注册代码中的字符串内容,将其更改为:

pll_register_string('the_string_name', '<h3>Metodo di pagamento</h3>');

我自己还没有在函数内部完成它,希望这对你有用,但如果它不起作用,我仍然认为“pll_e()”可能是你需要的。