Sprintf like internationalization of content in messages

Code
<?php

use Budgegeria\IntlFormat\Factory;

$intlFormat = (new Factory())->createIntlFormat('it_IT');

dump(
    
$intlFormat->format('You have to pay %currency'3.99),
    
$intlFormat->format('A %date_full, il numero fortunato e %integer', new DateTime(), 7500),
    
$intlFormat->format('%1$integer = %1$spellout'5)
);
Result
^ "You have to pay 3,99 €"

^ "A martedì 26 ottobre 2021, il numero fortunato e 7.500"

^ "5 = cinque"
Used Versions
PHP 8.0, Laminas MVC 3.2, Symfony 5.2, Laravel 8.28, PHPUnit 9.5, Doctrine ORM 2.8