Print this page
rev 5696 : 6336885: RFE: Locale Data Deployment Enhancements
4609153: Provide locale data for Indic locales
5104387: Support for gl_ES locale (galician language)
6337471: desktop/system locale preferences support
7056139: (cal) SPI support for locale-dependent Calendar parameters
7058206: Provide CalendarData SPI for week params and display field value names
7073852: Support multiple scripts for digits and decimal symbols per locale
7079560: [Fmt-Da] Context dependent month names support in SimpleDateFormat
7171324: getAvailableLocales() of locale sensitive services should return the actual availability of locales
7151414: (cal) Support calendar type identification
7168528: LocaleServiceProvider needs to be aware of Locale extensions
7171372: (cal) locale's default Calendar should be created if unknown calendar is specified
Summary: JEP 127: Improve Locale Data Packaging and Adopt Unicode CLDR Data (part 1 w/o packaging changes. by Naoto Sato and Masayoshi Okutsu)

Split Close
Expand all
Collapse all
          --- old/src/share/classes/sun/text/resources/FormatData.java
          +++ new/src/share/classes/sun/text/resources/FormatData.java
   1    1  /*
   2      - * Copyright (c) 1996, 2005, Oracle and/or its affiliates. All rights reserved.
        2 + * Copyright (c) 1996, 2012, Oracle and/or its affiliates. All rights reserved.
   3    3   * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4    4   *
   5    5   * This code is free software; you can redistribute it and/or modify it
   6    6   * under the terms of the GNU General Public License version 2 only, as
   7    7   * published by the Free Software Foundation.  Oracle designates this
   8    8   * particular file as subject to the "Classpath" exception as provided
   9    9   * by Oracle in the LICENSE file that accompanied this code.
  10   10   *
  11   11   * This code is distributed in the hope that it will be useful, but WITHOUT
  12   12   * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
↓ open down ↓ 99 lines elided ↑ open up ↑
 112  112                      "AM", // am marker
 113  113                      "PM" // pm marker
 114  114                  }
 115  115              },
 116  116              { "Eras",
 117  117                  new String[] { // era strings for GregorianCalendar
 118  118                      "BC",
 119  119                      "AD"
 120  120                  }
 121  121              },
 122      -            { "sun.util.BuddhistCalendar.Eras",
      122 +            { "buddhist.Eras",
 123  123                  new String[] { // Thai Buddhist calendar era strings
 124  124                      "BC",     // BC
 125  125                      "B.E."    // Buddhist Era
 126  126                  }
 127  127              },
 128      -            { "sun.util.BuddhistCalendar.short.Eras",
      128 +            { "buddhist.short.Eras",
 129  129                  new String[] { // Thai Buddhist calendar era strings
 130  130                      "BC",     // BC
 131  131                      "B.E."    // Buddhist Era
 132  132                  }
 133  133              },
 134      -            { "java.util.JapaneseImperialCalendar.Eras",
      134 +            { "japanese.Eras",
 135  135                  new String[] { // Japanese imperial calendar era strings
 136  136                      "",
 137  137                      "Meiji",
 138  138                      "Taisho",
 139  139                      "Showa",
 140  140                      "Heisei",
 141  141                  }
 142  142              },
 143      -            { "java.util.JapaneseImperialCalendar.short.Eras",
      143 +            { "japanese.short.Eras",
 144  144                  new String[] { // Japanese imperial calendar era abbreviations
 145  145                      "",
 146  146                      "M",
 147  147                      "T",
 148  148                      "S",
 149  149                      "H",
 150  150                  }
 151  151              },
 152      -            { "java.util.JapaneseImperialCalendar.FirstYear",
      152 +            { "japanese.FirstYear",
 153  153                  new String[] { // Japanese imperial calendar year name
 154  154                      // empty in English
 155  155                  }
 156  156              },
 157  157              { "NumberPatterns",
 158  158                  new String[] {
 159  159                      "#,##0.###;-#,##0.###", // decimal pattern
 160  160                      "\u00a4 #,##0.00;-\u00a4 #,##0.00", // currency pattern
 161  161                      "#,##0%" // percent pattern
 162  162                  }
 163  163              },
      164 +            { "DefaultNumberingSystem", "" },
 164  165              { "NumberElements",
 165  166                  new String[] {
 166  167                      ".", // decimal separator
 167  168                      ",", // group (thousands) separator
 168  169                      ";", // list separator
 169  170                      "%", // percent sign
 170  171                      "0", // native 0 digit
 171  172                      "#", // pattern digit
 172  173                      "-", // minus sign
 173  174                      "E", // exponential
 174  175                      "\u2030", // per mille
 175  176                      "\u221e", // infinity
 176  177                      "\ufffd" // NaN
 177  178                  }
 178  179              },
 179      -            { "DateTimePatterns",
      180 +            { "arab.NumberElements",
 180  181                  new String[] {
      182 +                    "\u066b",
      183 +                    "\u066c",
      184 +                    "\u061b",
      185 +                    "\u066a",
      186 +                    "\u0660",
      187 +                    "#",
      188 +                    "-",
      189 +                    "\u0627\u0633",
      190 +                    "\u0609",
      191 +                    "\u221e",
      192 +                    "NaN",
      193 +                }
      194 +            },
      195 +            { "arabext.NumberElements",
      196 +                new String[] {
      197 +                    "\u066b",
      198 +                    "\u066c",
      199 +                    "\u061b",
      200 +                    "\u066a",
      201 +                    "\u06f0",
      202 +                    "#",
      203 +                    "-",
      204 +                    "\u00d7\u06f1\u06f0^",
      205 +                    "\u0609",
      206 +                    "\u221e",
      207 +                    "NaN",
      208 +                }
      209 +            },
      210 +            { "bali.NumberElements",
      211 +                new String[] {
      212 +                    ".",
      213 +                    ",",
      214 +                    ";",
      215 +                    "%",
      216 +                    "\u1b50",
      217 +                    "#",
      218 +                    "-",
      219 +                    "E",
      220 +                    "\u2030",
      221 +                    "\u221e",
      222 +                    "NaN",
      223 +                }
      224 +            },
      225 +            { "beng.NumberElements",
      226 +                new String[] {
      227 +                    ".",
      228 +                    ",",
      229 +                    ";",
      230 +                    "%",
      231 +                    "\u09e6",
      232 +                    "#",
      233 +                    "-",
      234 +                    "E",
      235 +                    "\u2030",
      236 +                    "\u221e",
      237 +                    "NaN",
      238 +                }
      239 +            },
      240 +            { "cham.NumberElements",
      241 +                new String[] {
      242 +                    ".",
      243 +                    ",",
      244 +                    ";",
      245 +                    "%",
      246 +                    "\uaa50",
      247 +                    "#",
      248 +                    "-",
      249 +                    "E",
      250 +                    "\u2030",
      251 +                    "\u221e",
      252 +                    "NaN",
      253 +                }
      254 +            },
      255 +            { "deva.NumberElements",
      256 +                new String[] {
      257 +                    ".",
      258 +                    ",",
      259 +                    ";",
      260 +                    "%",
      261 +                    "\u0966",
      262 +                    "#",
      263 +                    "-",
      264 +                    "E",
      265 +                    "\u2030",
      266 +                    "\u221e",
      267 +                    "NaN",
      268 +                }
      269 +            },
      270 +            { "fullwide.NumberElements",
      271 +                new String[] {
      272 +                    ".",
      273 +                    ",",
      274 +                    ";",
      275 +                    "%",
      276 +                    "\uff10",
      277 +                    "#",
      278 +                    "-",
      279 +                    "E",
      280 +                    "\u2030",
      281 +                    "\u221e",
      282 +                    "NaN",
      283 +                }
      284 +            },
      285 +            { "gujr.NumberElements",
      286 +                new String[] {
      287 +                    ".",
      288 +                    ",",
      289 +                    ";",
      290 +                    "%",
      291 +                    "\u0ae6",
      292 +                    "#",
      293 +                    "-",
      294 +                    "E",
      295 +                    "\u2030",
      296 +                    "\u221e",
      297 +                    "NaN",
      298 +                }
      299 +            },
      300 +            { "guru.NumberElements",
      301 +                new String[] {
      302 +                    ".",
      303 +                    ",",
      304 +                    ";",
      305 +                    "%",
      306 +                    "\u0a66",
      307 +                    "#",
      308 +                    "-",
      309 +                    "E",
      310 +                    "\u2030",
      311 +                    "\u221e",
      312 +                    "NaN",
      313 +                }
      314 +            },
      315 +            { "java.NumberElements",
      316 +                new String[] {
      317 +                    ".",
      318 +                    ",",
      319 +                    ";",
      320 +                    "%",
      321 +                    "\ua9d0",
      322 +                    "#",
      323 +                    "-",
      324 +                    "E",
      325 +                    "\u2030",
      326 +                    "\u221e",
      327 +                    "NaN",
      328 +                }
      329 +            },
      330 +            { "kali.NumberElements",
      331 +                new String[] {
      332 +                    ".",
      333 +                    ",",
      334 +                    ";",
      335 +                    "%",
      336 +                    "\ua900",
      337 +                    "#",
      338 +                    "-",
      339 +                    "E",
      340 +                    "\u2030",
      341 +                    "\u221e",
      342 +                    "NaN",
      343 +                }
      344 +            },
      345 +            { "khmr.NumberElements",
      346 +                new String[] {
      347 +                    ".",
      348 +                    ",",
      349 +                    ";",
      350 +                    "%",
      351 +                    "\u17e0",
      352 +                    "#",
      353 +                    "-",
      354 +                    "E",
      355 +                    "\u2030",
      356 +                    "\u221e",
      357 +                    "NaN",
      358 +                }
      359 +            },
      360 +            { "knda.NumberElements",
      361 +                new String[] {
      362 +                    ".",
      363 +                    ",",
      364 +                    ";",
      365 +                    "%",
      366 +                    "\u0ce6",
      367 +                    "#",
      368 +                    "-",
      369 +                    "E",
      370 +                    "\u2030",
      371 +                    "\u221e",
      372 +                    "NaN",
      373 +                }
      374 +            },
      375 +            { "laoo.NumberElements",
      376 +                new String[] {
      377 +                    ".",
      378 +                    ",",
      379 +                    ";",
      380 +                    "%",
      381 +                    "\u0ed0",
      382 +                    "#",
      383 +                    "-",
      384 +                    "E",
      385 +                    "\u2030",
      386 +                    "\u221e",
      387 +                    "NaN",
      388 +                }
      389 +            },
      390 +            { "lana.NumberElements",
      391 +                new String[] {
      392 +                    ".",
      393 +                    ",",
      394 +                    ";",
      395 +                    "%",
      396 +                    "\u1a80",
      397 +                    "#",
      398 +                    "-",
      399 +                    "E",
      400 +                    "\u2030",
      401 +                    "\u221e",
      402 +                    "NaN",
      403 +                }
      404 +            },
      405 +            { "lanatham.NumberElements",
      406 +                new String[] {
      407 +                    ".",
      408 +                    ",",
      409 +                    ";",
      410 +                    "%",
      411 +                    "\u1a90",
      412 +                    "#",
      413 +                    "-",
      414 +                    "E",
      415 +                    "\u2030",
      416 +                    "\u221e",
      417 +                    "NaN",
      418 +                }
      419 +            },
      420 +            { "latn.NumberElements",
      421 +                new String[] {
      422 +                    ".", // decimal separator
      423 +                    ",", // group (thousands) separator
      424 +                    ";", // list separator
      425 +                    "%", // percent sign
      426 +                    "0", // native 0 digit
      427 +                    "#", // pattern digit
      428 +                    "-", // minus sign
      429 +                    "E", // exponential
      430 +                    "\u2030", // per mille
      431 +                    "\u221e", // infinity
      432 +                    "\ufffd" // NaN
      433 +                }
      434 +            },
      435 +            { "lepc.NumberElements",
      436 +                new String[] {
      437 +                    ".",
      438 +                    ",",
      439 +                    ";",
      440 +                    "%",
      441 +                    "\u1c40",
      442 +                    "#",
      443 +                    "-",
      444 +                    "E",
      445 +                    "\u2030",
      446 +                    "\u221e",
      447 +                    "NaN",
      448 +                }
      449 +            },
      450 +            { "limb.NumberElements",
      451 +                new String[] {
      452 +                    ".",
      453 +                    ",",
      454 +                    ";",
      455 +                    "%",
      456 +                    "\u1946",
      457 +                    "#",
      458 +                    "-",
      459 +                    "E",
      460 +                    "\u2030",
      461 +                    "\u221e",
      462 +                    "NaN",
      463 +                }
      464 +            },
      465 +            { "mlym.NumberElements",
      466 +                new String[] {
      467 +                    ".",
      468 +                    ",",
      469 +                    ";",
      470 +                    "%",
      471 +                    "\u0d66",
      472 +                    "#",
      473 +                    "-",
      474 +                    "E",
      475 +                    "\u2030",
      476 +                    "\u221e",
      477 +                    "NaN",
      478 +                }
      479 +            },
      480 +            { "mong.NumberElements",
      481 +                new String[] {
      482 +                    ".",
      483 +                    ",",
      484 +                    ";",
      485 +                    "%",
      486 +                    "\u1810",
      487 +                    "#",
      488 +                    "-",
      489 +                    "E",
      490 +                    "\u2030",
      491 +                    "\u221e",
      492 +                    "NaN",
      493 +                }
      494 +            },
      495 +            { "mtei.NumberElements",
      496 +                new String[] {
      497 +                    ".",
      498 +                    ",",
      499 +                    ";",
      500 +                    "%",
      501 +                    "\uabf0",
      502 +                    "#",
      503 +                    "-",
      504 +                    "E",
      505 +                    "\u2030",
      506 +                    "\u221e",
      507 +                    "NaN",
      508 +                }
      509 +            },
      510 +            { "mymr.NumberElements",
      511 +                new String[] {
      512 +                    ".",
      513 +                    ",",
      514 +                    ";",
      515 +                    "%",
      516 +                    "\u1040",
      517 +                    "#",
      518 +                    "-",
      519 +                    "E",
      520 +                    "\u2030",
      521 +                    "\u221e",
      522 +                    "NaN",
      523 +                }
      524 +            },
      525 +            { "mymrshan.NumberElements",
      526 +                new String[] {
      527 +                    ".",
      528 +                    ",",
      529 +                    ";",
      530 +                    "%",
      531 +                    "\u1090",
      532 +                    "#",
      533 +                    "-",
      534 +                    "E",
      535 +                    "\u2030",
      536 +                    "\u221e",
      537 +                    "NaN",
      538 +                }
      539 +            },
      540 +            { "nkoo.NumberElements",
      541 +                new String[] {
      542 +                    ".",
      543 +                    ",",
      544 +                    ";",
      545 +                    "%",
      546 +                    "\u07c0",
      547 +                    "#",
      548 +                    "-",
      549 +                    "E",
      550 +                    "\u2030",
      551 +                    "\u221e",
      552 +                    "NaN",
      553 +                }
      554 +            },
      555 +            { "olck.NumberElements",
      556 +                new String[] {
      557 +                    ".",
      558 +                    ",",
      559 +                    ";",
      560 +                    "%",
      561 +                    "\u1c50",
      562 +                    "#",
      563 +                    "-",
      564 +                    "E",
      565 +                    "\u2030",
      566 +                    "\u221e",
      567 +                    "NaN",
      568 +                }
      569 +            },
      570 +            { "orya.NumberElements",
      571 +                new String[] {
      572 +                    ".",
      573 +                    ",",
      574 +                    ";",
      575 +                    "%",
      576 +                    "\u0b66",
      577 +                    "#",
      578 +                    "-",
      579 +                    "E",
      580 +                    "\u2030",
      581 +                    "\u221e",
      582 +                    "NaN",
      583 +                }
      584 +            },
      585 +            { "saur.NumberElements",
      586 +                new String[] {
      587 +                    ".",
      588 +                    ",",
      589 +                    ";",
      590 +                    "%",
      591 +                    "\ua8d0",
      592 +                    "#",
      593 +                    "-",
      594 +                    "E",
      595 +                    "\u2030",
      596 +                    "\u221e",
      597 +                    "NaN",
      598 +                }
      599 +            },
      600 +            { "sund.NumberElements",
      601 +                new String[] {
      602 +                    ".",
      603 +                    ",",
      604 +                    ";",
      605 +                    "%",
      606 +                    "\u1bb0",
      607 +                    "#",
      608 +                    "-",
      609 +                    "E",
      610 +                    "\u2030",
      611 +                    "\u221e",
      612 +                    "NaN",
      613 +                }
      614 +            },
      615 +            { "talu.NumberElements",
      616 +                new String[] {
      617 +                    ".",
      618 +                    ",",
      619 +                    ";",
      620 +                    "%",
      621 +                    "\u19d0",
      622 +                    "#",
      623 +                    "-",
      624 +                    "E",
      625 +                    "\u2030",
      626 +                    "\u221e",
      627 +                    "NaN",
      628 +                }
      629 +            },
      630 +            { "tamldec.NumberElements",
      631 +                new String[] {
      632 +                    ".",
      633 +                    ",",
      634 +                    ";",
      635 +                    "%",
      636 +                    "\u0be6",
      637 +                    "#",
      638 +                    "-",
      639 +                    "E",
      640 +                    "\u2030",
      641 +                    "\u221e",
      642 +                    "NaN",
      643 +                }
      644 +            },
      645 +            { "telu.NumberElements",
      646 +                new String[] {
      647 +                    ".",
      648 +                    ",",
      649 +                    ";",
      650 +                    "%",
      651 +                    "\u0c66",
      652 +                    "#",
      653 +                    "-",
      654 +                    "E",
      655 +                    "\u2030",
      656 +                    "\u221e",
      657 +                    "NaN",
      658 +                }
      659 +            },
      660 +            { "thai.NumberElements",
      661 +                new String[] {
      662 +                    ".", // decimal separator
      663 +                    ",", // group (thousands) separator
      664 +                    ";", // list separator
      665 +                    "%", // percent sign
      666 +                    "\u0E50", // native 0 digit
      667 +                    "#", // pattern digit
      668 +                    "-", // minus sign
      669 +                    "E", // exponential
      670 +                    "\u2030", // per mille
      671 +                    "\u221e", // infinity
      672 +                    "\ufffd" // NaN
      673 +                }
      674 +            },
      675 +            { "tibt.NumberElements",
      676 +                new String[] {
      677 +                    ".",
      678 +                    ",",
      679 +                    ";",
      680 +                    "%",
      681 +                    "\u0f20",
      682 +                    "#",
      683 +                    "-",
      684 +                    "E",
      685 +                    "\u2030",
      686 +                    "\u221e",
      687 +                    "NaN",
      688 +                }
      689 +            },
      690 +            { "vaii.NumberElements",
      691 +                new String[] {
      692 +                    ".",
      693 +                    ",",
      694 +                    ";",
      695 +                    "%",
      696 +                    "\ua620",
      697 +                    "#",
      698 +                    "-",
      699 +                    "E",
      700 +                    "\u2030",
      701 +                    "\u221e",
      702 +                    "NaN",
      703 +                }
      704 +            },
      705 +            { "TimePatterns",
      706 +                new String[] {
 181  707                      "h:mm:ss a z",        // full time pattern
 182  708                      "h:mm:ss a z",        // long time pattern
 183  709                      "h:mm:ss a",          // medium time pattern
 184  710                      "h:mm a",             // short time pattern
      711 +                }
      712 +            },
      713 +            { "DatePatterns",
      714 +                new String[] {
 185  715                      "EEEE, MMMM d, yyyy", // full date pattern
 186  716                      "MMMM d, yyyy",       // long date pattern
 187  717                      "MMM d, yyyy",        // medium date pattern
 188  718                      "M/d/yy",             // short date pattern
      719 +                }
      720 +            },
      721 +            { "DateTimePatterns",
      722 +                new String[] {
 189  723                      "{1} {0}"             // date-time pattern
 190  724                  }
 191  725              },
 192      -            { "sun.util.BuddhistCalendar.DateTimePatterns",
      726 +            { "buddhist.TimePatterns",
 193  727                  new String[] {
 194  728                      "H:mm:ss z",          // full time pattern
 195  729                      "H:mm:ss z",          // long time pattern
 196  730                      "H:mm:ss",            // medium time pattern
 197  731                      "H:mm",               // short time pattern
      732 +                }
      733 +            },
      734 +            { "buddhist.DatePatterns",
      735 +                new String[] {
 198  736                      "EEEE d MMMM G yyyy", // full date pattern
 199  737                      "d MMMM yyyy",        // long date pattern
 200  738                      "d MMM yyyy",         // medium date pattern
 201  739                      "d/M/yyyy",           // short date pattern
      740 +                }
      741 +            },
      742 +            { "buddhist.DateTimePatterns",
      743 +                new String[] {
 202  744                      "{1}, {0}"            // date-time pattern
 203  745                  }
 204  746              },
 205      -            { "java.util.JapaneseImperialCalendar.DateTimePatterns",
      747 +            { "japanese.TimePatterns",
 206  748                  new String[] {
 207  749                      "h:mm:ss a z",             // full time pattern
 208  750                      "h:mm:ss a z",             // long time pattern
 209  751                      "h:mm:ss a",               // medium time pattern
 210  752                      "h:mm a",                  // short time pattern
      753 +                }
      754 +            },
      755 +            { "japanese.DatePatterns",
      756 +                new String[] {
 211  757                      "GGGG yyyy MMMM d (EEEE)", // full date pattern
 212  758                      "GGGG yyyy MMMM d",        // long date pattern
 213  759                      "GGGG yyyy MMM d",         // medium date pattern
 214  760                      "Gy.MM.dd",                // short date pattern
      761 +                }
      762 +            },
      763 +            { "japanese.DateTimePatterns",
      764 +                new String[] {
 215  765                      "{1} {0}"                  // date-time pattern
 216  766                  }
 217  767              },
 218  768              { "DateTimePatternChars", "GyMdkHmsSEDFwWahKzZ" },
 219  769          };
 220  770      }
 221  771  }
    
XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX