how to make wordpress remember my choice

You can try using a cookie. If it’s the visitor’s first time, set a cookie. Let the user set the cookie once he clicks on the language he wants.

You may refer to his sample WordPress Redirect based on the prescence of a cookie

You may tweak it a bit to do something like

 if ( !isset($_COOKIE["language"])) {
        if(!isset($_GET["language"])){ // Check if user has set a language through a get function
           setcookie('language', 1, time()+1209600, "https://wordpress.stackexchange.com/", "http://www,yourdomain.com/".$_GET['language']."", false); // Set the chosen cookie
           wp_redirect( get_site_url()."https://wordpress.stackexchange.com/".$_GET['language'] ); exit; // redirect to the chosen language
        }else{
          setcookie('language', 1, time()+1209600, "https://wordpress.stackexchange.com/", "http://www,yourdomain.com/en", false); // If did not choose, just redirect to your default language
        }
    }else{
        wp_redirect( get_site_url()."https://wordpress.stackexchange.com/".$_COOKIE['language'] ); exit; // Else, redirect to the language based on the cookie stored previously
    }