--- modules/user/user.module 2008-05/19 07:27:36.000000000 +0100 +++ modules/user/user.module 2008-06-30 03:09:56.000000000 +0100 @@ -1,5 +1,5 @@ mail, $language, $params); if ($op == 'register_pending_approval') { // If a user registered requiring admin approval, notify the admin, too. - // We use the site default language for this. - drupal_mail('user', 'register_pending_approval_admin', variable_get('site_mail', ini_get('sendmail_from')), language_default(), $params); + // We use the admin's preferred language for this, if available. + $admin_preferred_language = admin_preferred_language(); + drupal_mail('user', 'register_pending_approval_admin', variable_get('site_mail', ini_get('sendmail_from')), $admin_preferred_language, $params); } } return empty($mail) ? NULL : $mail['result']; @@ -2259,6 +2287,7 @@ function user_block_ip_action() { */ function user_register_submit($form, &$form_state) { global $base_url; + global $language; $admin = user_access('administer users'); $mail = $form_state['values']['mail']; @@ -2288,7 +2317,7 @@ function user_register_submit($form, &$f // user data. unset($form_state['values']['form_token'], $form_state['values']['submit'], $form_state['values']['op'], $form_state['values']['notify'], $form_state['values']['form_id'], $form_state['values']['affiliates'], $form_state['values']['destination']); - $merge_data = array('pass' => $pass, 'init' => $mail, 'roles' => $roles); + $merge_data = array('pass' => $pass, 'init' => $mail, 'roles' => $roles, 'language' => $language->language); if (!$admin) { // Set the user's status because it was not displayed in the form. $merge_data['status'] = variable_get('user_register', 1) == 1;