As i commented above:

Yes, i also thought about this.But this means that for all those languages that do not have specific formatter and, therefore, use default instance of DefaultFormatter ... we have to create separate DefaultFormatter inside of FormatterRegistry's constructor. Do you think this makes sense?

Essentialy this means that when adding support for a new language, we would have to add a line in FormatterRegistry's constructor. May be this is not that a big issue.