Date: Mon, 26 Oct 2020 19:18:10 +0100 From: Joerg Schilling <joerg.schill...@fokus.fraunhofer.de> Message-ID: <5f9712e2.+zlga0iaqihkovkz%joerg.schill...@fokus.fraunhofer.de>
| There is a simple rule of thumb: If you like to use %n$ for localization, | use a matching number of arguments and %<format> units with printf(1). This is the problem, in two ways ... it isn't good enough to define something in a way where to usefully use it you also need to add a "simple rule of thumb" - much better to simply specify something that actually works, and only define it to work when used that way. Getting meaningless output from multiple implementations that copied each other (one did it first, badly, then the others copied) is not useful. Can you think of any rational use of a format with %n$ conversions where you would ever want to process the format string more than once? If not, why not just forbid it (and fix the implementations that now exist). Second, like a lot of localisation issues, all of this is too intertwined with what is needed to support European languages. It isn't always possible to follow that rule of thumb with other languages where additional elements may need to be added (or not added) to certain sentences. kre