fix(i18n): load messages by route locale
Import locale JSON messages directly in the [locale] layout to ensure DE pages render DE strings instead of falling back to EN. Co-authored-by: dennis <dennis@konkol.net>
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { NextIntlClientProvider } from "next-intl";
|
||||
import { getMessages, setRequestLocale } from "next-intl/server";
|
||||
import { setRequestLocale } from "next-intl/server";
|
||||
import React from "react";
|
||||
import ConsentBanner from "../components/ConsentBanner";
|
||||
|
||||
@@ -13,7 +13,9 @@ export default async function LocaleLayout({
|
||||
const { locale } = await params;
|
||||
// Ensure next-intl actually uses the route segment locale for this request.
|
||||
setRequestLocale(locale);
|
||||
const messages = await getMessages();
|
||||
// Load messages explicitly by route locale to avoid falling back to the wrong
|
||||
// language when request-level locale detection is unavailable/misconfigured.
|
||||
const messages = (await import(`../../messages/${locale}.json`)).default;
|
||||
|
||||
return (
|
||||
<NextIntlClientProvider locale={locale} messages={messages}>
|
||||
|
||||
Reference in New Issue
Block a user