index.js 7.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200
  1. "use strict";
  2. Object.defineProperty(exports, "__esModule", {
  3. value: true
  4. });
  5. exports.default = void 0;
  6. var _index = _interopRequireDefault(require("../../../_lib/buildLocalizeFn/index.js"));
  7. function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
  8. /**
  9. * General information
  10. * Reference: https://aplicacions.llengua.gencat.cat
  11. * Reference: https://www.uoc.edu/portal/ca/servei-linguistic/convencions/abreviacions/simbols/simbols-habituals.html
  12. */
  13. /**
  14. * Abans de Crist: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=abans+de+crist&action=Principal&method=detall_completa&numPagina=1&idHit=6876&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=6876&titol=abans%20de%20Crist%20(abreviatura)%20/%20abans%20de%20Crist%20(sigla)&numeroResultat=1&clickLink=detall&tipusCerca=cerca.fitxes
  15. * Desprest de Crist: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=despr%E9s+de+crist&action=Principal&method=detall_completa&numPagina=1&idHit=6879&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=6879&titol=despr%E9s%20de%20Crist%20(sigla)%20/%20despr%E9s%20de%20Crist%20(abreviatura)&numeroResultat=1&clickLink=detall&tipusCerca=cerca.fitxes
  16. */
  17. var eraValues = {
  18. narrow: ['aC', 'dC'],
  19. abbreviated: ['a. de C.', 'd. de C.'],
  20. wide: ['abans de Crist', 'després de Crist']
  21. };
  22. var quarterValues = {
  23. narrow: ['1', '2', '3', '4'],
  24. abbreviated: ['T1', 'T2', 'T3', 'T4'],
  25. wide: ['1r trimestre', '2n trimestre', '3r trimestre', '4t trimestre']
  26. /**
  27. * Dins d'un text convé fer servir la forma sencera dels mesos, ja que sempre és més clar el mot sencer que l'abreviatura, encara que aquesta sigui força coneguda.
  28. * Cal reservar, doncs, les abreviatures per a les llistes o classificacions, els gràfics, les taules o quadres estadístics, els textos publicitaris, etc.
  29. *
  30. * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=abreviacions+mesos&action=Principal&method=detall_completa&numPagina=1&idHit=8402&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=8402&titol=abreviatures%20dels%20mesos%20de%20l%27any&numeroResultat=5&clickLink=detall&tipusCerca=cerca.fitxes
  31. */
  32. };
  33. var monthValues = {
  34. narrow: ['GN', 'FB', 'MÇ', 'AB', 'MG', 'JN', 'JL', 'AG', 'ST', 'OC', 'NV', 'DS'],
  35. /**
  36. * Les abreviatures dels mesos de l'any es formen seguint una de les normes generals de formació d'abreviatures.
  37. * S'escriu la primera síl·laba i les consonants de la síl·laba següent anteriors a la primera vocal.
  38. * Els mesos de març, maig i juny no s'abreugen perquè són paraules d'una sola síl·laba.
  39. */
  40. abbreviated: ['gen.', 'febr.', 'març', 'abr.', 'maig', 'juny', 'jul.', 'ag.', 'set.', 'oct.', 'nov.', 'des.'],
  41. wide: ['gener', 'febrer', 'març', 'abril', 'maig', 'juny', 'juliol', 'agost', 'setembre', 'octubre', 'novembre', 'desembre']
  42. /**
  43. * Les abreviatures dels dies de la setmana comencen totes amb la lletra d.
  44. * Tot seguit porten la consonant següent a la i, excepte en el cas de dimarts, dimecres i diumenge, en què aquesta consonant és la m i, per tant, hi podria haver confusió.
  45. * Per evitar-ho, s'ha substituït la m per una t (en el cas de dimarts), una c (en el cas de dimecres) i una g (en el cas de diumenge), respectivament.
  46. *
  47. * Seguint la norma general d'ús de les abreviatures, les dels dies de la setmana sempre porten punt final.
  48. * Igualment, van amb la primera lletra en majúscula quan la paraula sencera també hi aniria.
  49. * En canvi, van amb la primera lletra en minúscula quan la inicial de la paraula sencera també hi aniria.
  50. *
  51. * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?input_cercar=abreviatures+dies&action=Principal&method=detall_completa&numPagina=1&idHit=8387&database=FITXES_PUB&tipusFont=Fitxes%20de%20l%27Optimot&idFont=8387&titol=abreviatures%20dels%20dies%20de%20la%20setmana&numeroResultat=1&clickLink=detall&tipusCerca=cerca.tot
  52. */
  53. };
  54. var dayValues = {
  55. narrow: ['dg.', 'dl.', 'dt.', 'dm.', 'dj.', 'dv.', 'ds.'],
  56. short: ['dg.', 'dl.', 'dt.', 'dm.', 'dj.', 'dv.', 'ds.'],
  57. abbreviated: ['dg.', 'dl.', 'dt.', 'dm.', 'dj.', 'dv.', 'ds.'],
  58. wide: ['diumenge', 'dilluns', 'dimarts', 'dimecres', 'dijous', 'divendres', 'dissabte']
  59. /**
  60. * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/index.html?action=Principal&method=detall&input_cercar=parts+del+dia&numPagina=1&database=FITXES_PUB&idFont=12801&idHit=12801&tipusFont=Fitxes+de+l%27Optimot&numeroResultat=1&databases_avansada=&categories_avansada=&clickLink=detall&titol=Nom+de+les+parts+del+dia&tematica=&tipusCerca=cerca.fitxes
  61. */
  62. };
  63. var dayPeriodValues = {
  64. narrow: {
  65. am: 'am',
  66. pm: 'pm',
  67. midnight: 'mitjanit',
  68. noon: 'migdia',
  69. morning: 'matí',
  70. afternoon: 'tarda',
  71. evening: 'vespre',
  72. night: 'nit'
  73. },
  74. abbreviated: {
  75. am: 'a.m.',
  76. pm: 'p.m.',
  77. midnight: 'mitjanit',
  78. noon: 'migdia',
  79. morning: 'matí',
  80. afternoon: 'tarda',
  81. evening: 'vespre',
  82. night: 'nit'
  83. },
  84. wide: {
  85. am: 'ante meridiem',
  86. pm: 'post meridiem',
  87. midnight: 'mitjanit',
  88. noon: 'migdia',
  89. morning: 'matí',
  90. afternoon: 'tarda',
  91. evening: 'vespre',
  92. night: 'nit'
  93. }
  94. };
  95. var formattingDayPeriodValues = {
  96. narrow: {
  97. am: 'am',
  98. pm: 'pm',
  99. midnight: 'de la mitjanit',
  100. noon: 'del migdia',
  101. morning: 'del matí',
  102. afternoon: 'de la tarda',
  103. evening: 'del vespre',
  104. night: 'de la nit'
  105. },
  106. abbreviated: {
  107. am: 'AM',
  108. pm: 'PM',
  109. midnight: 'de la mitjanit',
  110. noon: 'del migdia',
  111. morning: 'del matí',
  112. afternoon: 'de la tarda',
  113. evening: 'del vespre',
  114. night: 'de la nit'
  115. },
  116. wide: {
  117. am: 'ante meridiem',
  118. pm: 'post meridiem',
  119. midnight: 'de la mitjanit',
  120. noon: 'del migdia',
  121. morning: 'del matí',
  122. afternoon: 'de la tarda',
  123. evening: 'del vespre',
  124. night: 'de la nit'
  125. }
  126. /**
  127. * Quan van en singular, els nombres ordinals es representen, en forma d’abreviatura, amb la xifra seguida de l’última lletra del mot desplegat.
  128. * És optatiu posar punt després de la lletra.
  129. *
  130. * Reference: https://aplicacions.llengua.gencat.cat/llc/AppJava/pdf/abrevia.pdf#page=18
  131. *
  132. * @param {Number} dirtyNumber
  133. * @param {Object} [_dirtyOptions]
  134. */
  135. };
  136. function ordinalNumber(dirtyNumber, _dirtyOptions) {
  137. var number = Number(dirtyNumber);
  138. var rem100 = number % 100;
  139. if (rem100 > 20 || rem100 < 10) {
  140. switch (rem100 % 10) {
  141. case 1:
  142. return number + 'r';
  143. case 2:
  144. return number + 'n';
  145. case 3:
  146. return number + 'r';
  147. case 4:
  148. return number + 't';
  149. }
  150. }
  151. return number + 'è';
  152. }
  153. var localize = {
  154. ordinalNumber: ordinalNumber,
  155. era: (0, _index.default)({
  156. values: eraValues,
  157. defaultWidth: 'wide'
  158. }),
  159. quarter: (0, _index.default)({
  160. values: quarterValues,
  161. defaultWidth: 'wide',
  162. argumentCallback: function (quarter) {
  163. return Number(quarter) - 1;
  164. }
  165. }),
  166. month: (0, _index.default)({
  167. values: monthValues,
  168. defaultWidth: 'wide'
  169. }),
  170. day: (0, _index.default)({
  171. values: dayValues,
  172. defaultWidth: 'wide'
  173. }),
  174. dayPeriod: (0, _index.default)({
  175. values: dayPeriodValues,
  176. defaultWidth: 'wide',
  177. formattingValues: formattingDayPeriodValues,
  178. defaultFormattingWidth: 'wide'
  179. })
  180. };
  181. var _default = localize;
  182. exports.default = _default;
  183. module.exports = exports.default;