Skip to content

Commit d8f229c

Browse files
Optimise code
1 parent 5fe405f commit d8f229c

File tree

2 files changed

+13
-8
lines changed

2 files changed

+13
-8
lines changed

src/Symfony/Component/Translation/TranslatableMessage.php

Lines changed: 8 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,9 +52,13 @@ public function getDomain(): ?string
5252

5353
public function trans(TranslatorInterface $translator, ?string $locale = null): string
5454
{
55-
return $translator->trans($this->getMessage(), array_map(
56-
static fn ($parameter) => $parameter instanceof TranslatableInterface ? $parameter->trans($translator, $locale) : $parameter,
57-
$this->getParameters()
58-
), $this->getDomain(), $locale);
55+
$parameters = $this->getParameters();
56+
foreach ($parameters as $k => $v) {
57+
if ($v instanceof TranslatableInterface) {
58+
$parameters[$k] = $v->trans($translator, $locale);
59+
}
60+
}
61+
62+
return $translator->trans($this->getMessage(), $parameters, $this->getDomain(), $locale);
5963
}
6064
}

src/Symfony/Contracts/Translation/TranslatorTrait.php

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -41,10 +41,11 @@ public function trans(?string $id, array $parameters = [], ?string $domain = nul
4141
return '';
4242
}
4343

44-
$parameters = array_map(
45-
fn ($parameter) => $parameter instanceof TranslatableInterface ? $parameter->trans($this, $locale) : $parameter,
46-
$parameters,
47-
);
44+
foreach ($parameters as $k => $v) {
45+
if ($v instanceof TranslatableInterface) {
46+
$parameters[$k] = $v->trans($this, $locale);
47+
}
48+
}
4849

4950
if (!isset($parameters['%count%']) || !is_numeric($parameters['%count%'])) {
5051
return strtr($id, $parameters);

0 commit comments

Comments
 (0)