1 /* 2 * Copyright (c) 1996, 2018, 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 { "short.CompactNumberPatterns", 800 new String[] { 801 "", 802 "", 803 "", 804 "0K", 805 "00K", 806 "000K", 807 "0M", 808 "00M", 809 "000M", 810 "0B", 811 "00B", 812 "000B", 813 "0T", 814 "00T", 815 "000T", 816 } 817 }, 818 { "long.CompactNumberPatterns", 819 new String[] { 820 "", 821 "", 822 "", 823 "0 thousand", 824 "00 thousand", 825 "000 thousand", 826 "0 million", 827 "00 million", 828 "000 million", 829 "0 billion", 830 "00 billion", 831 "000 billion", 832 "0 trillion", 833 "00 trillion", 834 "000 trillion", 835 } 836 }, 837 { "TimePatterns", 838 new String[] { 839 "h:mm:ss a z", // full time pattern 840 "h:mm:ss a z", // long time pattern 841 "h:mm:ss a", // medium time pattern 842 "h:mm a", // short time pattern 843 } 844 }, 845 { "DatePatterns", 846 new String[] { 847 "EEEE, MMMM d, yyyy", // full date pattern 848 "MMMM d, yyyy", // long date pattern 849 "MMM d, yyyy", // medium date pattern 850 "M/d/yy", // short date pattern 851 } 852 }, 853 { "DateTimePatterns", 854 new String[] { 855 "{1} {0}" // date-time pattern 856 } 857 }, 858 { "buddhist.TimePatterns", 859 new String[] { 860 "H:mm:ss z", // full time pattern 861 "H:mm:ss z", // long time pattern 862 "H:mm:ss", // medium time pattern 863 "H:mm", // short time pattern 864 } 865 }, 866 { "buddhist.DatePatterns", 867 new String[] { 868 "EEEE d MMMM G yyyy", // full date pattern 869 "d MMMM yyyy", // long date pattern 870 "d MMM yyyy", // medium date pattern 871 "d/M/yyyy", // short date pattern 872 } 873 }, 874 { "buddhist.DateTimePatterns", 875 new String[] { 876 "{1}, {0}" // date-time pattern 877 } 878 }, 879 { "japanese.TimePatterns", 880 new String[] { 881 "h:mm:ss a z", // full time pattern 882 "h:mm:ss a z", // long time pattern 883 "h:mm:ss a", // medium time pattern 884 "h:mm a", // short time pattern 885 } 886 }, 887 { "japanese.DatePatterns", 888 new String[] { 889 "GGGG yyyy MMMM d (EEEE)", // full date pattern 890 "GGGG yyyy MMMM d", // long date pattern 891 "GGGG yyyy MMM d", // medium date pattern 892 "Gy.MM.dd", // short date pattern 893 } 894 }, 895 { "japanese.DateTimePatterns", 896 new String[] { 897 "{1} {0}" // date-time pattern 898 } 899 }, 900 { "DateTimePatternChars", "GyMdkHmsSEDFwWahKzZ" }, 901 }; 902 } 903 }