On Wed, 13 Jul 2022 15:23:28 GMT, Andy Goryachev <d...@openjdk.org> wrote:
>> ok, should I revert back "B" to "bytes" in basic.properties and commit? > > 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. ------------- PR: https://git.openjdk.org/jdk/pull/9327