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