Change the contract of the formatters

Both `ArrayFormatter` and `StringFormatter` accept an instance of the
`Translator`. Thinking about it a bit better, I realised that a
formatter might not always need a `Translator`, but it will surely need
a `Renderer`.

Besides, the `InterpolationRenderer` needs to take translation into
account, so it seems more natural to me that this is the one that will
get an instance of the `Translator`, as other implementations of the
`Renderer` might not even deal with translations.
This commit is contained in:
Henrique Moody 2025-12-21 22:22:33 +01:00
commit 644ecb5190
No known key found for this signature in database
GPG key ID: 221E9281655813A6
14 changed files with 91 additions and 121 deletions

View file

@ -18,5 +18,5 @@ interface ArrayFormatter
*
* @return array<string, mixed>
*/
public function format(Result $result, array $templates, Translator $translator): array;
public function format(Result $result, Renderer $renderer, array $templates): array;
}