_n() php function and text not translated

I’m using this code:

echo sprintf( _n( '%1$s / %2$s', ' %1$s every %2$s', 3, 'my-domain' ), 99, "3 months" );

The output is ’99 every 3 months’.

Read More

But I’ve .mo/.po files translating the string: %1$s every %2$s

Into another language: %1$s ogni %2$s

Why the translated string isn’t used by _n ?
The WordPress Codex says:

the parameters $single, $plural, and $number will first be passed to
the domain’s ngettext() method.

Related posts