feat: Update i18n configuration, refactor getRequestConfig, and improve language support

This commit is contained in:
mauro-balades
2024-09-02 19:00:57 +02:00
parent 5779ea88ef
commit 27b23e8336
3 changed files with 21 additions and 22 deletions

14
src/app/layout.tsx Normal file
View 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
View File

@@ -0,0 +1,7 @@
import {redirect} from 'next/navigation';
export default function RootPage() {
redirect('/en');
}

View File

@@ -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*']
};