Rocky_Mountain_Vending/.pnpm-store/v10/files/a6/5de3d2ebe6ff8cc7eae6991673e8cccc2166bd3923085f548a1c41c1f65eae2bd5f120b04d371d34404ca417527365265fb726d6ed57c34ee312bdc558daf8
DMleadgen 46d973904b
Initial commit: Rocky Mountain Vending website
Next.js website for Rocky Mountain Vending company featuring:
- Product catalog with Stripe integration
- Service areas and parts pages
- Admin dashboard with Clerk authentication
- SEO optimized pages with JSON-LD structured data

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-02-12 16:22:15 -07:00

249 lines
7.5 KiB
Text
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

const formatDistanceLocale = {
lessThanXSeconds: {
regular: {
one: "1 секундтан аз",
singularNominative: "{{count}} секундтан аз",
singularGenitive: "{{count}} секундтан аз",
pluralGenitive: "{{count}} секундтан аз",
},
future: {
one: "бір секундтан кейін",
singularNominative: "{{count}} секундтан кейін",
singularGenitive: "{{count}} секундтан кейін",
pluralGenitive: "{{count}} секундтан кейін",
},
},
xSeconds: {
regular: {
singularNominative: "{{count}} секунд",
singularGenitive: "{{count}} секунд",
pluralGenitive: "{{count}} секунд",
},
past: {
singularNominative: "{{count}} секунд бұрын",
singularGenitive: "{{count}} секунд бұрын",
pluralGenitive: "{{count}} секунд бұрын",
},
future: {
singularNominative: "{{count}} секундтан кейін",
singularGenitive: "{{count}} секундтан кейін",
pluralGenitive: "{{count}} секундтан кейін",
},
},
halfAMinute: (options) => {
if (options?.addSuffix) {
if (options.comparison && options.comparison > 0) {
return "жарты минут ішінде";
} else {
return "жарты минут бұрын";
}
}
return "жарты минут";
},
lessThanXMinutes: {
regular: {
one: "1 минуттан аз",
singularNominative: "{{count}} минуттан аз",
singularGenitive: "{{count}} минуттан аз",
pluralGenitive: "{{count}} минуттан аз",
},
future: {
one: "минуттан кем ",
singularNominative: "{{count}} минуттан кем",
singularGenitive: "{{count}} минуттан кем",
pluralGenitive: "{{count}} минуттан кем",
},
},
xMinutes: {
regular: {
singularNominative: "{{count}} минут",
singularGenitive: "{{count}} минут",
pluralGenitive: "{{count}} минут",
},
past: {
singularNominative: "{{count}} минут бұрын",
singularGenitive: "{{count}} минут бұрын",
pluralGenitive: "{{count}} минут бұрын",
},
future: {
singularNominative: "{{count}} минуттан кейін",
singularGenitive: "{{count}} минуттан кейін",
pluralGenitive: "{{count}} минуттан кейін",
},
},
aboutXHours: {
regular: {
singularNominative: "шамамен {{count}} сағат",
singularGenitive: "шамамен {{count}} сағат",
pluralGenitive: "шамамен {{count}} сағат",
},
future: {
singularNominative: "шамамен {{count}} сағаттан кейін",
singularGenitive: "шамамен {{count}} сағаттан кейін",
pluralGenitive: "шамамен {{count}} сағаттан кейін",
},
},
xHours: {
regular: {
singularNominative: "{{count}} сағат",
singularGenitive: "{{count}} сағат",
pluralGenitive: "{{count}} сағат",
},
},
xDays: {
regular: {
singularNominative: "{{count}} күн",
singularGenitive: "{{count}} күн",
pluralGenitive: "{{count}} күн",
},
future: {
singularNominative: "{{count}} күннен кейін",
singularGenitive: "{{count}} күннен кейін",
pluralGenitive: "{{count}} күннен кейін",
},
},
aboutXWeeks: {
type: "weeks",
one: "шамамен 1 апта",
other: "шамамен {{count}} апта",
},
xWeeks: {
type: "weeks",
one: "1 апта",
other: "{{count}} апта",
},
aboutXMonths: {
regular: {
singularNominative: "шамамен {{count}} ай",
singularGenitive: "шамамен {{count}} ай",
pluralGenitive: "шамамен {{count}} ай",
},
future: {
singularNominative: "шамамен {{count}} айдан кейін",
singularGenitive: "шамамен {{count}} айдан кейін",
pluralGenitive: "шамамен {{count}} айдан кейін",
},
},
xMonths: {
regular: {
singularNominative: "{{count}} ай",
singularGenitive: "{{count}} ай",
pluralGenitive: "{{count}} ай",
},
},
aboutXYears: {
regular: {
singularNominative: "шамамен {{count}} жыл",
singularGenitive: "шамамен {{count}} жыл",
pluralGenitive: "шамамен {{count}} жыл",
},
future: {
singularNominative: "шамамен {{count}} жылдан кейін",
singularGenitive: "шамамен {{count}} жылдан кейін",
pluralGenitive: "шамамен {{count}} жылдан кейін",
},
},
xYears: {
regular: {
singularNominative: "{{count}} жыл",
singularGenitive: "{{count}} жыл",
pluralGenitive: "{{count}} жыл",
},
future: {
singularNominative: "{{count}} жылдан кейін",
singularGenitive: "{{count}} жылдан кейін",
pluralGenitive: "{{count}} жылдан кейін",
},
},
overXYears: {
regular: {
singularNominative: "{{count}} жылдан астам",
singularGenitive: "{{count}} жылдан астам",
pluralGenitive: "{{count}} жылдан астам",
},
future: {
singularNominative: "{{count}} жылдан астам",
singularGenitive: "{{count}} жылдан астам",
pluralGenitive: "{{count}} жылдан астам",
},
},
almostXYears: {
regular: {
singularNominative: "{{count}} жылға жақын",
singularGenitive: "{{count}} жылға жақын",
pluralGenitive: "{{count}} жылға жақын",
},
future: {
singularNominative: "{{count}} жылдан кейін",
singularGenitive: "{{count}} жылдан кейін",
pluralGenitive: "{{count}} жылдан кейін",
},
},
};
function declension(scheme, count) {
// scheme for count=1 exists
if (scheme.one && count === 1) return scheme.one;
const rem10 = count % 10;
const rem100 = count % 100;
// 1, 21, 31, ...
if (rem10 === 1 && rem100 !== 11) {
return scheme.singularNominative.replace("{{count}}", String(count));
// 2, 3, 4, 22, 23, 24, 32 ...
} else if (rem10 >= 2 && rem10 <= 4 && (rem100 < 10 || rem100 > 20)) {
return scheme.singularGenitive.replace("{{count}}", String(count));
// 5, 6, 7, 8, 9, 10, 11, ...
} else {
return scheme.pluralGenitive.replace("{{count}}", String(count));
}
}
export const formatDistance = (token, count, options) => {
const tokenValue = formatDistanceLocale[token];
if (typeof tokenValue === "function") return tokenValue(options);
if (tokenValue.type === "weeks") {
return count === 1
? tokenValue.one
: tokenValue.other.replace("{{count}}", String(count));
}
if (options?.addSuffix) {
if (options.comparison && options.comparison > 0) {
if (tokenValue.future) {
return declension(tokenValue.future, count);
} else {
return declension(tokenValue.regular, count) + " кейін";
}
} else {
if (tokenValue.past) {
return declension(tokenValue.past, count);
} else {
return declension(tokenValue.regular, count) + " бұрын";
}
}
} else {
return declension(tokenValue.regular, count);
}
};