Some more investigations into that problem:
The docs changed as the Android SDK developed:
: flag , stands for "Use a comma in place of a decimal if the locale requires it."
: does not mention this anymore
Some tests on Emulator with en-US system default locale:
- Android 1.5, da UI locale: "%1$.2f" gives 123.45, "%1$,.2f" gives 1,2,3.45
- Android 1.6, da UI locale: "%1$.2f" gives 123,45, "%1$,.2f" gives 123,45
- Android 1.6, eo UI locale: "%1$.2f" gives 123.45, "%1$,.2f" gives 1,2,3.45
- Android 2.0, eo UI locale: "%1$.2f" gives 123.45, "%1$,.2f" gives 1,2,3.45
It looks like the behaviour is always wrong when there is a comma (I guess this has once been working with some older version of the SDK), so as an intermediate solution I'll remove the comma from file_size for all languages. Danish and other European versions will then use the comma instead of the point, but unsupported locales like Esperanto will fall back to some default locale for formatting numbers (en-US on my system), consequently those locales will be using the point as decimal separator.
This way is definitely not perfect, but better than before, yes?
What struck me most was that no one else experienced this problem. Normally I'd expect many forum posts describing the problem...