Skip to content

Commit

Permalink
HtmlTranslator, TextTranslator: added support for <br> empty tag
Browse files Browse the repository at this point in the history
  • Loading branch information
janpecha committed Feb 2, 2024
1 parent c05d437 commit 5437a9a
Show file tree
Hide file tree
Showing 4 changed files with 23 additions and 0 deletions.
4 changes: 4 additions & 0 deletions src/DefaultHtmlTagFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,10 @@ public function createTag(MessageElement $element)
]));
}

if ($element->is('br')) {
return Html::el('br');
}

return NULL;
}
}
5 changes: 5 additions & 0 deletions src/TextTranslator.php
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,11 @@ private function translateMessage(MessageId $messageId, array $parameters)

foreach ($message->getElements() as $element) {
if ($element instanceof MessageElement) {
if ($element->is('br')) {
$res .= "\n";
continue;
}

$res .= $element->toText();

} else {
Expand Down
7 changes: 7 additions & 0 deletions tests/Translator/HtmlTranslator.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ function createTranslator($lang)
new Translator\Loaders\ArrayLoader(Translator\LanguageTag::fromString('en'), [
'homepage.hello' => 'Hello, <b>{$name}</b>!',
'homepage.unknow' => 'Hello, <muted>lorem <i>{$name|lower}!</i></muted>',
'homepage.br' => 'Hello<br>friends',
]),
]),
new Translator\Processors\TagProcessor
Expand All @@ -33,6 +34,12 @@ test('tag filtering', function () {
});


test('empty tags', function () {
$translator = createTranslator('en');
Assert::same('Hello<br>friends', (string) $translator->translate('homepage.br'));
});


test('NoTranslate', function () {
$translator = createTranslator('en');
Assert::same('homepage.hello', (string) $translator->translate(new Translator\NotTranslate('homepage.hello'), ['name' => 'John']));
Expand Down
7 changes: 7 additions & 0 deletions tests/Translator/TextTranslator.phpt
Original file line number Diff line number Diff line change
Expand Up @@ -22,6 +22,7 @@ function createTranslator($lang)
new Translator\Loaders\ArrayLoader(Translator\LanguageTag::fromString('en'), [
'homepage.hello' => 'Hello!',
'homepage.hello2' => 'Hello, <b>{$name}</b>!',
'homepage.br' => 'Hello<br>friends',
]),
]),
new Translator\Processors\TagProcessor
Expand All @@ -48,6 +49,12 @@ test('with parameters', function () {
});


test('empty tags', function () {
$translator = createTranslator('en');
Assert::same("Hello\nfriends", (string) $translator->translate('homepage.br'));
});


test('NoTranslate', function () {
$translator = createTranslator('en');
Assert::same('homepage.hello', $translator->translate(new Translator\NotTranslate('homepage.hello'), ['name' => 'John']));
Expand Down

0 comments on commit 5437a9a

Please sign in to comment.