Skip to content

Commit 8254128

Browse files
committed
Add support for calling 'trans' with ICU formatted messages
1 parent 0fa01ae commit 8254128

File tree

2 files changed

+10
-2
lines changed

2 files changed

+10
-2
lines changed

src/Symfony/Component/Translation/CHANGELOG.md

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ CHANGELOG
44
5.1.0
55
-----
66

7+
* added support for calling `trans` with ICU formatted messages
78
* added support for `name` attribute on `unit` element from xliff2 to be used as a translation key instead of always the `source` element
89

910
5.0.0

src/Symfony/Component/Translation/Translator.php

Lines changed: 9 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,10 @@ public function trans(?string $id, array $parameters = [], string $domain = null
214214
}
215215
}
216216

217-
if ($this->hasIntlFormatter && $catalogue->defines($id, $domain.MessageCatalogue::INTL_DOMAIN_SUFFIX)) {
217+
if ($this->hasIntlFormatter
218+
&& ($catalogue->defines($id, $domain.MessageCatalogue::INTL_DOMAIN_SUFFIX)
219+
|| strstr($domain, MessageCatalogue::INTL_DOMAIN_SUFFIX) != false))
220+
{
218221
return $this->formatter->formatIntl($catalogue->get($id, $domain), $locale, $parameters);
219222
}
220223

@@ -466,7 +469,11 @@ private function getAllMessages(MessageCatalogueInterface $catalogue): array
466469

467470
foreach ($catalogue->all() as $domain => $messages) {
468471
if ($intlMessages = $catalogue->all($domain.MessageCatalogue::INTL_DOMAIN_SUFFIX)) {
469-
$allMessages[$domain.MessageCatalogue::INTL_DOMAIN_SUFFIX] = $intlMessages;
472+
if (strstr($domain, MessageCatalogue::INTL_DOMAIN_SUFFIX) === false) {
473+
$domain .= MessageCatalogue::INTL_DOMAIN_SUFFIX;
474+
}
475+
476+
$allMessages[$domain] = $intlMessages;
470477
$messages = array_diff_key($messages, $intlMessages);
471478
}
472479
if ($messages) {

0 commit comments

Comments
 (0)