Index: src/wp-includes/user.php
===================================================================
--- src/wp-includes/user.php	(revision 43556)
+++ src/wp-includes/user.php	(working copy)
@@ -3380,6 +3380,10 @@
 		'siteurl'     => home_url(),
 	);
 
+	if ( get_user_locale( $request->user_id ) !== get_locale() ) {
+		$email_data['confirm_url'] = add_query_arg( 'wp_lang', get_user_locale( $request->user_id ), $email_data['confirm_url'] );
+	}
+
 	/* translators: Do not translate DESCRIPTION, CONFIRM_URL, SITENAME, SITEURL: those are placeholders. */
 	$email_text = __(
 		'Howdy,
Index: src/wp-login.php
===================================================================
--- src/wp-login.php	(revision 43556)
+++ src/wp-login.php	(working copy)
@@ -898,6 +898,11 @@
 
 		login_header( __( 'User action confirmed.' ), $message );
 		login_footer();
+
+		if ( $switched_locale ) {
+			restore_previous_locale();
+		}
+
 		exit;
 
 	case 'login':
