Spaces:
Sleeping
Sleeping
File size: 749 Bytes
05c5ed5 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | 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}`;
},
};
});
|