Spaces:
Sleeping
Sleeping
| import { getRequestConfig } from "next-intl/server"; | |
| import { safe } from "ts-safe"; | |
| import { getLocaleAction } from "./get-locale"; | |
| import deepmerge from "deepmerge"; | |
| let defaultMessages: any = undefined; | |
| export default getRequestConfig(async () => { | |
| const locale = await getLocaleAction(); | |
| if (!defaultMessages) { | |
| defaultMessages = (await import(`../../messages/en.json`)).default; | |
| } | |
| const messages = await safe(() => import(`../../messages/${locale}.json`)) | |
| .map((m) => m.default) | |
| .orElse(defaultMessages); | |
| return { | |
| locale, | |
| messages: | |
| locale === "en" ? defaultMessages : deepmerge(defaultMessages, messages), | |
| getMessageFallback({ key, namespace }) { | |
| return `${namespace}.${key}`; | |
| }, | |
| }; | |
| }); | |