diff --git a/core/modules/language/src/EventSubscriber/LanguageRequestSubscriber.php b/core/modules/language/src/EventSubscriber/LanguageRequestSubscriber.php
index 2be967978e..66724cb42e 100644
--- a/core/modules/language/src/EventSubscriber/LanguageRequestSubscriber.php
+++ b/core/modules/language/src/EventSubscriber/LanguageRequestSubscriber.php
@@ -3,10 +3,12 @@
 namespace Drupal\language\EventSubscriber;
 
 use Drupal\Core\DrupalKernelInterface;
+use Drupal\Core\Entity\EntityTypeManagerInterface;
 use Drupal\Core\Session\AccountInterface;
 use Drupal\Core\StringTranslation\Translator\TranslatorInterface;
 use Drupal\language\ConfigurableLanguageManagerInterface;
 use Drupal\language\LanguageNegotiatorInterface;
+use Symfony\Component\HttpFoundation\RequestStack;
 use Symfony\Component\HttpKernel\KernelEvents;
 use Symfony\Component\HttpKernel\Event\RequestEvent;
 use Symfony\Component\EventDispatcher\EventSubscriberInterface;
@@ -44,6 +46,20 @@ class LanguageRequestSubscriber implements EventSubscriberInterface {
    */
   protected $currentUser;
 
+  /**
+   * The request stack.
+   *
+   * @var \Symfony\Component\HttpFoundation\RequestStack
+   */
+  protected $requestStack;
+
+  /**
+   * The entity type manager.
+   *
+   * @var \Drupal\Core\Entity\EntityTypeManagerInterface
+   */
+  protected $entityTypeManager;
+
   /**
    * Constructs a LanguageRequestSubscriber object.
    *
@@ -55,12 +71,18 @@ class LanguageRequestSubscriber implements EventSubscriberInterface {
    *   The translation service.
    * @param \Drupal\Core\Session\AccountInterface $current_user
    *   The current active user.
+   * @param \Symfony\Component\HttpFoundation\RequestStack $request_stack
+   *   The request stack.
+   * @param \Drupal\Core\Entity\EntityTypeManagerInterface $entity_type_manager
+   *   The entity type manager.
    */
-  public function __construct(ConfigurableLanguageManagerInterface $language_manager, LanguageNegotiatorInterface $negotiator, TranslatorInterface $translation, AccountInterface $current_user) {
+  public function __construct(ConfigurableLanguageManagerInterface $language_manager, LanguageNegotiatorInterface $negotiator, TranslatorInterface $translation, AccountInterface $current_user, RequestStack $request_stack, EntityTypeManagerInterface $entity_type_manager) {
     $this->languageManager = $language_manager;
     $this->negotiator = $negotiator;
     $this->translation = $translation;
     $this->currentUser = $current_user;
+    $this->requestStack = $request_stack;
+    $this->entityTypeManager = $entity_type_manager;
   }
 
   /**
@@ -86,6 +108,16 @@ public function onContainerInitializeSubrequestFinished() {
    * Sets the language for config overrides on the language manager.
    */
   private function setLanguageOverrides() {
+    if ($this->currentUser->isAnonymous()) {
+      $uri = $this->requestStack->getCurrentRequest()->getRequestUri();
+      if (preg_match('/^\/user\/reset\/(\d+)$/', $uri, $matches)) {
+        $account = $this->entityTypeManager->getStorage('user')
+          ->load($matches[1]);
+        if ($account) {
+          $this->currentUser = $account;
+        }
+      }
+    }
     $this->negotiator->setCurrentUser($this->currentUser);
     if ($this->languageManager instanceof ConfigurableLanguageManagerInterface) {
       $this->languageManager->setNegotiator($this->negotiator);
diff --git a/core/modules/language/src/LanguageServiceProvider.php b/core/modules/language/src/LanguageServiceProvider.php
index 492eda38a7..f68ce4a826 100644
--- a/core/modules/language/src/LanguageServiceProvider.php
+++ b/core/modules/language/src/LanguageServiceProvider.php
@@ -26,7 +26,9 @@ public function register(ContainerBuilder $container) {
         ->addArgument(new Reference('language_manager'))
         ->addArgument(new Reference('language_negotiator'))
         ->addArgument(new Reference('string_translation'))
-        ->addArgument(new Reference('current_user'));
+        ->addArgument(new Reference('current_user'))
+        ->addArgument(new Reference('request_stack'))
+        ->addArgument(new Reference('entity_type.manager'));
 
       $container->register('path_processor_language', 'Drupal\language\HttpKernel\PathProcessorLanguage')
         ->addTag('path_processor_inbound', ['priority' => 300])
