RFR: 8288882: JFileChooser - empty (0 bytes) file is displayed as 1 KB [v4]
Andy Goryachev
duke at openjdk.org
Wed Jul 13 19:54:07 UTC 2022
On Wed, 13 Jul 2022 16:54:48 GMT, Naoto Sato <naoto at openjdk.org> wrote:
>> I would like to emphasize that this issue is complicated. Plural rules vary from language to language, adding plural strings to resource bundles adds costs in terms of translation and testing.
>>
>> If we were to support proper plurals, one may use ChoiceFormat, though it seems to fail for Polish, see
>> https://stuartgunter.wordpress.com/2011/08/09/java-i18n-pluralisation-using-choiceformat/
>>
>> Another solution is to pull in ICU4J library, see
>> https://stuartgunter.wordpress.com/2011/08/14/even-better-java-i18n-pluralisation-using-icu4j/
>>
>> Yet another solution is to drop the words altogether and simply show a number (of bytes in this case). Alternatively, use a common suffix such as "B", but this may not look standard.
>
> True plurals (as in LDML) is not yet fully supported in the JDK. (`CompactNumberFormat` does for its own purpose (https://bugs.openjdk.org/browse/JDK-8222756), but not for general use) For this case, I think `ChoiceFormat` is the mid-ground solution, as Swing is only localized in a handful of languages.
another suggestion: to avoid locale-dependent complexity simply show the number of bytes as a number if length < 1000. this will also avoid involving the group separator - as far as I know, no language on earth uses group separator for numbers in the range 0...999
0 - "0"
1 - "1"
999 - "999"
1000 - "1 KB"
etc.
-------------
PR: https://git.openjdk.org/jdk/pull/9327
More information about the client-libs-dev
mailing list