timepiece/node_modules/date-fns/locale/sr/_lib/formatDistance.mjs

191 lines
4.8 KiB
JavaScript

const formatDistanceLocale = {
lessThanXSeconds: {
one: {
standalone: "мање од 1 секунде",
withPrepositionAgo: "мање од 1 секунде",
withPrepositionIn: "мање од 1 секунду",
},
dual: "мање од {{count}} секунде",
other: "мање од {{count}} секунди",
},
xSeconds: {
one: {
standalone: "1 секунда",
withPrepositionAgo: "1 секунде",
withPrepositionIn: "1 секунду",
},
dual: "{{count}} секунде",
other: "{{count}} секунди",
},
halfAMinute: "пола минуте",
lessThanXMinutes: {
one: {
standalone: "мање од 1 минуте",
withPrepositionAgo: "мање од 1 минуте",
withPrepositionIn: "мање од 1 минуту",
},
dual: "мање од {{count}} минуте",
other: "мање од {{count}} минута",
},
xMinutes: {
one: {
standalone: "1 минута",
withPrepositionAgo: "1 минуте",
withPrepositionIn: "1 минуту",
},
dual: "{{count}} минуте",
other: "{{count}} минута",
},
aboutXHours: {
one: {
standalone: "око 1 сат",
withPrepositionAgo: "око 1 сат",
withPrepositionIn: "око 1 сат",
},
dual: "око {{count}} сата",
other: "око {{count}} сати",
},
xHours: {
one: {
standalone: "1 сат",
withPrepositionAgo: "1 сат",
withPrepositionIn: "1 сат",
},
dual: "{{count}} сата",
other: "{{count}} сати",
},
xDays: {
one: {
standalone: "1 дан",
withPrepositionAgo: "1 дан",
withPrepositionIn: "1 дан",
},
dual: "{{count}} дана",
other: "{{count}} дана",
},
aboutXWeeks: {
one: {
standalone: "око 1 недељу",
withPrepositionAgo: "око 1 недељу",
withPrepositionIn: "око 1 недељу",
},
dual: "око {{count}} недеље",
other: "око {{count}} недеље",
},
xWeeks: {
one: {
standalone: "1 недељу",
withPrepositionAgo: "1 недељу",
withPrepositionIn: "1 недељу",
},
dual: "{{count}} недеље",
other: "{{count}} недеље",
},
aboutXMonths: {
one: {
standalone: "око 1 месец",
withPrepositionAgo: "око 1 месец",
withPrepositionIn: "око 1 месец",
},
dual: "око {{count}} месеца",
other: "око {{count}} месеци",
},
xMonths: {
one: {
standalone: "1 месец",
withPrepositionAgo: "1 месец",
withPrepositionIn: "1 месец",
},
dual: "{{count}} месеца",
other: "{{count}} месеци",
},
aboutXYears: {
one: {
standalone: "око 1 годину",
withPrepositionAgo: "око 1 годину",
withPrepositionIn: "око 1 годину",
},
dual: "око {{count}} године",
other: "око {{count}} година",
},
xYears: {
one: {
standalone: "1 година",
withPrepositionAgo: "1 године",
withPrepositionIn: "1 годину",
},
dual: "{{count}} године",
other: "{{count}} година",
},
overXYears: {
one: {
standalone: "преко 1 годину",
withPrepositionAgo: "преко 1 годину",
withPrepositionIn: "преко 1 годину",
},
dual: "преко {{count}} године",
other: "преко {{count}} година",
},
almostXYears: {
one: {
standalone: "готово 1 годину",
withPrepositionAgo: "готово 1 годину",
withPrepositionIn: "готово 1 годину",
},
dual: "готово {{count}} године",
other: "готово {{count}} година",
},
};
export const formatDistance = (token, count, options) => {
let result;
const tokenValue = formatDistanceLocale[token];
if (typeof tokenValue === "string") {
result = tokenValue;
} else if (count === 1) {
if (options?.addSuffix) {
if (options.comparison && options.comparison > 0) {
result = tokenValue.one.withPrepositionIn;
} else {
result = tokenValue.one.withPrepositionAgo;
}
} else {
result = tokenValue.one.standalone;
}
} else if (
count % 10 > 1 &&
count % 10 < 5 && // if last digit is between 2 and 4
String(count).substr(-2, 1) !== "1" // unless the 2nd to last digit is "1"
) {
result = tokenValue.dual.replace("{{count}}", String(count));
} else {
result = tokenValue.other.replace("{{count}}", String(count));
}
if (options?.addSuffix) {
if (options.comparison && options.comparison > 0) {
return "за " + result;
} else {
return "пре " + result;
}
}
return result;
};