Use this code to send email using user's language


1. please comment out lines 45,46 in file /wp-content/plugins/polylang-wc/include/emails.php 
Like
//add_action( 'woocommerce_created_customer', rray( $this, 'created_customer' ), 5 ); // Before WC sends the notification
//add_action( 'woocommerce_new_order', array( $this, 'new_order' ) );



2. 

add_action('woocommerce_before_resend_order_emails', function ($order) {

    if ( ! function_exists( 'PLLWC' ) || ! function_exists('PLL') ) {
        return;
    }

    if ( is_numeric( $order ) ) {
        $order_id = $order;
    } elseif ( is_array( $order ) ) {
        $order_id = $order['order_id'];
    } elseif ( is_object( $order ) ) {
        $order_id = $order->get_id();
    }

    $order = wc_get_order($order_id);

    if ($order->get_customer_id()) {

        remove_action('woocommerce_before_resend_order_emails', array( PLLWC()->emails, 'before_order_email' ));

        remove_filter( 'get_user_metadata', array( PLLWC()->emails, 'filter_user_locale' ), 10, 3 );

        $lang = get_user_meta( $order->get_customer_id(), 'locale', true );
        $lang = empty( $lang ) ? get_locale() : $lang;

        add_filter( 'get_user_metadata', array( PLLWC()->emails, 'filter_user_locale' ), 10, 3 );

        $language = PLL()->model->get_language( $lang );

        remove_filter( 'load_textdomain_mofile', array( PLL()->filters, 'load_textdomain_mofile' ) );

        PLLWC()->emails->set_email_language( $language );

        add_filter( 'load_textdomain_mofile', array( PLL()->filters, 'load_textdomain_mofile' ) );
    }

}, 1);