翻译 Woocommerce 中的结帐字段验证错误通知

Translate checkout fields validation error notices in Woocommerce

如何翻译 Woocommerce Checkout 页面验证错误消息?我试过用

function ship_to_different_address_translation( $translated_text, $text, $domain ) {
    switch ( $translated_text ) {

        case 'Billing First name is a required field.' :
            if ( get_locale() == 'en_GB' ) {
                $translated_text = __( 'Please fill in all the required fields!', 'woocommerce' );
            }
            break;
    }

    return $translated_text;
}

add_filter('gettext', 'ship_to_different_address_translation', 20, 3);       

此代码适用于所有字符串(结帐验证错误消息除外)。是否可以将所有错误消息替换为 'Please fill in all the required fields!'?

1) 为 Woocommerce 结帐字段自定义默认验证错误通知

您可以使用 woocommerce_checkout_required_field_notice 专用过滤器挂钩,自定义每个通知,更改以下文本:

add_filter( 'woocommerce_checkout_required_field_notice', 'custom_checkout_required_fields_error_notice', 10, 2 );
function custom_checkout_required_fields_error_notice( $error_notice, $field_label ) {
    $error_notice = sprintf( __( '%s is a required field.', 'woocommerce' ), '<strong>' . esc_html( $field_label ) . '</strong>' );

    return $error_notice; 
}

代码进入您的活动子主题(活动主题)的 function.php 文件。已测试并有效。

2) 用一个唯一的自定义错误通知替换所有验证错误通知 Woocommerce 结帐字段:

参见: