AwsLinker/lib/utils.ts

51 lines
1.2 KiB
TypeScript
Raw Permalink Normal View History

2025-09-16 17:19:58 +08:00
import { clsx, type ClassValue } from "clsx"
import { twMerge } from "tailwind-merge"
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs))
}
export function formatDate(dateString: string, locale: string): string {
const date = new Date(dateString);
const options: Intl.DateTimeFormatOptions = {
year: 'numeric',
month: 'long',
day: 'numeric',
};
return date.toLocaleDateString(locale === 'zh' ? 'zh-CN' : locale === 'zh-TW' ? 'zh-TW' : 'en-US', options);
}
export function getLocalizedPath(path: string, locale: string): string {
if (locale === 'zh') {
return path;
}
return `/${locale}${path}`;
}
export function getLanguageFromLocale(locale: string): string {
switch (locale) {
case 'zh':
return 'zh-CN';
case 'zh-TW':
return 'zh-TW';
case 'en':
return 'en';
default:
return 'zh-CN';
}
}
export function getLocaleFromLanguage(language: string): string {
switch (language) {
case 'zh-CN':
return 'zh';
case 'zh-TW':
return 'zh-TW';
case 'en':
return 'en';
default:
return 'zh';
}
}