add_filter( 'woocommerce_product_add_to_cart_text' , 'custom_woocommerce_product_add_to_cart_text' );
/**
 * custom_woocommerce_template_loop_add_to_cart
*/
function custom_woocommerce_product_add_to_cart_text() {
  global $product;
  
  $product_type = $product->product_type;
  
  switch ( $product_type ) {
    case 'external':
      return __( 'Buy product', 'woocommerce' );
    break;
    case 'grouped':
      return __( 'View products', 'woocommerce' );
    break;
    case 'simple':
      return __( 'Add to cart', 'woocommerce' );
    break;
    case 'variable':
      return __( 'Select options', 'woocommerce' );
    break;
    default:
      return __( 'Read more', 'woocommerce' );
  }
  
}



This free plugin allows you to change “add to cart” labels on all single product pages (per product type) and also on archive/shop page (per product type): WC Custom Add to Cart labels

If you want although to use as less code as possible, you can use that code snippet.