From fc45b90ea3e89c083769744071675f168df37aab Mon Sep 17 00:00:00 2001
From: Alex Pott <alex.a.pott@googlemail.com>
Date: Tue, 22 Sep 2015 22:29:51 +0200
Subject: [PATCH] Issue #2572599 by stefan.r, dawehner, pwolanin, amateescu:
 Replace !placeholder with @placeholder in a few remaining places

---
 core/includes/install.inc                     | 20 ++++++++++++-------
 .../FieldWidget/DateTimeDatelistWidget.php    |  6 +++---
 .../src/Plugin/Derivative/LanguageBlock.php   |  2 +-
 .../modules/migrate/src/MigrateExecutable.php |  4 ++--
 4 files changed, 19 insertions(+), 13 deletions(-)

diff --git a/core/includes/install.inc b/core/includes/install.inc
index 08f6ede1b402..4a2b41bbbee7 100644
--- a/core/includes/install.inc
+++ b/core/includes/install.inc
@@ -549,16 +549,22 @@ function drupal_verify_profile($install_state) {
 
   $requirements = array();
 
-  if (count($missing_modules)) {
-    $modules = array();
+  if ($missing_modules) {
+    $build = [
+      '#theme' => 'item_list',
+      '#context' => ['list_style' => 'comma-list'],
+    ];
+
     foreach ($missing_modules as $module) {
-      $modules[] = '<span class="admin-missing">' . Unicode::ucfirst($module) . '</span>';
+      $build['#items'][] = array('#markup' => '<span class="admin-missing">' . Unicode::ucfirst($module) . '</span>');
     }
+
+    $modules_list = \Drupal::service('renderer')->renderPlain($build);
     $requirements['required_modules'] = array(
-      'title'       => t('Required modules'),
-      'value'       => t('Required modules not found.'),
-      'severity'    => REQUIREMENT_ERROR,
-      'description' => t('The following modules are required but were not found. Move them into the appropriate modules subdirectory, such as <em>/modules</em>. Missing modules: !modules', array('!modules' => implode(', ', $modules))),
+      'title' => t('Required modules'),
+      'value' => t('Required modules not found.'),
+      'severity' => REQUIREMENT_ERROR,
+      'description' => t('The following modules are required but were not found. Move them into the appropriate modules subdirectory, such as <em>/modules</em>. Missing modules: @modules', array('@modules' => $modules_list)),
     );
   }
   return $requirements;
diff --git a/core/modules/datetime/src/Plugin/Field/FieldWidget/DateTimeDatelistWidget.php b/core/modules/datetime/src/Plugin/Field/FieldWidget/DateTimeDatelistWidget.php
index 6b38584d03b1..3e4a2efea356 100644
--- a/core/modules/datetime/src/Plugin/Field/FieldWidget/DateTimeDatelistWidget.php
+++ b/core/modules/datetime/src/Plugin/Field/FieldWidget/DateTimeDatelistWidget.php
@@ -141,10 +141,10 @@ function settingsForm(array $form, FormStateInterface $form_state) {
   public function settingsSummary() {
     $summary = array();
 
-    $summary[] = t('Date part order: !order', array('!order' => $this->getSetting('date_order')));
+    $summary[] = t('Date part order: @order', array('@order' => $this->getSetting('date_order')));
     if ($this->getFieldSetting('datetime_type') == 'datetime') {
-      $summary[] = t('Time type: !time_type', array('!time_type' => $this->getSetting('time_type')));
-      $summary[] = t('Time increments: !increment', array('!increment' => $this->getSetting('increment')));
+      $summary[] = t('Time type: @time_type', array('@time_type' => $this->getSetting('time_type')));
+      $summary[] = t('Time increments: @increment', array('@increment' => $this->getSetting('increment')));
     }
 
     return $summary;
diff --git a/core/modules/language/src/Plugin/Derivative/LanguageBlock.php b/core/modules/language/src/Plugin/Derivative/LanguageBlock.php
index 3c54c257b699..34313c484e97 100644
--- a/core/modules/language/src/Plugin/Derivative/LanguageBlock.php
+++ b/core/modules/language/src/Plugin/Derivative/LanguageBlock.php
@@ -26,7 +26,7 @@ public function getDerivativeDefinitions($base_plugin_definition) {
       $configurable_types = $language_manager->getLanguageTypes();
       foreach ($configurable_types as $type) {
         $this->derivatives[$type] = $base_plugin_definition;
-        $this->derivatives[$type]['admin_label'] = t('Language switcher (!type)', array('!type' => $info[$type]['name']));
+        $this->derivatives[$type]['admin_label'] = t('Language switcher (@type)', array('@type' => $info[$type]['name']));
       }
       // If there is just one configurable type then change the title of the
       // block.
diff --git a/core/modules/migrate/src/MigrateExecutable.php b/core/modules/migrate/src/MigrateExecutable.php
index d2762ade2933..8a42bc9036b5 100644
--- a/core/modules/migrate/src/MigrateExecutable.php
+++ b/core/modules/migrate/src/MigrateExecutable.php
@@ -148,8 +148,8 @@ public function __construct(MigrationInterface $migration, MigrateMessageInterfa
             break;
           default:
             $limit = PHP_INT_MAX;
-            $this->message->display($this->t('Invalid PHP memory_limit !limit, setting to unlimited.',
-              array('!limit' => $limit)));
+            $this->message->display($this->t('Invalid PHP memory_limit @limit, setting to unlimited.',
+              array('@limit' => $limit)));
         }
       }
       $this->memoryLimit = $limit;
-- 
GitLab