Files
sub2apipay/src/lib/locale.ts
erio 2492031e13 feat: 全站多语言支持 (i18n),lang=en 显示英文,其余默认中文
新增 src/lib/locale.ts 作为统一多语言入口,覆盖前台支付链路、
管理后台、API/服务层错误文案,共 35 个文件。URL 参数 lang 全链路透传,
包括 Stripe return_url、页面跳转、layout html lang 属性等。

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-09 18:33:57 +08:00

21 lines
541 B
TypeScript

export type Locale = 'zh' | 'en';
export function resolveLocale(lang: string | null | undefined): Locale {
return lang?.trim().toLowerCase() === 'en' ? 'en' : 'zh';
}
export function isEnglish(locale: Locale): boolean {
return locale === 'en';
}
export function pickLocaleText<T>(locale: Locale, zh: T, en: T): T {
return locale === 'en' ? en : zh;
}
export function applyLocaleToSearchParams(params: URLSearchParams, locale: Locale): URLSearchParams {
if (locale === 'en') {
params.set('lang', 'en');
}
return params;
}