I don't think it's even that bad for l10n, as you can treat the expression-like format specifiers as opaque keywords for the placeholders.
For example, your i18n tool can extract:
"It's {price:.2f} and we are the {date:%m/%d/%Y}\n"
as a key, and then l10n can map this to: fr_FR: "C'est {price:.2f} et nous sommes le {date:%d/%m/%Y}\n"
(Here we can fix up the silly US date formatting, too, although really you shouldn't be localising dates in your format strings).All that remains is for them to work out some way of mapping in that localised string, as you can do this:
_("It's {price:.2f} and we are the {date:%m/%d/%Y}\n").format(price=price, date=date)
any more.