【问题标题】:Translate string in Polylang在 Polylang 中翻译字符串
【发布时间】:2021-08-14 20:27:21
【问题描述】:

我向我的 woocommerce 网站添加了一个自定义 sn-p,现在我无法将字符串转换为 Polylang。

我需要 sn-p 在付款方式上方添加一个文本,它工作正常,它是通过代码片段插件添加的 (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');
}

现在我已经插入了一个额外的 sn-p 来将字符串添加到 Polylang,但是一旦用翻译更新,什么都没有发生

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

我该如何解决?还有其他方法吗? 谢谢你

【问题讨论】:

    标签: wordpress woocommerce hook translation polylang


    【解决方案1】:

    您可以尝试使用 "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()”可能是你需要的。

    【讨论】:

    • 嘿@user16039484!您能否更具体一些并添加wc_privacy_message_below_checkout_button 函数的实际代码?我认为使用pll_e 时不需要本地化域。此外,pll_e 已经回显了翻译后的字符串。
    • @DiegoColantoni,抱歉之前不够具体。我编辑了我的答案。希望它现在有效。
    • 可能值得补充的是,您可以使用pll_ 来获取翻译后的字符串而无需回显它。通过这种方式,您可以避免使用包含的 HTML 标记注册字符串(以防您想在不同的上下文中重用相同的字符串)。
    猜你喜欢
    • 1970-01-01
    • 2019-07-06
    • 1970-01-01
    • 2019-08-02
    • 1970-01-01
    • 1970-01-01
    • 2019-04-18
    • 2015-09-04
    • 1970-01-01
    相关资源
    最近更新 更多