diff --git a/core/lib/Drupal/Core/Validation/DrupalTranslator.php b/core/lib/Drupal/Core/Validation/DrupalTranslator.php index 505decaff2ca8325d99305f94b7d90462c492d93..12b9594c4a6e017a23cf40d3fefe22f28d81d042 100644 --- a/core/lib/Drupal/Core/Validation/DrupalTranslator.php +++ b/core/lib/Drupal/Core/Validation/DrupalTranslator.php @@ -25,7 +25,10 @@ class DrupalTranslator implements TranslatorInterface { public function trans($id, array $parameters = [], $domain = NULL, $locale = NULL) { // If a TranslatableMarkup object is passed in as $id, return it since the // message has already been translated. - return $id instanceof TranslatableMarkup ? $id : t($id, $this->processParameters($parameters), $this->getOptions($domain, $locale)); + if ($id instanceof TranslatableMarkup) { + return $id; + } + return new TranslatableMarkup($id, $this->processParameters($parameters), $this->getOptions($domain, $locale)); } /** @@ -67,7 +70,7 @@ public function getLocale() { } /** - * Processes the parameters array for use with t(). + * Processes the parameters array for use with TranslatableMarkup. */ protected function processParameters(array $parameters) { $return = []; @@ -79,7 +82,8 @@ protected function processParameters(array $parameters) { $value = (string) $value; } if (is_object($value)) { - // t() does not work with objects being passed as replacement strings. + // TranslatableMarkup does not work with objects being passed as + // replacement strings. } // Check for symfony replacement patterns in the form "{{ name }}". elseif (strpos($key, '{{ ') === 0 && strrpos($key, ' }}') == strlen($key) - 3) { @@ -95,11 +99,12 @@ protected function processParameters(array $parameters) { } /** - * Returns options suitable for use with t(). + * Returns options suitable for use with TranslatableMarkup. */ protected function getOptions($domain = NULL, $locale = NULL) { // We do not support domains, so we ignore this parameter. - // If locale is left NULL, t() will default to the interface language. + // If locale is left NULL, TranslatableMarkup will default to the interface + // language. $locale = isset($locale) ? $locale : $this->locale; return ['langcode' => $locale]; } diff --git a/core/tests/Drupal/Tests/Core/Plugin/Context/ContextDefinitionIsSatisfiedTest.php b/core/tests/Drupal/Tests/Core/Plugin/Context/ContextDefinitionIsSatisfiedTest.php index 53d16ffe21877e81aa07c32bd77efcc22a3b128b..ce33d7fe54a9ce06cd670b32f6aa06f1d848f94e 100644 --- a/core/tests/Drupal/Tests/Core/Plugin/Context/ContextDefinitionIsSatisfiedTest.php +++ b/core/tests/Drupal/Tests/Core/Plugin/Context/ContextDefinitionIsSatisfiedTest.php @@ -342,13 +342,3 @@ public function providerTestIsSatisfiedByPassBundledEntity() { } } - -namespace Drupal\Core\Validation; - -if (!function_exists('t')) { - - function t($string, array $args = []) { - return strtr($string, $args); - } - -}