Index: src/wp-admin/css/login.css
===================================================================
--- src/wp-admin/css/login.css	(revision 28095)
+++ src/wp-admin/css/login.css	(working copy)
@@ -1,4 +1,5 @@
 @import url(forms.css);
+@import url(l10n.css);
 
 html,
 body {
@@ -11,7 +12,7 @@
 	background: #f1f1f1;
 }
 
-body.login {
+body {
 	background: #f1f1f1;
 	min-width: 0;
 	color: #444;
Index: src/wp-includes/script-loader.php
===================================================================
--- src/wp-includes/script-loader.php	(revision 28095)
+++ src/wp-includes/script-loader.php	(working copy)
@@ -644,7 +644,7 @@
 	// RTL CSS
 	$rtl_styles = array(
 		// wp-admin
-		'wp-admin', 'install', 'wp-color-picker', 'customize-controls', 'customize-widgets', 'ie',
+		'wp-admin', 'install', 'wp-color-picker', 'customize-controls', 'customize-widgets', 'ie', 'login',
 		// wp-includes
 		'buttons', 'admin-bar', 'wp-auth-check', 'editor-buttons', 'media-views', 'wp-pointer',
 		'wp-jquery-ui-dialog',
Index: src/wp-login.php
===================================================================
--- src/wp-login.php	(revision 28095)
+++ src/wp-login.php	(working copy)
@@ -131,6 +131,7 @@
 		if ( 'success' ===  $interim_login )
 			$classes[] = 'interim-login-success';
 	}
+	$classes[] =' locale-' . sanitize_html_class( strtolower( str_replace( '_', '-', get_locale() ) ) );
 
 	/**
 	 * Filter the login page body classes.
