diff --git a/core/modules/content_translation/lib/Drupal/content_translation/Tests/ContentTranslationSettingsTest.php b/core/modules/content_translation/lib/Drupal/content_translation/Tests/ContentTranslationSettingsTest.php index 919603e..45faf8d 100644 --- a/core/modules/content_translation/lib/Drupal/content_translation/Tests/ContentTranslationSettingsTest.php +++ b/core/modules/content_translation/lib/Drupal/content_translation/Tests/ContentTranslationSettingsTest.php @@ -131,7 +131,7 @@ function testSettingsUI() { * TRUE if the assertion succeeded, FALSE otherwise. */ protected function assertSettings($entity_type, $bundle, $enabled, $edit) { - $this->drupalPost('admin/config/regional/content-language', $edit, t('Save')); + $this->drupalPost('admin/config/regional/content-language', $edit, t('Save configuration')); $args = array('@entity_type' => $entity_type, '@bundle' => $bundle, '@enabled' => $enabled ? 'enabled' : 'disabled'); $message = format_string('Translation for entity @entity_type (@bundle) is @enabled.', $args); field_info_cache_clear(); diff --git a/core/modules/language/language.admin.inc b/core/modules/language/language.admin.inc index 041398e..0108ef7 100644 --- a/core/modules/language/language.admin.inc +++ b/core/modules/language/language.admin.inc @@ -744,95 +744,6 @@ function language_content_settings_page() { } /** - * Form constructor for the content language settings form. - * - * @param array $supported - * Entity types with language support. - * - * @see language_content_settings_form_submit() - * - * @ingroup forms - */ -function language_content_settings_form(array $form, array $form_state, array $supported) { - $entity_info = entity_get_info(); - $labels = array(); - $default = array(); - - foreach ($supported as $entity_type) { - $labels[$entity_type] = isset($entity_info[$entity_type]['label']) ? $entity_info[$entity_type]['label'] : $entity_type; - $default[$entity_type] = FALSE; - - // Check whether we have any custom setting. - foreach (entity_get_bundles($entity_type) as $bundle => $bundle_info) { - $conf = language_get_default_configuration($entity_type, $bundle); - if (!empty($conf['language_show']) || $conf['langcode'] != 'site_default') { - $default[$entity_type] = $entity_type; - } - $language_configuration[$entity_type][$bundle] = $conf; - } - } - - asort($labels); - - $path = drupal_get_path('module', 'language'); - $form = array( - '#labels' => $labels, - '#attached' => array( - 'css' => array($path . '/css/language.admin.css'), - ), - ); - - $form['entity_types'] = array( - '#title' => t('Custom language settings'), - '#type' => 'checkboxes', - '#options' => $labels, - '#default_value' => $default, - ); - - $form['settings'] = array('#tree' => TRUE); - - foreach ($labels as $entity_type => $label) { - $info = $entity_info[$entity_type]; - - $form['settings'][$entity_type] = array( - '#title' => $label, - '#type' => 'container', - '#entity_type' => $entity_type, - '#theme' => 'language_content_settings_table', - '#bundle_label' => isset($info['bundle_label']) ? $info['bundle_label'] : $label, - '#states' => array( - 'visible' => array( - ':input[name="entity_types[' . $entity_type . ']"]' => array('checked' => TRUE), - ), - ), - ); - - foreach (entity_get_bundles($entity_type) as $bundle => $bundle_info) { - $form['settings'][$entity_type][$bundle]['settings'] = array( - '#type' => 'item', - '#label' => $bundle_info['label'], - 'language' => array( - '#type' => 'language_configuration', - '#entity_information' => array( - 'entity_type' => $entity_type, - 'bundle' => $bundle, - ), - '#default_value' => $language_configuration[$entity_type][$bundle], - ), - ); - } - } - - $form['actions'] = array('#type' => 'actions'); - $form['actions']['submit'] = array( - '#type' => 'submit', - '#value' => t('Save'), - ); - - return $form; -} - -/** * Implements hook_preprocess_HOOK() for theme_language_content_settings_table(). */ function template_preprocess_language_content_settings_table(&$variables) { diff --git a/core/modules/language/language.module b/core/modules/language/language.module index 7e5b87b..993a8b1 100644 --- a/core/modules/language/language.module +++ b/core/modules/language/language.module @@ -147,9 +147,7 @@ function language_menu() { $items['admin/config/regional/content-language'] = array( 'title' => 'Content language settings', 'description' => 'Configure content language support for any multilingual element.', - 'page callback' => 'language_content_settings_page', - 'access arguments' => array('administer languages'), - 'file' => 'language.admin.inc', + 'route_name' => 'language_content_settings', ); return $items; @@ -195,22 +193,6 @@ function language_theme() { } /** - * Returns a list of supported entity types. - * - * @return array - * An array of entity type names. - */ -function language_entity_supported() { - $supported = array(); - foreach (entity_get_info() as $entity_type => $info) { - if (!empty($info['translatable'])) { - $supported[$entity_type] = $entity_type; - } - } - return $supported; -} - -/** * Implements hook_element_info_alter(). */ function language_element_info_alter(&$type) { @@ -607,6 +589,17 @@ function language_library_info() { ), ); + $libraries['drupal.language.admin'] = array( + 'title' => 'Language configuration css.', + 'version' => VERSION, + 'css' => array( + drupal_get_path('module', 'language') . '/css/language.admin.css' => array( + 'type' => 'file', + 'media' => 'all', + ), + ), + ); + return $libraries; } diff --git a/core/modules/language/language.routing.yml b/core/modules/language/language.routing.yml index e75e1ce..8c90644 100644 --- a/core/modules/language/language.routing.yml +++ b/core/modules/language/language.routing.yml @@ -25,3 +25,10 @@ language_admin_overview: _entity_list: 'language_entity' requirements: _permission: 'administer languages' + +language_content_settings: + pattern: '/admin/config/regional/content-language' + defaults: + _form: 'Drupal\language\Form\ContentLanguageSettingsForm' + requirements: + _permission: 'administer languages'