diff --git a/Classes/Controller/MailController.php b/Classes/Controller/MailController.php index 875b3f8f598b7859507a11d43406daaf939b316f..ab6e7e41026c03782324fe99a4887cb2ddf233ac 100644 --- a/Classes/Controller/MailController.php +++ b/Classes/Controller/MailController.php @@ -38,6 +38,7 @@ use TYPO3\CMS\Core\Utility\VersionNumberUtility; use TYPO3\CMS\Extbase\Mvc\Controller\ActionController; use TYPO3\CMS\Extbase\Object\ObjectManager; use TYPO3\CMS\Extbase\Utility\LocalizationUtility; +use TYPO3\CMS\Lang\LanguageService; /** * Controller for the mail templating service module @@ -157,8 +158,18 @@ class MailController extends ActionController { $templateFromFile = new Template(); $templateFromFile->setLanguage($key); $templates[$key] = $templateFromFile; - + if (\strpos($subject, 'LLL:') === 0) { + /** + * @var $languageService LanguageService + */ + $languageService = GeneralUtility::makeInstance(LanguageService::class); + // initialize the language service with the templates language + $languageService->init($key); + $subject = $languageService->sL($subject); + unset($languageService); + } $templateFromFile->setSubject($subject); + $subject = $registerArray[$parameters['selectedExtension']][$parameters['selectedTemplate']]['subject']; if (file_exists($defaultTemplateFile)) { $templateFromFile->setContent(file_get_contents($defaultTemplateFile)); } else { @@ -224,7 +235,7 @@ class MailController extends ActionController { $this->view->assign('beUserMail', $GLOBALS['BE_USER']->user['email']); // get the default language label and pass it to the view - $languageService = $GLOBALS['LANG']; + $languageService = $this->getLanguageService(); $pageTsConfig = BackendUtility::getPagesTSconfig($pageUid); if (VersionNumberUtility::convertVersionNumberToInteger(TYPO3_version) >= 8000000) { $defaultLanguageLabel = $languageService->sL( @@ -358,4 +369,13 @@ class MailController extends ActionController { $arguments = $this->request->getArguments(); $this->redirect('index', NULL, NULL, $arguments); } + + /** + * Get the LanguageService + * + * @return LanguageService + */ + protected function getLanguageService(): LanguageService { + return $GLOBALS['LANG']; + } }