pl.js 4.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. //! moment.js locale configuration
  2. //! locale : Polish [pl]
  3. //! author : Rafal Hirsz : https://github.com/evoL
  4. import moment from '../moment';
  5. var monthsNominative = 'styczeń_luty_marzec_kwiecień_maj_czerwiec_lipiec_sierpień_wrzesień_październik_listopad_grudzień'.split(
  6. '_'
  7. ),
  8. monthsSubjective = 'stycznia_lutego_marca_kwietnia_maja_czerwca_lipca_sierpnia_września_października_listopada_grudnia'.split(
  9. '_'
  10. );
  11. function plural(n) {
  12. return n % 10 < 5 && n % 10 > 1 && ~~(n / 10) % 10 !== 1;
  13. }
  14. function translate(number, withoutSuffix, key) {
  15. var result = number + ' ';
  16. switch (key) {
  17. case 'ss':
  18. return result + (plural(number) ? 'sekundy' : 'sekund');
  19. case 'm':
  20. return withoutSuffix ? 'minuta' : 'minutę';
  21. case 'mm':
  22. return result + (plural(number) ? 'minuty' : 'minut');
  23. case 'h':
  24. return withoutSuffix ? 'godzina' : 'godzinę';
  25. case 'hh':
  26. return result + (plural(number) ? 'godziny' : 'godzin');
  27. case 'MM':
  28. return result + (plural(number) ? 'miesiące' : 'miesięcy');
  29. case 'yy':
  30. return result + (plural(number) ? 'lata' : 'lat');
  31. }
  32. }
  33. export default moment.defineLocale('pl', {
  34. months: function (momentToFormat, format) {
  35. if (!momentToFormat) {
  36. return monthsNominative;
  37. } else if (format === '') {
  38. // Hack: if format empty we know this is used to generate
  39. // RegExp by moment. Give then back both valid forms of months
  40. // in RegExp ready format.
  41. return (
  42. '(' +
  43. monthsSubjective[momentToFormat.month()] +
  44. '|' +
  45. monthsNominative[momentToFormat.month()] +
  46. ')'
  47. );
  48. } else if (/D MMMM/.test(format)) {
  49. return monthsSubjective[momentToFormat.month()];
  50. } else {
  51. return monthsNominative[momentToFormat.month()];
  52. }
  53. },
  54. monthsShort: 'sty_lut_mar_kwi_maj_cze_lip_sie_wrz_paź_lis_gru'.split('_'),
  55. weekdays: 'niedziela_poniedziałek_wtorek_środa_czwartek_piątek_sobota'.split(
  56. '_'
  57. ),
  58. weekdaysShort: 'ndz_pon_wt_śr_czw_pt_sob'.split('_'),
  59. weekdaysMin: 'Nd_Pn_Wt_Śr_Cz_Pt_So'.split('_'),
  60. longDateFormat: {
  61. LT: 'HH:mm',
  62. LTS: 'HH:mm:ss',
  63. L: 'DD.MM.YYYY',
  64. LL: 'D MMMM YYYY',
  65. LLL: 'D MMMM YYYY HH:mm',
  66. LLLL: 'dddd, D MMMM YYYY HH:mm',
  67. },
  68. calendar: {
  69. sameDay: '[Dziś o] LT',
  70. nextDay: '[Jutro o] LT',
  71. nextWeek: function () {
  72. switch (this.day()) {
  73. case 0:
  74. return '[W niedzielę o] LT';
  75. case 2:
  76. return '[We wtorek o] LT';
  77. case 3:
  78. return '[W środę o] LT';
  79. case 6:
  80. return '[W sobotę o] LT';
  81. default:
  82. return '[W] dddd [o] LT';
  83. }
  84. },
  85. lastDay: '[Wczoraj o] LT',
  86. lastWeek: function () {
  87. switch (this.day()) {
  88. case 0:
  89. return '[W zeszłą niedzielę o] LT';
  90. case 3:
  91. return '[W zeszłą środę o] LT';
  92. case 6:
  93. return '[W zeszłą sobotę o] LT';
  94. default:
  95. return '[W zeszły] dddd [o] LT';
  96. }
  97. },
  98. sameElse: 'L',
  99. },
  100. relativeTime: {
  101. future: 'za %s',
  102. past: '%s temu',
  103. s: 'kilka sekund',
  104. ss: translate,
  105. m: translate,
  106. mm: translate,
  107. h: translate,
  108. hh: translate,
  109. d: '1 dzień',
  110. dd: '%d dni',
  111. M: 'miesiąc',
  112. MM: translate,
  113. y: 'rok',
  114. yy: translate,
  115. },
  116. dayOfMonthOrdinalParse: /\d{1,2}\./,
  117. ordinal: '%d.',
  118. week: {
  119. dow: 1, // Monday is the first day of the week.
  120. doy: 4, // The week that contains Jan 4th is the first week of the year.
  121. },
  122. });