20 lines
589 B
TypeScript
20 lines
589 B
TypeScript
import type { AppLocale } from "@cms/i18n"
|
|
import { hasLocale } from "next-intl"
|
|
import { getRequestConfig } from "next-intl/server"
|
|
|
|
import { routing } from "./routing"
|
|
|
|
export function resolveRequestLocale(requested: string | undefined): AppLocale {
|
|
return hasLocale(routing.locales, requested) ? requested : routing.defaultLocale
|
|
}
|
|
|
|
export default getRequestConfig(async ({ requestLocale }) => {
|
|
const requested = await requestLocale
|
|
const locale = resolveRequestLocale(requested)
|
|
|
|
return {
|
|
locale,
|
|
messages: (await import(`../messages/${locale}.json`)).default,
|
|
}
|
|
})
|