RFR: 8042126: DateTimeFormatter "MMMMM" returns English value in Japanese locale
Hello, Please review a simple fix (jdk 8 and 9) for 8042126: DateTimeFormatter "MMMMM" returns English value in Japanese locale bug: https://bugs.openjdk.java.net/browse/JDK-8042126 fix: http://cr.openjdk.java.net/~dmeetry/8042126/webrev.01 thanks, dmeetry
Looks good to me. Naoto On 8/5/14, 3:41 AM, dmeetry degrave wrote:
Hello,
Please review a simple fix (jdk 8 and 9) for
8042126: DateTimeFormatter "MMMMM" returns English value in Japanese locale
bug: https://bugs.openjdk.java.net/browse/JDK-8042126 fix: http://cr.openjdk.java.net/~dmeetry/8042126/webrev.01
thanks, dmeetry
The root cause of this "problem" is the semantic difference between the legacy JRE resources and the CLDR-drived resources. The root CLDR resources have the narrow month names as numbers to be language-neutral, while the JRE root resources have them as English. If you specify Locale.ROOT, you will get the English ones rather than the numbers. That is somehow an intended behavior (or a known restriction). The narrow names are supported only in java.time due to compatibility constraints with java.text. So the narrow month names should go to src/share/classes/sun/text/resources/ja/JavaTimeSupplementary_ja.java rather than FormatData_ja.java. There should be more locales which have the same problem. Thanks, Masayoshi On 8/7/2014 7:42 AM, Naoto Sato wrote:
Looks good to me.
Naoto
On 8/5/14, 3:41 AM, dmeetry degrave wrote:
Hello,
Please review a simple fix (jdk 8 and 9) for
8042126: DateTimeFormatter "MMMMM" returns English value in Japanese locale
bug: https://bugs.openjdk.java.net/browse/JDK-8042126 fix: http://cr.openjdk.java.net/~dmeetry/8042126/webrev.01
thanks, dmeetry
Sorry, I forgot about Calendar.getDisplayName. Perhaps the JRE semantic (Locale.ROOT is English) support for all narrow names should be given up. I will take over this one because it will require some changes to the locale service provider framework. Thanks, Masayoshi On 8/7/2014 11:38 AM, Masayoshi Okutsu wrote:
The root cause of this "problem" is the semantic difference between the legacy JRE resources and the CLDR-drived resources. The root CLDR resources have the narrow month names as numbers to be language-neutral, while the JRE root resources have them as English. If you specify Locale.ROOT, you will get the English ones rather than the numbers. That is somehow an intended behavior (or a known restriction).
The narrow names are supported only in java.time due to compatibility constraints with java.text. So the narrow month names should go to src/share/classes/sun/text/resources/ja/JavaTimeSupplementary_ja.java rather than FormatData_ja.java. There should be more locales which have the same problem.
Thanks, Masayoshi
On 8/7/2014 7:42 AM, Naoto Sato wrote:
Looks good to me.
Naoto
On 8/5/14, 3:41 AM, dmeetry degrave wrote:
Hello,
Please review a simple fix (jdk 8 and 9) for
8042126: DateTimeFormatter "MMMMM" returns English value in Japanese locale
bug: https://bugs.openjdk.java.net/browse/JDK-8042126 fix: http://cr.openjdk.java.net/~dmeetry/8042126/webrev.01
thanks, dmeetry
Naoto, Masayoshi, thanks for looking at this! On 08/07/2014 07:38 AM, Masayoshi Okutsu wrote:
Sorry, I forgot about Calendar.getDisplayName. Perhaps the JRE semantic (Locale.ROOT is English) support for all narrow names should be given up.
I will take over this one because it will require some changes to the locale service provider framework.
Thanks, Masayoshi
On 8/7/2014 11:38 AM, Masayoshi Okutsu wrote:
The root cause of this "problem" is the semantic difference between the legacy JRE resources and the CLDR-drived resources. The root CLDR resources have the narrow month names as numbers to be language-neutral, while the JRE root resources have them as English. If you specify Locale.ROOT, you will get the English ones rather than the numbers. That is somehow an intended behavior (or a known restriction).
The narrow names are supported only in java.time due to compatibility constraints with java.text. So the narrow month names should go to src/share/classes/sun/text/resources/ja/JavaTimeSupplementary_ja.java rather than FormatData_ja.java. There should be more locales which have the same problem.
Thanks, Masayoshi
On 8/7/2014 7:42 AM, Naoto Sato wrote:
Looks good to me.
Naoto
On 8/5/14, 3:41 AM, dmeetry degrave wrote:
Hello,
Please review a simple fix (jdk 8 and 9) for
8042126: DateTimeFormatter "MMMMM" returns English value in Japanese locale
bug: https://bugs.openjdk.java.net/browse/JDK-8042126 fix: http://cr.openjdk.java.net/~dmeetry/8042126/webrev.01
thanks, dmeetry
participants (3)
-
dmeetry degrave
-
Masayoshi Okutsu
-
Naoto Sato