From e5327097ba2c02cac470e60a87aa48d60b5a8183 Mon Sep 17 00:00:00 2001 From: Christian Flothmann Date: Sun, 7 Apr 2019 11:15:59 +0200 Subject: [PATCH] fix translating file validation error message --- .../FrameworkBundle/Resources/config/form.xml | 1 + .../Form/Extension/Core/Type/FileType.php | 16 +++++++++++++++- 2 files changed, 16 insertions(+), 1 deletion(-) diff --git a/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.xml b/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.xml index 7dd51bbed6a6a..e151245b8916b 100644 --- a/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.xml +++ b/src/Symfony/Bundle/FrameworkBundle/Resources/config/form.xml @@ -93,6 +93,7 @@ The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0. + The "%service_id%" service is deprecated since Symfony 3.1 and will be removed in 4.0. diff --git a/src/Symfony/Component/Form/Extension/Core/Type/FileType.php b/src/Symfony/Component/Form/Extension/Core/Type/FileType.php index a7f912d5e3109..f8afce2ee5a4d 100644 --- a/src/Symfony/Component/Form/Extension/Core/Type/FileType.php +++ b/src/Symfony/Component/Form/Extension/Core/Type/FileType.php @@ -20,6 +20,7 @@ use Symfony\Component\Form\FormView; use Symfony\Component\OptionsResolver\Options; use Symfony\Component\OptionsResolver\OptionsResolver; +use Symfony\Component\Translation\TranslatorInterface; class FileType extends AbstractType { @@ -32,6 +33,13 @@ class FileType extends AbstractType self::MIB_BYTES => 'MiB', ]; + private $translator; + + public function __construct(TranslatorInterface $translator = null) + { + $this->translator = $translator; + } + /** * {@inheritdoc} */ @@ -150,7 +158,13 @@ private function getFileUploadError($errorCode) $messageTemplate = 'The file could not be uploaded.'; } - return new FormError($messageTemplate, $messageTemplate, $messageParameters); + if (null !== $this->translator) { + $message = $this->translator->trans($messageTemplate, $messageParameters); + } else { + $message = strtr($messageTemplate, $messageParameters); + } + + return new FormError($message, $messageTemplate, $messageParameters); } /**