https://www.tychesoftwares.com/how-to-rename-order-status-messages-in-woocommerce/
add_filter( 'wc_order_statuses', 'ts_rename_order_status_msg', 20, 1 );
function ts_rename_order_status_msg( $order_statuses ) {
$order_statuses['wc-completed'] = _x( 'Order Received', 'Order status', 'woocommerce' );
$order_statuses['wc-processing'] = _x( 'Your Order is being processed', 'Order status', 'woocommerce' );
$order_statuses['wc-on-hold'] = _x( 'Your Order is on hold', 'Order status', 'woocommerce' );
$order_statuses['wc-pending'] = _x( 'Your Order is pending', 'Order status', 'woocommerce' );
return $order_statuses;
}

You will see that the order status has changed. We used the hook wc_order_statuses here and attached our function ts_rename_order_status_msg to it. The $order_statuses array that we passed as the argument contains the status messages as its first value.
The status messages also change in the front-end, where you check your order status under My account->Orders:

There are two other places though where the Woocommerce order status message gets displayed i.e. in the top menu inside the Admin Dashboard, and also in the dropdown for Bulk Actions:

These status messages can be changed too using two other hooks to which we will attach two other functions.
Add the below code to the functions.php file of your child theme to change the status message in the top menu:
foreach( array( 'post', 'shop_order' ) as $hook )
add_filter( "views_edit-shop_order", 'ts_order_status_top_changed' );
function ts_order_status_top_changed( $views ){
if( isset( $views['wc-completed'] ) )
$views['wc-completed'] = str_replace( 'Completed', __( 'Order Received', 'woocommerce'), $views['wc-completed'] );
if( isset( $views['wc-processing'] ) )
$views['wc-processing'] = str_replace( 'Processing', __( 'In Process', 'woocommerce'), $views['wc-processing'] );
if( isset( $views['wc-on-hold'] ) )
$views['wc-on-hold'] = str_replace( 'On hold', __( 'Order on Hold', 'woocommerce'), $views['wc-on-hold'] );
if( isset( $views['wc-pending'] ) )
$views['wc-pending'] = str_replace( 'Pending payment', __( 'Payment Pending', 'woocommerce'), $views['wc-pending'] );
return $views;
}
You can see that we have used views_edit-shop_order hook here to simply replace the String values that each array key (for different order status messages) contains.

Now, the last place that we have to change the order status messages (if necessary) is the Bulk Actions dropdown that we highlighted above. For this, we will use yet another code snippet and add it to the same functions.php file:
add_filter( 'bulk_actions-edit-shop_order', 'ts_bulk_actions_order_status', 20, 1 );
function ts_bulk_actions_order_status( $actions ) {
$actions['mark_processing'] = __( 'Mark as In Process', 'woocommerce' );
$actions['mark_on-hold'] = __( 'Mark as Order on Hold', 'woocommerce' );
$actions['mark_completed'] = __( 'Mark as Order Received', 'woocommerce' );
return $actions;
}
Here, the bulk_actions-edit-shop_order hook is being used to change the values of the different actions that are applied to orders.
You can see that the order status messages will have changed in this dropdown:


