diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Link/ActionViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Link/ActionViewHelper.php
index 95e2d27c92120d8a2efb514c04278d3c593b05b5..e5c516d70724165a043c49b3e5652de6a95b65dc 100644
--- a/typo3/sysext/fluid/Classes/ViewHelpers/Link/ActionViewHelper.php
+++ b/typo3/sysext/fluid/Classes/ViewHelpers/Link/ActionViewHelper.php
@@ -59,6 +59,7 @@ class ActionViewHelper extends AbstractTagBasedViewHelper
         $this->registerArgument('pageUid', 'int', 'Target page. See TypoLink destination');
         $this->registerArgument('pageType', 'int', 'Type of the target page. See typolink.parameter');
         $this->registerArgument('noCache', 'bool', 'Set this to disable caching for the target page. You should not need this.');
+        $this->registerArgument('language', 'string', 'link to a specific language - defaults to the current language, use a language ID or "current" to enforce a specific language', false);
         $this->registerArgument('section', 'string', 'The anchor to be added to the URI');
         $this->registerArgument('format', 'string', 'The requested format, e.g. ".html');
         $this->registerArgument('linkAccessRestrictedPages', 'bool', 'If set, links pointing to access restricted pages will still link to the page even though the page cannot be accessed.');
@@ -85,6 +86,7 @@ class ActionViewHelper extends AbstractTagBasedViewHelper
         $pageUid = (int)$this->arguments['pageUid'] ?: null;
         $pageType = (int)($this->arguments['pageType'] ?? 0);
         $noCache = (bool)($this->arguments['noCache'] ?? false);
+        $language = $this->arguments['language'] ?? null;
         $section = (string)$this->arguments['section'];
         $format = (string)$this->arguments['format'];
         $linkAccessRestrictedPages = (bool)($this->arguments['linkAccessRestrictedPages'] ?? false);
@@ -98,6 +100,7 @@ class ActionViewHelper extends AbstractTagBasedViewHelper
             ->reset()
             ->setTargetPageType($pageType)
             ->setNoCache($noCache)
+            ->setLanguage($language)
             ->setSection($section)
             ->setFormat($format)
             ->setLinkAccessRestrictedPages($linkAccessRestrictedPages)
diff --git a/typo3/sysext/fluid/Classes/ViewHelpers/Uri/ActionViewHelper.php b/typo3/sysext/fluid/Classes/ViewHelpers/Uri/ActionViewHelper.php
index 52257e7a64303ef0c0dec50edb92b1a8c288cffc..b738478a273465dc1e8c77d3d028d20f861ebb22 100644
--- a/typo3/sysext/fluid/Classes/ViewHelpers/Uri/ActionViewHelper.php
+++ b/typo3/sysext/fluid/Classes/ViewHelpers/Uri/ActionViewHelper.php
@@ -15,6 +15,7 @@
 
 namespace TYPO3\CMS\Fluid\ViewHelpers\Uri;
 
+use TYPO3\CMS\Extbase\Mvc\Web\Routing\UriBuilder;
 use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
 use TYPO3Fluid\Fluid\Core\ViewHelper\AbstractViewHelper;
 use TYPO3Fluid\Fluid\Core\ViewHelper\Traits\CompileWithRenderStatic;
@@ -50,6 +51,7 @@ class ActionViewHelper extends AbstractViewHelper
         $this->registerArgument('pageUid', 'int', 'Target page. See TypoLink destination');
         $this->registerArgument('pageType', 'int', 'Type of the target page. See typolink.parameter', false, 0);
         $this->registerArgument('noCache', 'bool', 'Set this to disable caching for the target page. You should not need this.', false, null);
+        $this->registerArgument('language', 'string', 'link to a specific language - defaults to the current language, use a language ID or "current" to enforce a specific language', false);
         $this->registerArgument('section', 'string', 'The anchor to be added to the URI', false, '');
         $this->registerArgument('format', 'string', 'The requested format, e.g. ".html', false, '');
         $this->registerArgument('linkAccessRestrictedPages', 'bool', 'If set, links pointing to access restricted pages will still link to the page even though the page cannot be accessed.', false, false);
@@ -77,6 +79,8 @@ class ActionViewHelper extends AbstractViewHelper
         $pageType = (int)($arguments['pageType'] ?? 0);
         /** @var bool $noCache */
         $noCache = (bool)($arguments['noCache'] ?? false);
+        /** @var string|null $language */
+        $language = $arguments['language'] ?? null;
         /** @var string|null $section */
         $section = $arguments['section'] ?? null;
         /** @var string|null $format */
@@ -102,6 +106,7 @@ class ActionViewHelper extends AbstractViewHelper
         /** @var array|null $arguments */
         $arguments = $arguments['arguments'] ?? [];
 
+        /** @var UriBuilder $uriBuilder */
         $uriBuilder = $renderingContext->getUriBuilder();
         $uriBuilder->reset();
 
@@ -145,6 +150,8 @@ class ActionViewHelper extends AbstractViewHelper
             $uriBuilder->setLinkAccessRestrictedPages(true);
         }
 
+        $uriBuilder->setLanguage($language);
+
         return $uriBuilder->uriFor($action, $arguments, $controller, $extensionName, $pluginName);
     }
 }