I am putting together a multi-language site with WPML and WooCommerce.
https://usa2sweden.se/site/
https://usa2sweden.se/site/?lang=en
The my account widget would not change languages even I selected from the country drop down. This is how I finally solved it:
I edited wp-config.php:
if (isset($_GET[“lang”])) {
$lang = $_GET[“lang”] . “_” . strtoupper($_GET[“lang”]);
define(‘WPLANG’, $lang);
} else {
define(‘WPLANG’, ‘sv_SE’);
}
If you’re using the “Different languages in directories” option, you can parse the $_SERVER[“REQUEST_URI”] to extract the language slug.