formatDistance.js 3.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122
  1. "use strict";
  2. exports.formatDistance = void 0;
  3. const formatDistanceLocale = {
  4. lessThanXSeconds: {
  5. past: "{{count}} წამზე ნაკლები ხნის წინ",
  6. present: "{{count}} წამზე ნაკლები",
  7. future: "{{count}} წამზე ნაკლებში",
  8. },
  9. xSeconds: {
  10. past: "{{count}} წამის წინ",
  11. present: "{{count}} წამი",
  12. future: "{{count}} წამში",
  13. },
  14. halfAMinute: {
  15. past: "ნახევარი წუთის წინ",
  16. present: "ნახევარი წუთი",
  17. future: "ნახევარი წუთში",
  18. },
  19. lessThanXMinutes: {
  20. past: "{{count}} წუთზე ნაკლები ხნის წინ",
  21. present: "{{count}} წუთზე ნაკლები",
  22. future: "{{count}} წუთზე ნაკლებში",
  23. },
  24. xMinutes: {
  25. past: "{{count}} წუთის წინ",
  26. present: "{{count}} წუთი",
  27. future: "{{count}} წუთში",
  28. },
  29. aboutXHours: {
  30. past: "დაახლოებით {{count}} საათის წინ",
  31. present: "დაახლოებით {{count}} საათი",
  32. future: "დაახლოებით {{count}} საათში",
  33. },
  34. xHours: {
  35. past: "{{count}} საათის წინ",
  36. present: "{{count}} საათი",
  37. future: "{{count}} საათში",
  38. },
  39. xDays: {
  40. past: "{{count}} დღის წინ",
  41. present: "{{count}} დღე",
  42. future: "{{count}} დღეში",
  43. },
  44. aboutXWeeks: {
  45. past: "დაახლოებით {{count}} კვირას წინ",
  46. present: "დაახლოებით {{count}} კვირა",
  47. future: "დაახლოებით {{count}} კვირაში",
  48. },
  49. xWeeks: {
  50. past: "{{count}} კვირას კვირა",
  51. present: "{{count}} კვირა",
  52. future: "{{count}} კვირაში",
  53. },
  54. aboutXMonths: {
  55. past: "დაახლოებით {{count}} თვის წინ",
  56. present: "დაახლოებით {{count}} თვე",
  57. future: "დაახლოებით {{count}} თვეში",
  58. },
  59. xMonths: {
  60. past: "{{count}} თვის წინ",
  61. present: "{{count}} თვე",
  62. future: "{{count}} თვეში",
  63. },
  64. aboutXYears: {
  65. past: "დაახლოებით {{count}} წლის წინ",
  66. present: "დაახლოებით {{count}} წელი",
  67. future: "დაახლოებით {{count}} წელში",
  68. },
  69. xYears: {
  70. past: "{{count}} წლის წინ",
  71. present: "{{count}} წელი",
  72. future: "{{count}} წელში",
  73. },
  74. overXYears: {
  75. past: "{{count}} წელზე მეტი ხნის წინ",
  76. present: "{{count}} წელზე მეტი",
  77. future: "{{count}} წელზე მეტი ხნის შემდეგ",
  78. },
  79. almostXYears: {
  80. past: "თითქმის {{count}} წლის წინ",
  81. present: "თითქმის {{count}} წელი",
  82. future: "თითქმის {{count}} წელში",
  83. },
  84. };
  85. const formatDistance = (token, count, options) => {
  86. let result;
  87. const tokenValue = formatDistanceLocale[token];
  88. if (typeof tokenValue === "string") {
  89. result = tokenValue;
  90. } else if (
  91. options?.addSuffix &&
  92. options.comparison &&
  93. options.comparison > 0
  94. ) {
  95. result = tokenValue.future.replace("{{count}}", String(count));
  96. } else if (options?.addSuffix) {
  97. result = tokenValue.past.replace("{{count}}", String(count));
  98. } else {
  99. result = tokenValue.present.replace("{{count}}", String(count));
  100. }
  101. return result;
  102. };
  103. exports.formatDistance = formatDistance;