Uploaded image for project: 'JDK'
  1. JDK
  2. JDK-8220227

Host Locale Provider getDisplayCountry returns error message under non-English Win10

XMLWordPrintable

    • b12
    • x86_64
    • windows_10

        Under Windows 10 Japanese, Locale.getDisplayCountry() shows an error message, if Host Locale Provider is used (-Djava.locale.providers=HOST).

        Test sample:
        jshell -R-Djava.locale.providers=HOST
        jshell> (new java.util.Locale("ar","AE")).getDisplayCountry();

        Result:
        "\u4e0d\u660e\u306a\u5730\u57df (AE)" (Converted by native2ascii)
        This is the translated Japanese message of "Unknown Region (AE)".

        Expected result:
        "United Arab Emirates"

        Windows Server 2012R2 and earlier returned "United Arab Emirates" expectedly.
        Windows Server 2016 has the same symptom.
        English environment has no problem.

        Evaluation:
        The current code compares "Unknown Region (" with the result, but it could be translated.
        The attached file contains the messages in all 38 Language Packs of Windows Server 2016 DVD.
        I believe we can compare it with "("+RegionCode+")".
        I also verified all actual strings of Country/Region in 38 languages didn't hit the condition.

              tnakamura Toshio Nakamura
              tnakamura Toshio Nakamura
              Votes:
              0 Vote for this issue
              Watchers:
              2 Start watching this issue

                Created:
                Updated:
                Resolved: