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

Arabic Locale: can not set type of digit in application level



    • b86
    • generic
    • windows_2008


      This is how it's reproducible on Mac with Arabic Locale:

      unlocalized numbers for choosing number of MB in network tab

      1. Launch Java Preferences.
      2. Click Network tab and check all strings.

      Hindi Numerals

      Arabic Numerals

      Apple states it's reproducible on Windows as well. Here are the customer's comments.

      The full Windows locale needs to be changed to Arabic. The numerals that are expected are actually called "Hindi numerals" (it's weird, I know). This problem is not unique to Java Preferences, since it is a general Arabic language expectation to see Hindi-style numerals everywhere where we see "standard" numbers (confusingly called Arabic numerals) in English and most other languages.

      This bug started off life as a specific complaint from our localizers about Java Preferences, but really it's a problem for the Java platform to address when running in Arabic (since it's unrealistic to expect all client code everywhere to put special numeric handlers on their text fields for just one language).
      I change the synopsis of this CR and set the category to i18n.

      Below is the feed back from Apple:
      It is false to think that most people are not using Hindi digits nowadays in Arab countries.
      Actually it is the opposite. KSA, UAE, Egypt, Jordan and many other countries, which are our target market strongly use Hindi digits in their daily life.
      There is "confusion" on other part of the world, where they can use both like in Lebanon, Oman, Kuwait etc.

      This is set in the preferences, in fact, and depending on the Locale set, the user will see Hindi or Arabic digits appear.
      That is, our main market, KSA, will definitely set their Computer's locale to KSA, and they *do* expect to get Hindi digits everywhere.
      We have been working on making sure the numerals appear based on the locale set, and not hardcoded, in the whole OS.
      For consistency, I highly recommend we do that everywhere we could.
      Forcing users to use Arabic digits just because "we *think* they are not used anymore" is not the right thing do to.

      We get all the data from CLDR, which is how we "know" what type of digits is used in a country or another.
      At an application level we give the user a *choice* to use the digits his country is used to use, not what we think is goo for him.


        Issue Links



              naoto Naoto Sato
              mbykov Misha Bykov (Inactive)
              0 Vote for this issue
              3 Start watching this issue