diff --git a/core/modules/user/lib/Drupal/user/AccountFormController.php b/core/modules/user/lib/Drupal/user/AccountFormController.php index ca8e638..65daae9 100644 --- a/core/modules/user/lib/Drupal/user/AccountFormController.php +++ b/core/modules/user/lib/Drupal/user/AccountFormController.php @@ -197,13 +197,24 @@ public function form(array $form, array &$form_state) { '#description' => $interface_language_is_default ? t("This account's preferred language for e-mails and site presentation.") : t("This account's preferred language for e-mails."), ); - $form['language']['preferred_admin_langcode'] = array( - '#type' => 'language_select', - '#title' => t('Administration pages language'), - '#languages' => LANGUAGE_CONFIGURABLE, - '#default_value' => $user_preferred_admin_langcode, - '#access' => user_access('access administration pages', $account), - ); + if (module_exists('language')) { + $show_admin_language = FALSE; + foreach (language_types_info() as $type_key => $language_type) { + $negotiation_settings = variable_get("language_negotiation_{$type_key}", array()); + if ($show_admin_language = isset($negotiation_settings[LANGUAGE_NEGOTIATION_USER_ADMIN])) { + break; + } + } + if ($show_admin_language) { + $form['language']['preferred_admin_langcode'] = array( + '#type' => 'language_select', + '#title' => t('Administration pages language'), + '#languages' => LANGUAGE_CONFIGURABLE, + '#default_value' => $user_preferred_admin_langcode, + '#access' => user_access('access administration pages', $account), + ); + } + } // User entities contain both a langcode property (for identifying the // language of the entity data) and a preferred_langcode property (see