Sprintf like internationalization of content in messages

Code
<?php

use Budgegeria\IntlFormat\Factory;

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

var_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
string(25) "You have to pay 3,99 €"
string(54) "A martedì 27 giugno 2017, il numero fortunato e 7.500"
string(10) "5 = cinque"
Used Versions
PHP 7.1, Zend 3.0, Symfony 3.2, Laravel 5.2, PHPUnit 5.6, Doctrine 2.6