diff --git a/core/core.services.yml b/core/core.services.yml
index 966ed3d..84c54a9 100644
--- a/core/core.services.yml
+++ b/core/core.services.yml
@@ -672,8 +672,6 @@ services:
   string_translation:
     class: Drupal\Core\StringTranslation\TranslationManager
     arguments: ['@language_manager', '@state']
-    calls:
-      - [initLanguageManager]
     tags:
       - { name: service_collector, tag: string_translator, call: addTranslator }
   database.replica:
diff --git a/core/lib/Drupal/Core/Language/LanguageManager.php b/core/lib/Drupal/Core/Language/LanguageManager.php
index 2fd1597..76b23d1 100644
--- a/core/lib/Drupal/Core/Language/LanguageManager.php
+++ b/core/lib/Drupal/Core/Language/LanguageManager.php
@@ -20,13 +20,6 @@ class LanguageManager implements LanguageManagerInterface {
   use DependencySerializationTrait;
 
   /**
-   * The string translation service.
-   *
-   * @var \Drupal\Core\StringTranslation\TranslationInterface
-   */
-  protected $translation;
-
-  /**
    * A static cache of translated language lists.
    *
    * Array of arrays to cache the result of self::getLanguages() keyed by the
@@ -59,22 +52,6 @@ public function __construct(LanguageDefault $default_language) {
   /**
    * {@inheritdoc}
    */
-  public function setTranslation(TranslationInterface $translation) {
-    $this->translation = $translation;
-  }
-
-  /**
-   * Translates a string to the current language or to a given language.
-   *
-   * @see \Drupal\Core\StringTranslation\TranslationInterface()
-   */
-  protected function t($string, array $args = array(), array $options = array()) {
-    return $this->translation ? $this->translation->translate($string, $args, $options) : SafeMarkup::format($string, $args);
-  }
-
-  /**
-   * {@inheritdoc}
-   */
   public function isMultilingual() {
     return FALSE;
   }
@@ -187,15 +164,15 @@ public function getLanguage($langcode) {
    */
   public function getLanguageName($langcode) {
     if ($langcode == LanguageInterface::LANGCODE_NOT_SPECIFIED) {
-      return $this->t('None');
+      return new TranslationWrapper('None');
     }
     if ($language = $this->getLanguage($langcode)) {
       return $language->getName();
     }
     if (empty($langcode)) {
-      return $this->t('Unknown');
+      return new TranslationWrapper('Unknown');
     }
-    return $this->t('Unknown (@langcode)', array('@langcode' => $langcode));
+    return new TranslationWrapper('Unknown (@langcode)', array('@langcode' => $langcode));
   }
 
   /**
@@ -377,7 +354,6 @@ public function getConfigOverrideLanguage() {
     return $this->getCurrentLanguage();
   }
 
-
   /**
    * Filters the full list of languages based on the value of the flag.
    *
@@ -409,7 +385,7 @@ protected function filterLanguages(array $languages, $flags = LanguageInterface:
       $default = new Language(
         array(
           'id' => $defaultLanguage->getId(),
-          'name' => $this->t("Site's default language (@lang_name)",
+          'name' => new TranslationWrapper("Site's default language (@lang_name)",
             array('@lang_name' => $defaultLanguage->getName())),
           'direction' => $defaultLanguage->getDirection(),
           'weight' => $defaultLanguage->getWeight(),
diff --git a/core/lib/Drupal/Core/Language/LanguageManagerInterface.php b/core/lib/Drupal/Core/Language/LanguageManagerInterface.php
index b536a00..950fc69 100644
--- a/core/lib/Drupal/Core/Language/LanguageManagerInterface.php
+++ b/core/lib/Drupal/Core/Language/LanguageManagerInterface.php
@@ -16,14 +16,6 @@
 interface LanguageManagerInterface {
 
   /**
-   * Injects the string translation service.
-   *
-   * @param \Drupal\Core\StringTranslation\TranslationInterface $translation
-   *   The string translation service.
-   */
-  public function setTranslation(TranslationInterface $translation);
-
-  /**
    * Returns whether or not the site has more than one language added.
    *
    * @return bool
diff --git a/core/lib/Drupal/Core/StringTranslation/TranslationManager.php b/core/lib/Drupal/Core/StringTranslation/TranslationManager.php
index 5bf6a9d..be221ed 100644
--- a/core/lib/Drupal/Core/StringTranslation/TranslationManager.php
+++ b/core/lib/Drupal/Core/StringTranslation/TranslationManager.php
@@ -75,17 +75,6 @@ public function __construct(LanguageManagerInterface $language_manager, StateInt
   }
 
   /**
-   * Initializes the injected language manager with the translation manager.
-   *
-   * This should be called right after instantiating the translation manager to
-   * make it available to the language manager without introducing a circular
-   * dependency.
-   */
-  public function initLanguageManager() {
-    $this->languageManager->setTranslation($this);
-  }
-
-  /**
    * Appends a translation system to the translation chain.
    *
    * @param \Drupal\Core\StringTranslation\Translator\TranslatorInterface $translator
