codigo0/node_modules/date-fns/locale/ka/_lib/formatDistance.mjs
planetazuzu 5d7a6500fe refactor: Fase 1 - Clean Architecture, refactorización modular y eliminación de duplicidades
-  Ticket 1.1: Estructura Clean Architecture en backend
-  Ticket 1.2: Schemas Zod compartidos
-  Ticket 1.3: Refactorización drugs.ts (1362 → 8 archivos modulares)
-  Ticket 1.4: Refactorización procedures.ts (3583 → 6 archivos modulares)
-  Ticket 1.5: Eliminación de duplicidades (~50 líneas)

Cambios principales:
- Creada estructura Clean Architecture en backend/src/
- Schemas Zod compartidos en backend/src/shared/schemas/
- Refactorización modular de drugs y procedures
- Utilidades genéricas en src/utils/ (filter, validation)
- Eliminados scripts obsoletos y documentación antigua
- Corregidos errores: QueryClient, import test-error-handling
- Build verificado y funcionando correctamente
2026-01-25 21:09:47 +01:00

119 lines
3.7 KiB
JavaScript

const formatDistanceLocale = {
lessThanXSeconds: {
past: "{{count}} წამზე ნაკლები ხნის წინ",
present: "{{count}} წამზე ნაკლები",
future: "{{count}} წამზე ნაკლებში",
},
xSeconds: {
past: "{{count}} წამის წინ",
present: "{{count}} წამი",
future: "{{count}} წამში",
},
halfAMinute: {
past: "ნახევარი წუთის წინ",
present: "ნახევარი წუთი",
future: "ნახევარი წუთში",
},
lessThanXMinutes: {
past: "{{count}} წუთზე ნაკლები ხნის წინ",
present: "{{count}} წუთზე ნაკლები",
future: "{{count}} წუთზე ნაკლებში",
},
xMinutes: {
past: "{{count}} წუთის წინ",
present: "{{count}} წუთი",
future: "{{count}} წუთში",
},
aboutXHours: {
past: "დაახლოებით {{count}} საათის წინ",
present: "დაახლოებით {{count}} საათი",
future: "დაახლოებით {{count}} საათში",
},
xHours: {
past: "{{count}} საათის წინ",
present: "{{count}} საათი",
future: "{{count}} საათში",
},
xDays: {
past: "{{count}} დღის წინ",
present: "{{count}} დღე",
future: "{{count}} დღეში",
},
aboutXWeeks: {
past: "დაახლოებით {{count}} კვირას წინ",
present: "დაახლოებით {{count}} კვირა",
future: "დაახლოებით {{count}} კვირაში",
},
xWeeks: {
past: "{{count}} კვირას კვირა",
present: "{{count}} კვირა",
future: "{{count}} კვირაში",
},
aboutXMonths: {
past: "დაახლოებით {{count}} თვის წინ",
present: "დაახლოებით {{count}} თვე",
future: "დაახლოებით {{count}} თვეში",
},
xMonths: {
past: "{{count}} თვის წინ",
present: "{{count}} თვე",
future: "{{count}} თვეში",
},
aboutXYears: {
past: "დაახლოებით {{count}} წლის წინ",
present: "დაახლოებით {{count}} წელი",
future: "დაახლოებით {{count}} წელში",
},
xYears: {
past: "{{count}} წლის წინ",
present: "{{count}} წელი",
future: "{{count}} წელში",
},
overXYears: {
past: "{{count}} წელზე მეტი ხნის წინ",
present: "{{count}} წელზე მეტი",
future: "{{count}} წელზე მეტი ხნის შემდეგ",
},
almostXYears: {
past: "თითქმის {{count}} წლის წინ",
present: "თითქმის {{count}} წელი",
future: "თითქმის {{count}} წელში",
},
};
export const formatDistance = (token, count, options) => {
let result;
const tokenValue = formatDistanceLocale[token];
if (typeof tokenValue === "string") {
result = tokenValue;
} else if (
options?.addSuffix &&
options.comparison &&
options.comparison > 0
) {
result = tokenValue.future.replace("{{count}}", String(count));
} else if (options?.addSuffix) {
result = tokenValue.past.replace("{{count}}", String(count));
} else {
result = tokenValue.present.replace("{{count}}", String(count));
}
return result;
};