You use something else. It's still just a format string, not a whole localization solution. Named arguments means it might be easier to hack together something like
but that's still a hack, and doesn't even come close to addressing cases like Chinese's "{adj} {counter_word[noun]} {noun}" or gender concord or any of the myriad other things you come across in practice.
Edit: used 'positional' instead of 'named'.