by Anonymous » 03 Apr 2025, 08:14
Ich habe ein Problem oder
ich möchte eine Idee /Lösung, wie ich mich daran nähern soll. Und die "Haupt" -Seite funktioniert nur mit definiertem Gebietsschema, was korrekt ist! Aber wie soll ich mit Root -Seite und Layout umgehen? Ich dachte daran, eine Weiterleitung zu verwenden, die auf der definierten Browsersprache des Benutzers basiert (und natürlich habe ich ein Standardgebietsschema). Aber ist es gut für SEO usw.?
Ich habe eine Middleware.js: < /p>
Code: Select all
import { NextResponse } from "next/server";
const SUPPORTED_LOCALES = ['cs', 'sk', 'da', 'de'];
const DEFAULT_LOCALE = 'cs';
function detectLocale(acceptLanguage) {
if (!acceptLanguage) return DEFAULT_LOCALE;
const languages = acceptLanguage.split(',');
for (const lang of languages) {
const [code] = lang.split(';')[0].toLowerCase().split('-');
if (SUPPORTED_LOCALES.includes(code)) {
return code;
}
}
return DEFAULT_LOCALE;
}
export function middleware(req) {
const url = req.nextUrl.clone();
const { pathname } = url;
if (pathname === '/') {
const locale = detectLocale(req.headers.get('accept-language'));
url.pathname = `/${locale}`;
return NextResponse.redirect(url);
}
Ich hatte auch eine Idee, eine Hauptseite ohne Gebietsschema zu erstellen, und der Benutzer konnte einfach auf die Sprache klicken, in der er sein möchte.>
Ich habe ein Problem oder [url=viewtopic.php?t=14917]ich möchte[/url] eine Idee /Lösung, wie ich mich daran nähern soll. Und die "Haupt" -Seite funktioniert nur mit definiertem Gebietsschema, was korrekt ist! Aber wie soll ich mit Root -Seite und Layout umgehen? Ich dachte daran, eine Weiterleitung zu verwenden, die auf der definierten Browsersprache des Benutzers basiert (und natürlich habe ich ein Standardgebietsschema). Aber ist es gut für SEO usw.?
Ich habe eine Middleware.js: < /p>
[code]import { NextResponse } from "next/server";
const SUPPORTED_LOCALES = ['cs', 'sk', 'da', 'de'];
const DEFAULT_LOCALE = 'cs';
function detectLocale(acceptLanguage) {
if (!acceptLanguage) return DEFAULT_LOCALE;
const languages = acceptLanguage.split(',');
for (const lang of languages) {
const [code] = lang.split(';')[0].toLowerCase().split('-');
if (SUPPORTED_LOCALES.includes(code)) {
return code;
}
}
return DEFAULT_LOCALE;
}
export function middleware(req) {
const url = req.nextUrl.clone();
const { pathname } = url;
if (pathname === '/') {
const locale = detectLocale(req.headers.get('accept-language'));
url.pathname = `/${locale}`;
return NextResponse.redirect(url);
}
[/code]
Ich hatte auch eine Idee, eine Hauptseite ohne Gebietsschema zu erstellen, und der Benutzer konnte einfach auf die Sprache klicken, in der er sein möchte.>