Index: modules/system/system.css
===================================================================
RCS file: /cvs/drupal/drupal/modules/system/system.css,v
retrieving revision 1.62
diff -u -p -r1.62 system.css
--- modules/system/system.css	5 Sep 2009 06:07:58 -0000	1.62
+++ modules/system/system.css	9 Sep 2009 20:48:17 -0000
@@ -535,6 +535,13 @@ html.js .js-hide {
   width: 0%;
   background-color: #47C965;
 }
+#password-indicator #label {
+  font-size: 0.9em;
+  line-height: 1em;
+  position: absolute;
+  text-align: center;
+  width: 100%;
+}
 input.password-confirm, input.password-field {
   width: 16em;
   margin-bottom: 0.4em;
Index: modules/user/user.module
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.module,v
retrieving revision 1.1040
diff -u -p -r1.1040 user.module
--- modules/user/user.module	9 Sep 2009 11:27:00 -0000	1.1040
+++ modules/user/user.module	9 Sep 2009 20:48:17 -0000
@@ -2805,7 +2805,10 @@ function _user_password_dynamic_validati
         'confirmSuccess' => t('yes'),
         'confirmFailure' => t('no'),
         'confirmTitle' => t('Passwords match:'),
-        'username' => (isset($user->name) ? $user->name : ''))),
+        'username' => (isset($user->name) ? $user->name : ''),
+        'weak' => t('weak'),
+        'fair' => t('fair'),
+        'strong' => t('strong'))),
       'setting');
     $complete = TRUE;
   }
Index: modules/user/user.js
===================================================================
RCS file: /cvs/drupal/drupal/modules/user/user.js,v
retrieving revision 1.17
diff -u -p -r1.17 user.js
--- modules/user/user.js	31 Aug 2009 05:51:08 -0000	1.17
+++ modules/user/user.js	9 Sep 2009 20:48:17 -0000
@@ -19,7 +19,7 @@ Drupal.behaviors.password = {
       innerWrapper.addClass('password-parent');
 
       // Add the description box at the end.
-      var passwordMeter = '<div id="password-strength"><div class="password-strength-title">' + translate.strengthTitle + '</div><div id="password-indicator"><div id="indicator"></div></div></div>';
+      var passwordMeter = '<div id="password-strength"><div class="password-strength-title">' + translate.strengthTitle + '</div><div id="password-indicator"><div id="indicator"></div><div id="label"></div></div>';
       $('div.description', outerWrapper).prepend('<div class="password-suggestions"></div>');
       $(innerWrapper).append(passwordMeter);
       var passwordDescription = $('div.password-suggestions', outerWrapper).hide();
@@ -52,6 +52,10 @@ Drupal.behaviors.password = {
         // Adjust the length of the strength indicator.
         $('#indicator').css('width', result.strength + '%');
 
+        // Adjust the password indicator label text.
+        var label = result.strength < 35 ? translate.weak : result.strength < 75 ? translate.fair : translate.strong;
+        $('#label').html(label);
+
         passwordCheckMatch();
       };
 
