WooCommerce - 在结账页面上翻译一个单词

3
我正在尝试翻译 WooCommerce 结算页面上的一个单词。我的网站是用荷兰语编写的,但他们的翻译很差,所以我想使用不同的单词。
需要翻译的内容如下:
这是以下行:
"Totaal €469,38 (Inclusief €79,38 Belasting)"
英文意思是:
"Total €469,38 (Includes €79,38 tax)"
它是对订单总金额的总结。我希望将“Belasting”一词翻译为“BTW”。
我尝试过以下方法:
1. 检查 WooCommerce 中的设置 2. 安装 Loco 翻译插件 3. 使用 FTP(Adobe Dreamweaver)搜索该词
由于我无法在任何地方找到“Belasting”一词,但我找到了包含该行元素的 php 文件。
我在 PHP 文档 wc-cart-functions.php 中找到了它。
if ( ! empty( $tax_string_array ) ) {
        $value .= '<small class="includes_tax">' . sprintf( __( '(Includes %s)', 'woocommerce' ), implode( ', ', $tax_string_array ) ) . '</small>';
    }

以下是HTML代码的样子:

<small class="includes_tax">
(inclusief 
<span class="amount">€79,38</span>
Belasting)
</small>

我的问题

我认为它会使用“%s”变量打印单词“Belasting”。但是我无法在任何地方找到该变量的内容。

那么,有人能帮我找到如何翻译这个单词吗?

感谢您的阅读,我会非常感激您的帮助。


那个词来自于 implode( ', ', $tax_string_array ),但我不知道 $tax_string_array 是在哪里生成的。如果您认为有翻译不好的地方,可以加入他们的 transifex 项目 - helgatheviking
3个回答

1
您可以尝试使用gettext过滤器。
示例:
function my_text_strings( $translated_text, $text, $domain ) {
    switch ( $translated_text ) {
        case 'Related Products' :
            $translated_text = __( 'Check out these related products', 'woocommerce' );
            break;
    }
    return $translated_text;
}
add_filter( 'gettext', 'my_text_strings', 20, 3 );

0

"Includes" 部分是支持翻译的。也就是说,您只需要将其添加到您的翻译文件中:

翻译文件在我的情况下(丹麦语)是:"../wp-content/languages/plugins/woocommerce-da_DK.po"

在文本编辑器(例如 Notepad++)中打开该文件,并添加以下行:

#: includes/class-wc-order.php:40 includes/wc-cart-functions.php:246
msgid "(Includes %s)"
msgstr "(Inkluderer %s)"

现在您需要将PO文件编译为MO文件,您可以使用Poedit。 只需打开PO文件并保存即可创建一个新的MO文件,您可以上传并替换当前的MO文件(路径:“../wp-content/languages/plugins/”)

到目前为止一切顺利!

关于“税”部分。这是在管理模块中控制的: enter image description here


0

WooCommerce使用gettext进行翻译,如此处所述,有几种更新翻译的方法,其中最简单的方法是编辑woocommerce/i18n/languages/中的文件。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接