ADDITIONAL SYSTEM INFORMATION :
All OS affected, JDK 12 affected.
A DESCRIPTION OF THE PROBLEM :
CompactNumberFormat return wrong texts for many languages that use the plural form for numbers.
E.g. German: 1_000_000 is '1 Million' (correct in JDK 12), 2_000_000 should be '2 Millionen' but the result is '2 Milion').
Same for Italian: 1_000_000 is '1 millione' (correct in JDK 12), 2_000_000 should be '2 milioni' but the result is '2 milione'.
STEPS TO FOLLOW TO REPRODUCE THE PROBLEM :
NumberFormat compactNumberFormat = CompactNumberFormat.getCompactNumberInstance(Locale.GERMAN, NumberFormat.Style.LONG);
System.out.println(compactNumberFormat.format(2_000_000));
EXPECTED VERSUS ACTUAL BEHAVIOR :
EXPECTED -
2 Millionen
ACTUAL -
2 Million
FREQUENCY : always