index.js 3.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125
  1. import buildLocalizeFn from "../../../_lib/buildLocalizeFn/index.js"; // Most data for localization are taken from this page
  2. // https://www.unicode.org/cldr/charts/32/summary/ms.html
  3. var eraValues = {
  4. narrow: ['SM', 'M'],
  5. abbreviated: ['SM', 'M'],
  6. wide: ['Sebelum Masihi', 'Masihi']
  7. };
  8. var quarterValues = {
  9. narrow: ['1', '2', '3', '4'],
  10. abbreviated: ['S1', 'S2', 'S3', 'S4'],
  11. wide: ['Suku pertama', 'Suku kedua', 'Suku ketiga', 'Suku keempat']
  12. };
  13. // Note: in Malay, the names of days of the week and months are capitalized.
  14. // If you are making a new locale based on this one, check if the same is true for the language you're working on.
  15. // Generally, formatted dates should look like they are in the middle of a sentence,
  16. // e.g. in Spanish language the weekdays and months should be in the lowercase.
  17. var monthValues = {
  18. narrow: ['J', 'F', 'M', 'A', 'M', 'J', 'J', 'O', 'S', 'O', 'N', 'D'],
  19. abbreviated: ['Jan', 'Feb', 'Mac', 'Apr', 'Mei', 'Jun', 'Jul', 'Ogo', 'Sep', 'Okt', 'Nov', 'Dis'],
  20. wide: ['Januari', 'Februari', 'Mac', 'April', 'Mei', 'Jun', 'Julai', 'Ogos', 'September', 'Oktober', 'November', 'Disember']
  21. };
  22. var dayValues = {
  23. narrow: ['A', 'I', 'S', 'R', 'K', 'J', 'S'],
  24. short: ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'],
  25. abbreviated: ['Ahd', 'Isn', 'Sel', 'Rab', 'Kha', 'Jum', 'Sab'],
  26. wide: ['Ahad', 'Isnin', 'Selasa', 'Rabu', 'Khamis', 'Jumaat', 'Sabtu']
  27. };
  28. var dayPeriodValues = {
  29. narrow: {
  30. am: 'am',
  31. pm: 'pm',
  32. midnight: 'tgh malam',
  33. noon: 'tgh hari',
  34. morning: 'pagi',
  35. afternoon: 'tengah hari',
  36. evening: 'petang',
  37. night: 'malam'
  38. },
  39. abbreviated: {
  40. am: 'AM',
  41. pm: 'PM',
  42. midnight: 'tengah malam',
  43. noon: 'tengah hari',
  44. morning: 'pagi',
  45. afternoon: 'tengah hari',
  46. evening: 'petang',
  47. night: 'malam'
  48. },
  49. wide: {
  50. am: 'a.m.',
  51. pm: 'p.m.',
  52. midnight: 'tengah malam',
  53. noon: 'tengah hari',
  54. morning: 'pagi',
  55. afternoon: 'tengah hari',
  56. evening: 'petang',
  57. night: 'malam'
  58. }
  59. };
  60. var formattingDayPeriodValues = {
  61. narrow: {
  62. am: 'am',
  63. pm: 'pm',
  64. midnight: 'tengah malam',
  65. noon: 'tengah hari',
  66. morning: 'pagi',
  67. afternoon: 'tengah hari',
  68. evening: 'petang',
  69. night: 'malam'
  70. },
  71. abbreviated: {
  72. am: 'AM',
  73. pm: 'PM',
  74. midnight: 'tengah malam',
  75. noon: 'tengah hari',
  76. morning: 'pagi',
  77. afternoon: 'tengah hari',
  78. evening: 'petang',
  79. night: 'malam'
  80. },
  81. wide: {
  82. am: 'a.m.',
  83. pm: 'p.m.',
  84. midnight: 'tengah malam',
  85. noon: 'tengah hari',
  86. morning: 'pagi',
  87. afternoon: 'tengah hari',
  88. evening: 'petang',
  89. night: 'malam'
  90. }
  91. };
  92. var ordinalNumber = function ordinalNumber(dirtyNumber, _options) {
  93. // Can't use "pertama", "kedua" because can't be parsed
  94. return 'ke-' + Number(dirtyNumber);
  95. };
  96. var localize = {
  97. ordinalNumber: ordinalNumber,
  98. era: buildLocalizeFn({
  99. values: eraValues,
  100. defaultWidth: 'wide'
  101. }),
  102. quarter: buildLocalizeFn({
  103. values: quarterValues,
  104. defaultWidth: 'wide',
  105. argumentCallback: function argumentCallback(quarter) {
  106. return quarter - 1;
  107. }
  108. }),
  109. month: buildLocalizeFn({
  110. values: monthValues,
  111. defaultWidth: 'wide'
  112. }),
  113. day: buildLocalizeFn({
  114. values: dayValues,
  115. defaultWidth: 'wide'
  116. }),
  117. dayPeriod: buildLocalizeFn({
  118. values: dayPeriodValues,
  119. defaultWidth: 'wide',
  120. formattingValues: formattingDayPeriodValues,
  121. defaultFormattingWidth: 'wide'
  122. })
  123. };
  124. export default localize;