feat: Update i18n configuration, refactor getRequestConfig, and improve language support
This commit is contained in:
14
src/app/layout.tsx
Normal file
14
src/app/layout.tsx
Normal file
@@ -0,0 +1,14 @@
|
|||||||
|
|
||||||
|
import {ReactNode} from 'react';
|
||||||
|
|
||||||
|
|
||||||
|
type Props = {
|
||||||
|
children: ReactNode;
|
||||||
|
};
|
||||||
|
|
||||||
|
|
||||||
|
// Since we have a `not-found.tsx` page on the root, a layout file
|
||||||
|
// is required, even if it's just passing children through.
|
||||||
|
export default function RootLayout({children}: Props) {
|
||||||
|
return children;
|
||||||
|
}
|
||||||
7
src/app/page.tsx
Normal file
7
src/app/page.tsx
Normal file
@@ -0,0 +1,7 @@
|
|||||||
|
|
||||||
|
import {redirect} from 'next/navigation';
|
||||||
|
|
||||||
|
|
||||||
|
export default function RootPage() {
|
||||||
|
redirect('/en');
|
||||||
|
}
|
||||||
@@ -1,22 +0,0 @@
|
|||||||
import createMiddleware from 'next-intl/middleware';
|
|
||||||
import {NextRequest} from 'next/server';
|
|
||||||
|
|
||||||
export default async function middleware(request: NextRequest) {
|
|
||||||
// Step 1: Use the incoming request (example)
|
|
||||||
const defaultLocale = request.headers.get('x-your-custom-locale') || 'en';
|
|
||||||
|
|
||||||
// Step 2: Create and call the next-intl middleware (example)
|
|
||||||
const handleI18nRouting = createMiddleware({
|
|
||||||
locales: ['en', 'de'],
|
|
||||||
defaultLocale,
|
|
||||||
localePrefix: "always",
|
|
||||||
});
|
|
||||||
const response = handleI18nRouting(request);
|
|
||||||
|
|
||||||
return response;
|
|
||||||
}
|
|
||||||
|
|
||||||
export const config = {
|
|
||||||
// Match only internationalized pathnames
|
|
||||||
matcher: ['/', '/(de|en)/:path*']
|
|
||||||
};
|
|
||||||
Reference in New Issue
Block a user