Skip to content

Commit c205656

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

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-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: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -214,7 +214,9 @@ 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+
|| false != strstr($domain, MessageCatalogue::INTL_DOMAIN_SUFFIX))) {
218220
return $this->formatter->formatIntl($catalogue->get($id, $domain), $locale, $parameters);
219221
}
220222

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

467469
foreach ($catalogue->all() as $domain => $messages) {
468470
if ($intlMessages = $catalogue->all($domain.MessageCatalogue::INTL_DOMAIN_SUFFIX)) {
469-
$allMessages[$domain.MessageCatalogue::INTL_DOMAIN_SUFFIX] = $intlMessages;
471+
if (false === strstr($domain, MessageCatalogue::INTL_DOMAIN_SUFFIX)) {
472+
$domain .= MessageCatalogue::INTL_DOMAIN_SUFFIX;
473+
}
474+
475+
$allMessages[$domain] = $intlMessages;
470476
$messages = array_diff_key($messages, $intlMessages);
471477
}
472478
if ($messages) {

0 commit comments

Comments
 (0)