diff --git a/core/modules/config_translation/config_translation.api.php b/core/modules/config_translation/config_translation.api.php
index e6ca187..8878c34 100644
--- a/core/modules/config_translation/config_translation.api.php
+++ b/core/modules/config_translation/config_translation.api.php
@@ -34,9 +34,9 @@ function hook_config_translation_group_info() {
$items[] = new ConfigGroupMapper('admin/config/development/otherconfig', t('My module additional settings'), array('mymodule.other_key', 'mymodule.yet_another_key'), MENU_LOCAL_TASK, TRUE);
// Provide menu path with path position for entity placeholder, entity
- // machine name, title with @label placeholder for the entity and config name
- // prefix for storage. Optionally provide the created menu item type and
- // whether to include an additional edit tab.
+ // machine name, title with @label placeholder for the entity and
+ // configuration name prefix for storage. Optionally provide the created menu
+ // item type and whether to include an additional edit tab.
$items[] = new ConfigEntityMapper('admin/config/development/myconfig/list/%myentity', 5, 'myentity', t('@label my entity'), 'myentity.entity');
return $items;
}
diff --git a/core/modules/config_translation/config_translation.module b/core/modules/config_translation/config_translation.module
index 0960018..cf17244 100644
--- a/core/modules/config_translation/config_translation.module
+++ b/core/modules/config_translation/config_translation.module
@@ -72,36 +72,12 @@ function config_translation_theme() {
return array(
'config_translation_manage_form_element' => array(
'render element' => 'element',
+ 'template' => 'config_translation_manage_form_element',
),
);
}
/**
- * Returns HTML for translation manage element.
- *
- * @param array $variables
- * An associative array containing:
- * - element: The element that contains the source and translation childs
- *
- * @see ConfigTranslationManageForm::buildConfigForm
- * @ingroup themeable
- */
-function theme_config_translation_manage_form_element($variables){
- $element = $variables['element'];
- $result = '
-
-
- ' . drupal_render($element['source']) . '
-
-
- ' . drupal_render($element['translation']) . '
-
-
- ';
- return $result;
-}
-
-/**
* Returns TRUE if a configuration key has schema coverage.
*
* @param string $name
@@ -173,7 +149,7 @@ function config_translation_original_langcode($name) {
}
/**
- * Checks whether a language has config translation.
+ * Checks whether a language has configuration translation.
*
* @param string $name
* Configuration name.
@@ -181,7 +157,7 @@ function config_translation_original_langcode($name) {
* A language object.
*
* @return bool
- * A boolean indicating if a language has config translations.
+ * A boolean indicating if a language has configuration translations.
*/
function config_translation_exists($name, Language $language) {
$config_translation = config('locale.config.' . $language->id . '.' . $name)->get();
@@ -228,18 +204,48 @@ function config_translation_config_translation_group_info() {
// Contact.
$items[] = new ConfigEntityMapper('admin/structure/contact/manage/{contact_category}', 'contact_category', t('@label contact category'));
+ // Content types.
+ $items[] = new ConfigEntityMapper('admin/structure/types/manage/{node_type}', 'node_type', t('@label content type'), MENU_CALLBACK);
+
+ // Date format.
+ $items[] = new ConfigEntityMapper('admin/config/regional/date-time/formats/manage/{date_format}', 'date_format', t('@label date format'));
+
+ // Fields.
+ $entity_manager = Drupal::entityManager();
+ foreach ($entity_manager->getDefinitions() as $entity_type => $entity_info) {
+ // Make sure entity type is fieldable and has base path.
+ if ($entity_info['fieldable'] && isset($entity_info['route_base_path'])) {
+ // Get all available bundles available for this entity type.
+ foreach (entity_get_bundles($entity_type) as $bundle => $bundle_info) {
+ if ($path = $entity_manager->getAdminPath($entity_type, $bundle)) {
+ $items[] = new ConfigEntityMapper($path . '/fields/{field_instance}' , 'field_instance', t('@label field'), MENU_CALLBACK);
+ }
+ }
+ }
+ }
+
// Filter.
$items[] = new ConfigEntityMapper('admin/config/content/formats/manage/{filter_format}', 'filter_format', t('@label text format'), MENU_LOCAL_TASK, TRUE);
+ // Images.
+ $items[] = new ConfigEntityMapper('admin/config/media/image-styles/manage/{image_style}', 'image_style', t('@label image style'), MENU_LOCAL_TASK);
+
+ // Language.
+ $items[] = new ConfigEntityMapper('admin/config/regional/language/edit/{language_entity}', 'language_entity', t('@label language'), MENU_CALLBACK);
+
// Menu.
$items[] = new ConfigEntityMapper('admin/structure/menu/manage/{menu}', 'menu', t('@label menu'));
+ // Picture.
+ $items[] = new ConfigEntityMapper('admin/config/media/picturemapping/{picture_mapping}', 'picture_mapping', t('@label picture mapping'), MENU_LOCAL_TASK);
+
// Shortcut.
- $items[] = new ConfigEntityMapper('admin/config/user-interface/shortcut/manage/{shortcut}', 'shortcut', t('@label shortcut set'));
+ $items[] = new ConfigEntityMapper('admin/config/user-interface/shortcut/manage/{shortcut_set}', 'shortcut_set', t('@label shortcut set'));
// System.
$items[] = new ConfigGroupMapper('admin/config/development/maintenance', t('System maintenance'), array('system.maintenance'), MENU_LOCAL_TASK, TRUE);
$items[] = new ConfigGroupMapper('admin/config/system/site-information', t('Site information'), array('system.site'), MENU_LOCAL_TASK, TRUE);
+ $items[] = new ConfigGroupMapper('admin/config/services/rss-publishing', t('RSS publishing'), array('system.rss'), MENU_LOCAL_TASK, TRUE);
// Taxonomy.
$items[] = new ConfigEntityMapper('admin/structure/taxonomy/manage/{taxonomy_vocabulary}', 'taxonomy_vocabulary', t('@label vocabulary'));
@@ -251,23 +257,6 @@ function config_translation_config_translation_group_info() {
// Views.
$items[] = new ConfigEntityMapper('admin/structure/views/view/{view}', 'view', t('@label view'), MENU_CALLBACK);
- // Language.
- $items[] = new ConfigEntityMapper('admin/config/regional/language/edit/{language_entity}', 'language_entity', t('@label view'), MENU_CALLBACK);
-
- // Fields.
- $entity_manager = Drupal::entityManager();
- foreach ($entity_manager->getDefinitions() as $entity_type => $entity_info) {
- // Make sure entity type is fieldable and has base path.
- if ($entity_info['fieldable'] && isset($entity_info['route_base_path'])) {
- // Get all available bundles available for this entity type.
- foreach (entity_get_bundles($entity_type) as $bundle => $bundle_info) {
- if ($path = $entity_manager->getAdminPath($entity_type, $bundle)) {
- $items[] = new ConfigEntityMapper($path . '/fields/{field_instance}' , 'field_instance', t('@label field'), MENU_CALLBACK);
- }
- }
- }
- }
-
return $items;
}
@@ -285,28 +274,3 @@ function config_translation_entity_operation_alter(array &$operations, \Drupal\C
);
}
}
-
-/**
- * Alters form operations since there is no operations API.
- *
- * @todo Rework this in favor of an operations API. See
- * http://drupal.org/node/2004428
- */
-function config_translation_form_alter(&$form, &$form_state, $form_id) {
- if (!user_access('translate configuration')) {
- // Do not alter forms with links to translations, if no access.
- return;
- }
-
- // Alter the blocks form to add translation links.
- if ($form_id == 'block_admin_display_form') {
- foreach ($form['blocks'] as $id => &$block) {
- if (is_array($block) && isset($block['operations'])) {
- $block['operations']['#links']['translate'] = array(
- 'title' => t('Translate'),
- 'href' => 'admin/structure/block/manage/' . $id . '/translate',
- );
- }
- }
- }
-}
diff --git a/core/modules/config_translation/lib/Drupal/config_translation/Access/ConfigNameCheck.php b/core/modules/config_translation/lib/Drupal/config_translation/Access/ConfigNameCheck.php
index 5281883..e068181 100644
--- a/core/modules/config_translation/lib/Drupal/config_translation/Access/ConfigNameCheck.php
+++ b/core/modules/config_translation/lib/Drupal/config_translation/Access/ConfigNameCheck.php
@@ -12,7 +12,7 @@
use Symfony\Component\HttpFoundation\Request;
/**
- * Checks access for displaying config translation page.
+ * Checks access for displaying configuration translation page.
*/
class ConfigNameCheck implements AccessCheckInterface {
@@ -38,11 +38,10 @@ public function access(Route $route, Request $request) {
$language = language_load($request->query->get('langcode'));
}
-
// Only allow access to translate configuration, if proper permissions are
// granted, the configuration has translatable pieces, the source language
// and target language are not locked, and the target language is not the
- // original submission language. Although technically config can be
+ // original submission language. Although technically configuration can be
// overlayed with translations in the same language, that is logically not
// a good idea.
return (
diff --git a/core/modules/config_translation/lib/Drupal/config_translation/ConfigEntityMapper.php b/core/modules/config_translation/lib/Drupal/config_translation/ConfigEntityMapper.php
index 69bf07c..bed5a50 100644
--- a/core/modules/config_translation/lib/Drupal/config_translation/ConfigEntityMapper.php
+++ b/core/modules/config_translation/lib/Drupal/config_translation/ConfigEntityMapper.php
@@ -108,9 +108,9 @@ public function getMenuItemType() {
* {@inheritdoc}
*/
public function getConfigGroup($arg = NULL) {
- // In this implementation, $arg is the config entity loaded via the menu
- // (for contact module for example) or a string (config entity ID), in
- // which case we need to load the entity (for views for example).
+ // In this implementation, $arg is the configuration entity loaded via the
+ // menu (for contact module for example) or a string (configuration entity
+ // ID), in which case we need to load the entity (for views for example).
if (!isset($arg)) {
return NULL;
}
@@ -127,7 +127,7 @@ public function getConfigGroup($arg = NULL) {
// Replace entity label in template title.
$title = format_string($this->title, array('@label' => $entity->label()));
- // The list of config IDs belonging to this entity.
+ // The list of configuration IDs belonging to this entity.
$entity_type_info = entity_get_info($this->entityType);
$names = array($entity_type_info['config_prefix'] . '.' . $entity->id());
diff --git a/core/modules/config_translation/lib/Drupal/config_translation/ConfigGroupMapper.php b/core/modules/config_translation/lib/Drupal/config_translation/ConfigGroupMapper.php
index 3d993c0..44c83aa 100644
--- a/core/modules/config_translation/lib/Drupal/config_translation/ConfigGroupMapper.php
+++ b/core/modules/config_translation/lib/Drupal/config_translation/ConfigGroupMapper.php
@@ -126,7 +126,7 @@ public function getMenuItemType() {
* {@inheritdoc}
*/
public function getConfigGroup($arg = NULL) {
- // This is already a config group.
+ // This is a ConfigGroupMapper already.
return $this;
}
diff --git a/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationController.php b/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationController.php
index a3f601f..bf07df0 100644
--- a/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationController.php
+++ b/core/modules/config_translation/lib/Drupal/config_translation/Controller/ConfigTranslationController.php
@@ -18,7 +18,7 @@
use Symfony\Component\HttpFoundation\Request;
/**
- * Provides page callbacks for the config translation interface.
+ * Provides page callbacks for the configuration translation interface.
*/
class ConfigTranslationController implements ControllerInterface {
@@ -166,7 +166,7 @@ public function itemTranslatePage(Request $request, $action, ConfigMapperInterfa
break;
}
- // Make sure we are in the override free config context. For example,
+ // Make sure we are in the override free configuration context. For example,
// visiting the configuration page in another language would make those
// language overrides active by default. But we need the original values.
config_context_enter('config.context.free');
@@ -202,7 +202,7 @@ public function itemDeletePage(Request $request, ConfigMapperInterface $mapper)
}
/**
- * Gets the config group.
+ * Gets the configuration group.
*
* @param \Symfony\Component\HttpFoundation\Request $request
* Page request object.
@@ -210,7 +210,7 @@ public function itemDeletePage(Request $request, ConfigMapperInterface $mapper)
* Configuration mapper.
*
* @return \Drupal\config_translation\ConfigGroupMapper
- * The config group.
+ * The configuration group.
*/
protected function getConfigGroup(Request $request, ConfigMapperInterface $mapper) {
// Get configuration group for this mapper.
diff --git a/core/modules/config_translation/lib/Drupal/config_translation/Form/ConfigTranslationDeleteForm.php b/core/modules/config_translation/lib/Drupal/config_translation/Form/ConfigTranslationDeleteForm.php
index a4c9905..a1d647b 100644
--- a/core/modules/config_translation/lib/Drupal/config_translation/Form/ConfigTranslationDeleteForm.php
+++ b/core/modules/config_translation/lib/Drupal/config_translation/Form/ConfigTranslationDeleteForm.php
@@ -14,19 +14,19 @@
use Symfony\Component\Routing\Route;
/**
- * Builds a form to delete config translation.
+ * Builds a form to delete configuration translation.
*/
class ConfigTranslationDeleteForm extends ConfirmFormBase {
/**
- * The group of config translation to be deleted.
+ * The group of configuration translation to be deleted.
*
* @var \Drupal\config_translation\ConfigMapperInterface
*/
protected $group;
/**
- * The language of config translation.
+ * The language of configuration translation.
*
* @var \Drupal\Core\Language\Language
*/
@@ -78,7 +78,7 @@ public function submitForm(array &$form, array &$form_state) {
$storage->delete('locale.config.' . $this->language->id . '.' . $name);
}
// @todo Do we need to flush caches with drupal_flush_all_caches()? The
- // config change may affect page display.
+ // configuration change may affect page display.
drupal_set_message(t('@language translation of %label was deleted', array('%label' => $this->group->getTitle(), '@language' => $this->language->name)));
$form_state['redirect'] = $this->group->getBasePath() . '/translate';
diff --git a/core/modules/config_translation/lib/Drupal/config_translation/Form/ConfigTranslationManageForm.php b/core/modules/config_translation/lib/Drupal/config_translation/Form/ConfigTranslationManageForm.php
index 6c74162..bad96f3 100644
--- a/core/modules/config_translation/lib/Drupal/config_translation/Form/ConfigTranslationManageForm.php
+++ b/core/modules/config_translation/lib/Drupal/config_translation/Form/ConfigTranslationManageForm.php
@@ -77,11 +77,11 @@ public function getFormID() {
* language.
*
* @param \Drupal\config_translation\ConfigMapperInterface $group
- * The config group the form is being built for.
+ * The configuration group the form is being built for.
* @param Language $language
* The language the form is adding or editing.
* @param array $base_config_data
- * The base config in the source language.
+ * The base configuration in the source language.
*/
public function buildForm(array $form, array &$form_state, ConfigMapperInterface $group = NULL, Language $language = NULL, array $base_config_data = NULL) {
$this->group = $group;
@@ -119,14 +119,14 @@ public function submitForm(array &$form, array &$form_state) {
config_context_enter('config.context.free');
foreach ($this->group->getNames() as $id => $name) {
- // Set config values based on form submission and source values.
+ // Set configuration values based on form submission and source values.
$base_config = config($name);
$translation_config = config('locale.config.' . $this->language->id . '.' . $name);
$locations = $this->localeStorage->getLocations(array('type' => 'configuration', 'name' => $name));
$this->setConfig($this->language, $base_config, $translation_config, $form_values[$id], !empty($locations));
- // If no overrides, delete language specific config file.
+ // If no overrides, delete language specific configuration file.
$saved_config = $translation_config->get();
if (empty($saved_config)) {
$translation_config->delete();
@@ -219,7 +219,7 @@ protected function buildConfigForm($schema, $config_data, $base_config_data, $co
);
$build[$element_key]['source'] = array(
'#markup' => $base_config_data[$key] ? ('' . nl2br($base_config_data[$key] . '')) : t('(Empty)'),
- '#title' => t($definition['label']) . ' ('. $this->sourceLanguage->name . ')',
+ '#title' => t($definition['label']) . ' ('. $this->sourceLanguage->name . ')',
'#type' => 'item',
);
@@ -231,7 +231,7 @@ protected function buildConfigForm($schema, $config_data, $base_config_data, $co
$build[$element_key]['translation'] = array(
'#type' => $this->getFormElementType($definition['type']),
'#default_value' => $value,
- '#title' => t($definition['label']) . ' (' . $this->language->name . ')',
+ '#title' => t($definition['label']) . ' (' . $this->language->name . ')',
'#rows' => $rows,
'#attributes' => array('lang' => $this->language->id),
);
@@ -244,7 +244,7 @@ protected function buildConfigForm($schema, $config_data, $base_config_data, $co
* Sets configuration based on a nested form value array.
*
* @param \Drupal\Core\Language\Language $language
- * Set the config in this language.
+ * Set the configuration in this language.
* @param \Drupal\Core\Config\Config $base_config
* Base configuration values, in the source language.
* @param \Drupal\Core\Config\Config $translation_config
@@ -273,9 +273,9 @@ protected function setConfig(Language $language, Config $base_config, Config $tr
}
else {
- // If the config file being translated was originally shipped, we should
- // update the locale translation storage. The string should already be
- // there, but we make sure to check.
+ // If the configuration file being translated was originally shipped, we
+ // should update the locale translation storage. The string should
+ // already be there, but we make sure to check.
if ($shipped_config && $source_string = $this->localeStorage->findString(array('source' => $base_config->get($key)))) {
// Get the translation for this original source string from locale.
diff --git a/core/modules/config_translation/lib/Drupal/config_translation/Tests/ConfigTranslationListUITest.php b/core/modules/config_translation/lib/Drupal/config_translation/Tests/ConfigTranslationListUITest.php
index 75f958b..f11aa3c 100644
--- a/core/modules/config_translation/lib/Drupal/config_translation/Tests/ConfigTranslationListUITest.php
+++ b/core/modules/config_translation/lib/Drupal/config_translation/Tests/ConfigTranslationListUITest.php
@@ -31,6 +31,8 @@ class ConfigTranslationListUITest extends WebTestBase {
'menu',
'shortcut',
'taxonomy',
+ 'image',
+ 'picture',
);
public static function getInfo() {
@@ -55,6 +57,7 @@ public function setUp() {
'access site-wide contact form',
'administer blocks',
'administer contact forms',
+ 'administer content types',
'administer filters',
'administer menu',
'administer permissions',
@@ -63,6 +66,8 @@ public function setUp() {
'administer taxonomy',
'administer users',
'administer languages',
+ 'administer image styles',
+ 'administer pictures',
'translate configuration',
);
@@ -91,10 +96,8 @@ protected function doBlockListTest() {
$this->assertLinkByHref($translate_link);
// Test if the link to translate actually goes to the translate page.
- // @todo does not work yet, see https://drupal.org/node/2027857 When it is
- // fixed, uncomment the tests below.
- //$this->drupalGet($translate_link);
- //$this->assertRaw('' . t('Language') . ' | ');
+ $this->drupalGet($translate_link);
+ $this->assertRaw('' . t('Language') . ' | ');
}
/**
@@ -221,6 +224,31 @@ function doContactFormsListTest() {
$this->assertRaw('' . t('Language') . ' | ');
}
+
+ /**
+ * Tests the content type listing for the translate operation.
+ */
+ function doContentTypeListTest() {
+ // Create a test content type to decouple looking for translate operations
+ // link so this does not test more than necessary.
+ $content_type = entity_create('node_type', array(
+ 'type' => Unicode::strtolower($this->randomName(16)),
+ 'name' => $this->randomName(),
+ ));
+ $content_type->save();
+
+ // Get the content type listing.
+ $this->drupalGet('admin/structure/types');
+
+ $translate_link = 'admin/structure/types/manage/' . $content_type->id() . '/translate';
+ // Test if the link to translate the content type is on the page.
+ $this->assertLinkByHref($translate_link);
+
+ // Test if the link to translate actually goes to the translate page.
+ $this->drupalGet($translate_link);
+ $this->assertRaw('' . t('Language') . ' | ');
+ }
+
/**
* Tests the formats listing for the translate operation.
*/
@@ -251,7 +279,7 @@ function doFormatsListTest() {
function doShortcutListTest() {
// Create a test shortcut to decouple looking for translate operations
// link so this does not test more than necessary.
- $shortcut = entity_create('shortcut', array(
+ $shortcut = entity_create('shortcut_set', array(
'id' => Unicode::strtolower($this->randomName(16)),
'label' => $this->randomString(),
));
@@ -302,14 +330,68 @@ function doLanguageListTest() {
// Get the language listing.
$this->drupalGet('admin/config/regional/language');
- // @todo does not work yet, see https://drupal.org/node/2005778#comment-7599069
- //$translate_link = 'admin/config/regional/language/edit/ga/translate';
+ $translate_link = 'admin/config/regional/language/edit/ga/translate';
// Test if the link to translate the language is on the page.
- //$this->assertLinkByHref($translate_link);
+ $this->assertLinkByHref($translate_link);
// Test if the link to translate actually goes to the translate page.
- //$this->drupalGet($translate_link);
- //$this->assertRaw('' . t('Language') . ' | ');
+ $this->drupalGet($translate_link);
+ $this->assertRaw('' . t('Language') . ' | ');
+ }
+
+ /**
+ * Tests the image style listing for the translate operation.
+ */
+ function doImageStyleListTest() {
+ // Get the image style listing.
+ $this->drupalGet('admin/config/media/image-styles');
+
+ $translate_link = 'admin/config/media/image-styles/manage/medium/translate';
+ // Test if the link to translate the style is on the page.
+ $this->assertLinkByHref($translate_link);
+
+ // Test if the link to translate actually goes to the translate page.
+ $this->drupalGet($translate_link);
+ $this->assertRaw('' . t('Language') . ' | ');
+ }
+
+ /**
+ * Tests the picture mapping listing for the translate operation.
+ */
+ function doPictureListTest() {
+ $edit = array();
+ $edit['label'] = $this->randomName();
+ $edit['id'] = strtolower($edit['label']);
+
+ $this->drupalPost('admin/config/media/picturemapping/add', $edit, t('Save'));
+ $this->assertRaw(t('Picture mapping %label saved.', array('%label' => $edit['label'])));
+
+ // Get the picture mapping listing.
+ $this->drupalGet('admin/config/media/picturemapping');
+
+ $translate_link = 'admin/config/media/picturemapping/' . $edit['id'] . '/translate';
+ // Test if the link to translate the style is on the page.
+ $this->assertLinkByHref($translate_link);
+
+ // Test if the link to translate actually goes to the translate page.
+ $this->drupalGet($translate_link);
+ $this->assertRaw('' . t('Language') . ' | ');
+ }
+
+ /**
+ * Tests the date format listing for the translate operation.
+ */
+ function doDateFormatListTest() {
+ // Get the date format listing.
+ $this->drupalGet('admin/config/regional/date-time');
+
+ $translate_link = 'admin/config/regional/date-time/formats/manage/long/translate';
+ // Test if the link to translate the format is on the page.
+ $this->assertLinkByHref($translate_link);
+
+ // Test if the link to translate actually goes to the translate page.
+ $this->drupalGet($translate_link);
+ $this->assertRaw('' . t('Language') . ' | ');
}
/**
@@ -331,8 +413,8 @@ function doSettingsPageTest($link) {
$this->assertRaw('' . t('Language') . ' | ');
}
- /*
- * Tests all lists of config to see if translate link is added to operations.
+ /**
+ * Tests if translate link is added to operations in all configuration lists.
*/
public function testTranslateOperationInListUI() {
@@ -343,10 +425,16 @@ public function testTranslateOperationInListUI() {
$this->doVocabularyListTest();
$this->doCustomBlockTypeListTest();
$this->doContactFormsListTest();
+ $this->doContentTypeListTest();
$this->doFormatsListTest();
$this->doShortcutListTest();
$this->doUserRoleListTest();
$this->doLanguageListTest();
+ $this->doImageStyleListTest();
+ $this->doPictureListTest();
+ $this->doDateFormatListTest();
+
+ // Views is tested in Drupal\config_translation\Tests\ConfigTranslationViewListUITest
// Test the maintenance settings page.
$this->doSettingsPageTest('admin/config/development/maintenance');
@@ -354,6 +442,8 @@ public function testTranslateOperationInListUI() {
$this->doSettingsPageTest('admin/config/system/site-information');
// Test the account settings page.
$this->doSettingsPageTest('admin/config/people/accounts');
+ // Test the RSS settings page.
+ $this->doSettingsPageTest('admin/config/services/rss-publishing');
}
diff --git a/core/modules/config_translation/lib/Drupal/config_translation/Tests/ConfigTranslationUITest.php b/core/modules/config_translation/lib/Drupal/config_translation/Tests/ConfigTranslationUITest.php
index c7f1a0b..16c8819 100644
--- a/core/modules/config_translation/lib/Drupal/config_translation/Tests/ConfigTranslationUITest.php
+++ b/core/modules/config_translation/lib/Drupal/config_translation/Tests/ConfigTranslationUITest.php
@@ -186,7 +186,7 @@ function testSourceValueDuplicateSave() {
function testContactConfigEntityTranslation() {
$this->drupalGet('admin/structure/contact');
- // Check for default contact form config entity from Contact module.
+ // Check for default contact form configuration entity from Contact module.
$this->assertLinkByHref('admin/structure/contact/manage/feedback');
// Save default language configuration.
@@ -238,9 +238,9 @@ function testContactConfigEntityTranslation() {
/**
* Tests the account settings translation interface.
*
- * This is the only special case so far where we have multiple config names
- * involved building up one configuration translation form. Test that the
- * translations are saved for all configuration names properly.
+ * This is the only special case so far where we have multiple configuration
+ * names involved building up one configuration translation form. Test that
+ * the translations are saved for all configuration names properly.
*/
function testAccountSettingsConfigurationTranslation() {
$this->drupalGet('admin/config/people/accounts/translate');
@@ -297,7 +297,7 @@ function testSourceAndTargetLanguage() {
->set('langcode', Language::LANGCODE_NOT_SPECIFIED)
->save();
- // Make sure translation tab does not exist on the config page.
+ // Make sure translation tab does not exist on the configuration page.
$this->drupalGet('admin/config/system/site-information');
$this->assertNoLinkByHref('admin/config/system/site-information/translate');
@@ -420,7 +420,7 @@ function testSingleLanguageUI() {
* @param $config_name
* Configuration object.
* @param $key
- * Translation config field key.
+ * Translation configuration field key.
* @param $langcode
* String language code to load translation.
*