1 /* 2 * Copyright (c) 1996, 2019, Oracle and/or its affiliates. All rights reserved. 3 * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER. 4 * 5 * This code is free software; you can redistribute it and/or modify it 6 * under the terms of the GNU General Public License version 2 only, as 7 * published by the Free Software Foundation. Oracle designates this 8 * particular file as subject to the "Classpath" exception as provided 9 * by Oracle in the LICENSE file that accompanied this code. 10 * 11 * This code is distributed in the hope that it will be useful, but WITHOUT 12 * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or 13 * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License 14 * version 2 for more details (a copy is included in the LICENSE file that 15 * accompanied this code). 16 * 17 * You should have received a copy of the GNU General Public License version 18 * 2 along with this work; if not, write to the Free Software Foundation, 19 * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA. 20 * 21 * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA 22 * or visit www.oracle.com if you need additional information or have any 23 * questions. 24 */ 25 26 /* 27 */ 28 29 /* 30 * (C) Copyright Taligent, Inc. 1996, 1997 - All Rights Reserved 31 * (C) Copyright IBM Corp. 1996 - 1999 - All Rights Reserved 32 * 33 * The original version of this source code and documentation 34 * is copyrighted and owned by Taligent, Inc., a wholly-owned 35 * subsidiary of IBM. These materials are provided under terms 36 * of a License Agreement between Taligent and Sun. This technology 37 * is protected by multiple US and International patents. 38 * 39 * This notice and attribution to Taligent may not be removed. 40 * Taligent is a registered trademark of Taligent, Inc. 41 * 42 */ 43 44 /* 45 * COPYRIGHT AND PERMISSION NOTICE 46 * 47 * Copyright (C) 1991-2012 Unicode, Inc. All rights reserved. Distributed under 48 * the Terms of Use in http://www.unicode.org/copyright.html. 49 * 50 * Permission is hereby granted, free of charge, to any person obtaining a copy 51 * of the Unicode data files and any associated documentation (the "Data 52 * Files") or Unicode software and any associated documentation (the 53 * "Software") to deal in the Data Files or Software without restriction, 54 * including without limitation the rights to use, copy, modify, merge, 55 * publish, distribute, and/or sell copies of the Data Files or Software, and 56 * to permit persons to whom the Data Files or Software are furnished to do so, 57 * provided that (a) the above copyright notice(s) and this permission notice 58 * appear with all copies of the Data Files or Software, (b) both the above 59 * copyright notice(s) and this permission notice appear in associated 60 * documentation, and (c) there is clear notice in each modified Data File or 61 * in the Software as well as in the documentation associated with the Data 62 * File(s) or Software that the data or software has been modified. 63 * 64 * THE DATA FILES AND SOFTWARE ARE PROVIDED "AS IS", WITHOUT WARRANTY OF ANY 65 * KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 66 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF 67 * THIRD PARTY RIGHTS. IN NO EVENT SHALL THE COPYRIGHT HOLDER OR HOLDERS 68 * INCLUDED IN THIS NOTICE BE LIABLE FOR ANY CLAIM, OR ANY SPECIAL INDIRECT OR 69 * CONSEQUENTIAL DAMAGES, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, 70 * DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR OTHER 71 * TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE 72 * OF THE DATA FILES OR SOFTWARE. 73 * 74 * Except as contained in this notice, the name of a copyright holder shall not 75 * be used in advertising or otherwise to promote the sale, use or other 76 * dealings in these Data Files or Software without prior written authorization 77 * of the copyright holder. 78 */ 79 80 package sun.text.resources; 81 82 import sun.util.resources.ParallelListResourceBundle; 83 84 public class FormatData extends ParallelListResourceBundle { 85 /** 86 * Overrides ListResourceBundle 87 */ 88 @Override 89 protected final Object[][] getContents() { 90 // Julian calendar era strings 91 final String[] julianEras = { 92 "BC", 93 "AD" 94 }; 95 96 // Thai Buddhist calendar era strings 97 final String[] buddhistEras = { 98 "BC", // BC 99 "B.E." // Buddhist Era 100 }; 101 102 // Japanese imperial calendar era abbreviations 103 final String[] japaneseEraAbbrs = { 104 "", 105 "M", 106 "T", 107 "S", 108 "H", 109 "N", // NewEra 110 }; 111 112 // Japanese imperial calendar era strings 113 final String[] japaneseEras = { 114 "", 115 "Meiji", 116 "Taisho", 117 "Showa", 118 "Heisei", 119 "NewEra", // NewEra 120 }; 121 122 return new Object[][] { 123 { "MonthNames", 124 new String[] { 125 "January", // january 126 "February", // february 127 "March", // march 128 "April", // april 129 "May", // may 130 "June", // june 131 "July", // july 132 "August", // august 133 "September", // september 134 "October", // october 135 "November", // november 136 "December", // december 137 "" // month 13 if applicable 138 } 139 }, 140 { "MonthAbbreviations", 141 new String[] { 142 "Jan", // abb january 143 "Feb", // abb february 144 "Mar", // abb march 145 "Apr", // abb april 146 "May", // abb may 147 "Jun", // abb june 148 "Jul", // abb july 149 "Aug", // abb august 150 "Sep", // abb september 151 "Oct", // abb october 152 "Nov", // abb november 153 "Dec", // abb december 154 "" // abb month 13 if applicable 155 } 156 }, 157 { "MonthNarrows", 158 new String[] { 159 "1", 160 "2", 161 "3", 162 "4", 163 "5", 164 "6", 165 "7", 166 "8", 167 "9", 168 "10", 169 "11", 170 "12", 171 "", 172 } 173 }, 174 { "DayNames", 175 new String[] { 176 "Sunday", // Sunday 177 "Monday", // Monday 178 "Tuesday", // Tuesday 179 "Wednesday", // Wednesday 180 "Thursday", // Thursday 181 "Friday", // Friday 182 "Saturday" // Saturday 183 } 184 }, 185 { "DayAbbreviations", 186 new String[] { 187 "Sun", // abb Sunday 188 "Mon", // abb Monday 189 "Tue", // abb Tuesday 190 "Wed", // abb Wednesday 191 "Thu", // abb Thursday 192 "Fri", // abb Friday 193 "Sat" // abb Saturday 194 } 195 }, 196 { "DayNarrows", 197 new String[] { 198 "S", 199 "M", 200 "T", 201 "W", 202 "T", 203 "F", 204 "S", 205 } 206 }, 207 { "AmPmMarkers", 208 new String[] { 209 "AM", // am marker 210 "PM" // pm marker 211 } 212 }, 213 { "narrow.AmPmMarkers", 214 new String[] { 215 "a", // am marker 216 "p" // pm marker 217 } 218 }, 219 { "Eras", 220 julianEras }, 221 { "short.Eras", 222 julianEras }, 223 { "narrow.Eras", 224 new String[] { 225 "B", 226 "A", 227 } 228 }, 229 { "buddhist.Eras", 230 buddhistEras 231 }, 232 { "buddhist.short.Eras", 233 buddhistEras 234 }, 235 { "buddhist.narrow.Eras", 236 buddhistEras 237 }, 238 { "japanese.Eras", 239 japaneseEras }, 240 { "japanese.short.Eras", 241 japaneseEraAbbrs 242 }, 243 { "japanese.narrow.Eras", 244 japaneseEraAbbrs 245 }, 246 { "japanese.FirstYear", 247 new String[] { // Japanese imperial calendar year name 248 // empty in English 249 } 250 }, 251 { "NumberPatterns", 252 new String[] { 253 "#,##0.###;-#,##0.###", // decimal pattern 254 "\u00a4 #,##0.00;-\u00a4 #,##0.00", // currency pattern 255 "#,##0%" // percent pattern 256 } 257 }, 258 { "DefaultNumberingSystem", "" }, 259 { "NumberElements", 260 new String[] { 261 ".", // decimal separator 262 ",", // group (thousands) separator 263 ";", // list separator 264 "%", // percent sign 265 "0", // native 0 digit 266 "#", // pattern digit 267 "-", // minus sign 268 "E", // exponential 269 "\u2030", // per mille 270 "\u221e", // infinity 271 "\ufffd" // NaN 272 } 273 }, 274 { "arab.NumberElements", 275 new String[] { 276 "\u066b", 277 "\u066c", 278 "\u061b", 279 "\u066a", 280 "\u0660", 281 "#", 282 "-", 283 "\u0627\u0633", 284 "\u0609", 285 "\u221e", 286 "NaN", 287 } 288 }, 289 { "arabext.NumberElements", 290 new String[] { 291 "\u066b", 292 "\u066c", 293 "\u061b", 294 "\u066a", 295 "\u06f0", 296 "#", 297 "-", 298 "\u00d7\u06f1\u06f0^", 299 "\u0609", 300 "\u221e", 301 "NaN", 302 } 303 }, 304 { "bali.NumberElements", 305 new String[] { 306 ".", 307 ",", 308 ";", 309 "%", 310 "\u1b50", 311 "#", 312 "-", 313 "E", 314 "\u2030", 315 "\u221e", 316 "NaN", 317 } 318 }, 319 { "beng.NumberElements", 320 new String[] { 321 ".", 322 ",", 323 ";", 324 "%", 325 "\u09e6", 326 "#", 327 "-", 328 "E", 329 "\u2030", 330 "\u221e", 331 "NaN", 332 } 333 }, 334 { "cham.NumberElements", 335 new String[] { 336 ".", 337 ",", 338 ";", 339 "%", 340 "\uaa50", 341 "#", 342 "-", 343 "E", 344 "\u2030", 345 "\u221e", 346 "NaN", 347 } 348 }, 349 { "deva.NumberElements", 350 new String[] { 351 ".", 352 ",", 353 ";", 354 "%", 355 "\u0966", 356 "#", 357 "-", 358 "E", 359 "\u2030", 360 "\u221e", 361 "NaN", 362 } 363 }, 364 { "fullwide.NumberElements", 365 new String[] { 366 ".", 367 ",", 368 ";", 369 "%", 370 "\uff10", 371 "#", 372 "-", 373 "E", 374 "\u2030", 375 "\u221e", 376 "NaN", 377 } 378 }, 379 { "gujr.NumberElements", 380 new String[] { 381 ".", 382 ",", 383 ";", 384 "%", 385 "\u0ae6", 386 "#", 387 "-", 388 "E", 389 "\u2030", 390 "\u221e", 391 "NaN", 392 } 393 }, 394 { "guru.NumberElements", 395 new String[] { 396 ".", 397 ",", 398 ";", 399 "%", 400 "\u0a66", 401 "#", 402 "-", 403 "E", 404 "\u2030", 405 "\u221e", 406 "NaN", 407 } 408 }, 409 { "java.NumberElements", 410 new String[] { 411 ".", 412 ",", 413 ";", 414 "%", 415 "\ua9d0", 416 "#", 417 "-", 418 "E", 419 "\u2030", 420 "\u221e", 421 "NaN", 422 } 423 }, 424 { "kali.NumberElements", 425 new String[] { 426 ".", 427 ",", 428 ";", 429 "%", 430 "\ua900", 431 "#", 432 "-", 433 "E", 434 "\u2030", 435 "\u221e", 436 "NaN", 437 } 438 }, 439 { "khmr.NumberElements", 440 new String[] { 441 ".", 442 ",", 443 ";", 444 "%", 445 "\u17e0", 446 "#", 447 "-", 448 "E", 449 "\u2030", 450 "\u221e", 451 "NaN", 452 } 453 }, 454 { "knda.NumberElements", 455 new String[] { 456 ".", 457 ",", 458 ";", 459 "%", 460 "\u0ce6", 461 "#", 462 "-", 463 "E", 464 "\u2030", 465 "\u221e", 466 "NaN", 467 } 468 }, 469 { "laoo.NumberElements", 470 new String[] { 471 ".", 472 ",", 473 ";", 474 "%", 475 "\u0ed0", 476 "#", 477 "-", 478 "E", 479 "\u2030", 480 "\u221e", 481 "NaN", 482 } 483 }, 484 { "lana.NumberElements", 485 new String[] { 486 ".", 487 ",", 488 ";", 489 "%", 490 "\u1a80", 491 "#", 492 "-", 493 "E", 494 "\u2030", 495 "\u221e", 496 "NaN", 497 } 498 }, 499 { "lanatham.NumberElements", 500 new String[] { 501 ".", 502 ",", 503 ";", 504 "%", 505 "\u1a90", 506 "#", 507 "-", 508 "E", 509 "\u2030", 510 "\u221e", 511 "NaN", 512 } 513 }, 514 { "latn.NumberElements", 515 new String[] { 516 ".", // decimal separator 517 ",", // group (thousands) separator 518 ";", // list separator 519 "%", // percent sign 520 "0", // native 0 digit 521 "#", // pattern digit 522 "-", // minus sign 523 "E", // exponential 524 "\u2030", // per mille 525 "\u221e", // infinity 526 "\ufffd" // NaN 527 } 528 }, 529 { "lepc.NumberElements", 530 new String[] { 531 ".", 532 ",", 533 ";", 534 "%", 535 "\u1c40", 536 "#", 537 "-", 538 "E", 539 "\u2030", 540 "\u221e", 541 "NaN", 542 } 543 }, 544 { "limb.NumberElements", 545 new String[] { 546 ".", 547 ",", 548 ";", 549 "%", 550 "\u1946", 551 "#", 552 "-", 553 "E", 554 "\u2030", 555 "\u221e", 556 "NaN", 557 } 558 }, 559 { "mlym.NumberElements", 560 new String[] { 561 ".", 562 ",", 563 ";", 564 "%", 565 "\u0d66", 566 "#", 567 "-", 568 "E", 569 "\u2030", 570 "\u221e", 571 "NaN", 572 } 573 }, 574 { "mong.NumberElements", 575 new String[] { 576 ".", 577 ",", 578 ";", 579 "%", 580 "\u1810", 581 "#", 582 "-", 583 "E", 584 "\u2030", 585 "\u221e", 586 "NaN", 587 } 588 }, 589 { "mtei.NumberElements", 590 new String[] { 591 ".", 592 ",", 593 ";", 594 "%", 595 "\uabf0", 596 "#", 597 "-", 598 "E", 599 "\u2030", 600 "\u221e", 601 "NaN", 602 } 603 }, 604 { "mymr.NumberElements", 605 new String[] { 606 ".", 607 ",", 608 ";", 609 "%", 610 "\u1040", 611 "#", 612 "-", 613 "E", 614 "\u2030", 615 "\u221e", 616 "NaN", 617 } 618 }, 619 { "mymrshan.NumberElements", 620 new String[] { 621 ".", 622 ",", 623 ";", 624 "%", 625 "\u1090", 626 "#", 627 "-", 628 "E", 629 "\u2030", 630 "\u221e", 631 "NaN", 632 } 633 }, 634 { "nkoo.NumberElements", 635 new String[] { 636 ".", 637 ",", 638 ";", 639 "%", 640 "\u07c0", 641 "#", 642 "-", 643 "E", 644 "\u2030", 645 "\u221e", 646 "NaN", 647 } 648 }, 649 { "olck.NumberElements", 650 new String[] { 651 ".", 652 ",", 653 ";", 654 "%", 655 "\u1c50", 656 "#", 657 "-", 658 "E", 659 "\u2030", 660 "\u221e", 661 "NaN", 662 } 663 }, 664 { "orya.NumberElements", 665 new String[] { 666 ".", 667 ",", 668 ";", 669 "%", 670 "\u0b66", 671 "#", 672 "-", 673 "E", 674 "\u2030", 675 "\u221e", 676 "NaN", 677 } 678 }, 679 { "saur.NumberElements", 680 new String[] { 681 ".", 682 ",", 683 ";", 684 "%", 685 "\ua8d0", 686 "#", 687 "-", 688 "E", 689 "\u2030", 690 "\u221e", 691 "NaN", 692 } 693 }, 694 { "sund.NumberElements", 695 new String[] { 696 ".", 697 ",", 698 ";", 699 "%", 700 "\u1bb0", 701 "#", 702 "-", 703 "E", 704 "\u2030", 705 "\u221e", 706 "NaN", 707 } 708 }, 709 { "talu.NumberElements", 710 new String[] { 711 ".", 712 ",", 713 ";", 714 "%", 715 "\u19d0", 716 "#", 717 "-", 718 "E", 719 "\u2030", 720 "\u221e", 721 "NaN", 722 } 723 }, 724 { "tamldec.NumberElements", 725 new String[] { 726 ".", 727 ",", 728 ";", 729 "%", 730 "\u0be6", 731 "#", 732 "-", 733 "E", 734 "\u2030", 735 "\u221e", 736 "NaN", 737 } 738 }, 739 { "telu.NumberElements", 740 new String[] { 741 ".", 742 ",", 743 ";", 744 "%", 745 "\u0c66", 746 "#", 747 "-", 748 "E", 749 "\u2030", 750 "\u221e", 751 "NaN", 752 } 753 }, 754 { "thai.NumberElements", 755 new String[] { 756 ".", // decimal separator 757 ",", // group (thousands) separator 758 ";", // list separator 759 "%", // percent sign 760 "\u0E50", // native 0 digit 761 "#", // pattern digit 762 "-", // minus sign 763 "E", // exponential 764 "\u2030", // per mille 765 "\u221e", // infinity 766 "\ufffd" // NaN 767 } 768 }, 769 { "tibt.NumberElements", 770 new String[] { 771 ".", 772 ",", 773 ";", 774 "%", 775 "\u0f20", 776 "#", 777 "-", 778 "E", 779 "\u2030", 780 "\u221e", 781 "NaN", 782 } 783 }, 784 { "vaii.NumberElements", 785 new String[] { 786 ".", 787 ",", 788 ";", 789 "%", 790 "\ua620", 791 "#", 792 "-", 793 "E", 794 "\u2030", 795 "\u221e", 796 "NaN", 797 } 798 }, 799 { "TimePatterns", 800 new String[] { 801 "h:mm:ss a z", // full time pattern 802 "h:mm:ss a z", // long time pattern 803 "h:mm:ss a", // medium time pattern 804 "h:mm a", // short time pattern 805 } 806 }, 807 { "DatePatterns", 808 new String[] { 809 "EEEE, MMMM d, yyyy", // full date pattern 810 "MMMM d, yyyy", // long date pattern 811 "MMM d, yyyy", // medium date pattern 812 "M/d/yy", // short date pattern 813 } 814 }, 815 { "DateTimePatterns", 816 new String[] { 817 "{1} {0}" // date-time pattern 818 } 819 }, 820 { "buddhist.TimePatterns", 821 new String[] { 822 "H:mm:ss z", // full time pattern 823 "H:mm:ss z", // long time pattern 824 "H:mm:ss", // medium time pattern 825 "H:mm", // short time pattern 826 } 827 }, 828 { "buddhist.DatePatterns", 829 new String[] { 830 "EEEE d MMMM G yyyy", // full date pattern 831 "d MMMM yyyy", // long date pattern 832 "d MMM yyyy", // medium date pattern 833 "d/M/yyyy", // short date pattern 834 } 835 }, 836 { "buddhist.DateTimePatterns", 837 new String[] { 838 "{1}, {0}" // date-time pattern 839 } 840 }, 841 { "japanese.TimePatterns", 842 new String[] { 843 "h:mm:ss a z", // full time pattern 844 "h:mm:ss a z", // long time pattern 845 "h:mm:ss a", // medium time pattern 846 "h:mm a", // short time pattern 847 } 848 }, 849 { "japanese.DatePatterns", 850 new String[] { 851 "GGGG yyyy MMMM d (EEEE)", // full date pattern 852 "GGGG yyyy MMMM d", // long date pattern 853 "GGGG yyyy MMM d", // medium date pattern 854 "Gy.MM.dd", // short date pattern 855 } 856 }, 857 { "japanese.DateTimePatterns", 858 new String[] { 859 "{1} {0}" // date-time pattern 860 } 861 }, 862 { "DateTimePatternChars", "GyMdkHmsSEDFwWahKzZ" }, 863 864 // Workaround for islamic-umalqura name support (JDK-8015986) 865 { "calendarname.islamic-umalqura", "Islamic Umm al-Qura Calendar" }, 866 }; 867 } 868 }