From 2af570af31e975a2e3ec106144b89b84b2b3bc1a Mon Sep 17 00:00:00 2001
From: Georg Ringer <georg.ringer@gmail.com>
Date: Tue, 5 Nov 2019 21:48:50 +0100
Subject: [PATCH] [TASK] Make info messages of InputSlugElement translatable

Move the info message text to a xlf file and differ between the slug of
pages and records.

Resolves: #89574
Releases: master, 9.5
Change-Id: I1d68e5b9dcca9cd2559c5e0bdbefc81c79e6b669
Reviewed-on: https://review.typo3.org/c/Packages/TYPO3.CMS/+/62199
Tested-by: Benni Mack <benni@typo3.org>
Tested-by: TYPO3com <noreply@typo3.com>
Tested-by: Andreas Fernandez <a.fernandez@scripting-base.de>
Reviewed-by: Benni Mack <benni@typo3.org>
Reviewed-by: Andreas Fernandez <a.fernandez@scripting-base.de>
---
 .../backend/Classes/Form/Element/InputSlugElement.php    | 7 +++++--
 .../core/Resources/Private/Language/locallang_core.xlf   | 9 +++++++++
 2 files changed, 14 insertions(+), 2 deletions(-)

diff --git a/typo3/sysext/backend/Classes/Form/Element/InputSlugElement.php b/typo3/sysext/backend/Classes/Form/Element/InputSlugElement.php
index c486bda9e560..3d3d54639bb4 100644
--- a/typo3/sysext/backend/Classes/Form/Element/InputSlugElement.php
+++ b/typo3/sysext/backend/Classes/Form/Element/InputSlugElement.php
@@ -105,6 +105,9 @@ class InputSlugElement extends AbstractFormElement
         $toggleButtonTitle = $this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.toggleSlugExplanation');
         $recreateButtonTitle = $this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:buttons.recreateSlugExplanation');
 
+        $successMessage = sprintf($this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:slugCreation.success.' . ($table === 'pages' ? 'page' : 'record')), $baseUrl);
+        $errorMessage = sprintf($this->getLanguageService()->sL('LLL:EXT:core/Resources/Private/Language/locallang_core.xlf:slugCreation.error'), $baseUrl);
+
         $thisSlugId = 't3js-form-field-slug-id' . StringUtility::getUniqueId();
         $mainFieldHtml = [];
         $mainFieldHtml[] = '<div class="formengine-field-item t3js-formengine-field-item">';
@@ -154,8 +157,8 @@ class InputSlugElement extends AbstractFormElement
             $mainFieldHtml[] =      '</div>';
         }
         $mainFieldHtml[] =          '<div class="form-wizards-items-bottom">';
-        $mainFieldHtml[] =              '<span class="t3js-form-proposal-accepted hidden label label-success">Congrats, this page will look like ' . htmlspecialchars($baseUrl) . '<span>/abc/</span></span>';
-        $mainFieldHtml[] =              '<span class="t3js-form-proposal-different hidden label label-warning">Hmm, that is taken, how about ' . htmlspecialchars($baseUrl) . '<span>/abc/</span></span>';
+        $mainFieldHtml[] =              '<span class="t3js-form-proposal-accepted hidden label label-success">' . htmlspecialchars($successMessage) . '<span>/abc/</span></span>';
+        $mainFieldHtml[] =              '<span class="t3js-form-proposal-different hidden label label-warning">' . htmlspecialchars($errorMessage) . '<span>/abc/</span></span>';
         $mainFieldHtml[] =              $fieldWizardHtml;
         $mainFieldHtml[] =          '</div>';
         $mainFieldHtml[] =      '</div>';
diff --git a/typo3/sysext/core/Resources/Private/Language/locallang_core.xlf b/typo3/sysext/core/Resources/Private/Language/locallang_core.xlf
index d855e47535dd..3c6789750b7c 100644
--- a/typo3/sysext/core/Resources/Private/Language/locallang_core.xlf
+++ b/typo3/sysext/core/Resources/Private/Language/locallang_core.xlf
@@ -909,6 +909,15 @@ Do you want to refresh it now?</source>
 			<trans-unit id="buttons.recreateSlugExplanation" resname="buttons.recreateSlugExplanation">
 				<source>Recalculate URL segment from page title</source>
 			</trans-unit>
+			<trans-unit id="slugCreation.success.page" resname="slugCreation.success.page">
+				<source>This page will be reachable via %s</source>
+			</trans-unit>
+			<trans-unit id="slugCreation.success.record" resname="slugCreation.success.record">
+				<source>The URL part of this record will be %s</source>
+			</trans-unit>
+			<trans-unit id="slugCreation.error" resname="slugCreation.error">
+				<source>The requested URL is already in use, but %s will be used instead</source>
+			</trans-unit>
 			<trans-unit id="cm.copy" resname="cm.copy">
 				<source>Copy</source>
 			</trans-unit>
-- 
GitLab