Woocommerce product query not working in other WPML languages

I would do two things

  • Check if you get inside the IF-statement in the other languages. is_page(‘shop’) refers to a specific post/page ID. You can bypass this problem by fetching the current’s language translation post-ID with is_page( apply_filters( 'wpml_object_id', {{orig_page_id}}, 'page', true ) )
  • I would reverse the query, instead of excluding the unneeded product categories. You can use ‘operator’ => ‘IN’ to just fetch the terms that are in that specific category.

Hope this helps