新增 src/lib/locale.ts 作为统一多语言入口,覆盖前台支付链路、 管理后台、API/服务层错误文案,共 35 个文件。URL 参数 lang 全链路透传, 包括 Stripe return_url、页面跳转、layout html lang 属性等。 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
21 lines
541 B
TypeScript
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;
|
|
}
|