deerflow2/frontend/src/core/i18n/server.ts

18 lines
445 B
TypeScript

import { cookies } from "next/headers";
import { normalizeLocale, type Locale } from "./locale";
export async function detectLocaleServer(): Promise<Locale> {
const cookieStore = await cookies();
let locale = cookieStore.get("locale")?.value;
if (locale !== undefined) {
try {
locale = decodeURIComponent(locale);
} catch {
// Keep raw cookie value when decoding fails.
}
}
return normalizeLocale(locale);
}