Next.js Referenz

init(options)

Importieren von @18ways/next/server.

ts
import { init } from '@18ways/next/server';

Allgemeine Optionen:

OptionTypNotizen
apiKeyZeichenfolgeErforderlich.
basisLocaleZeichenfolgeQuellgebiet für die App.
lokalZeichenfolgeOptionale feste Gebietsschema-Überschreibung.
akzeptierteLokalisierungenstring[]Optionale explizite Gebietsschemas-Liste.
persistLocaleCookieboolean | ((Anfrage) => boolean)Standard-Cookie-Richtlinie für Middleware und Änderungen der Client-Lokalisierung.
cacheTtlnummerCache-TTL für Adapteranfragen.
fetchertypeof fetchBenutzerdefinierte Abrufimplementierung.
pathRoutingWaysPathRoutingConfigLocale-präfixierte Routen einbeziehen oder ausschließen.

WaysRoot

Verwenden Sie WaysRoot in Ihrem App Router-Layout, damit der Adapter den Laufzeitstatus für die aktuelle Anfrage initialisieren kann.

htmlAttrs()

htmlAttrs() löst die aktuellen lang und dir Werte für das Dokumentelement auf.

generateWaysMetadata()

Verwenden Sie generateWaysMetadata() innerhalb von generateMetadata(), wenn Sie übersetzte Titel, Beschreibungen und lokalbewusste kanonische oder alternative URLs wünschen.

waysMiddleware()

waysMiddleware() ist die Middleware-API zur Anforderungszeit, die von init() zurückgegeben wird. Sie löst den Locale-Zustand auf, wendet Locale-Cookies an und gibt die endgültige NextResponse zurück. Verwenden Sie transformRequestHeaders oder transformResponse, wenn Sie benutzerdefiniertes Verhalten benötigen.

init() Rückgabewert

init() gibt diese Felder zurück:

FeldWas es tut
WaysRootWurzel-Wrapper für App-Router-Layouts.
htmlAttrs()Löst lang und dir für die aktuelle Anfrage auf.
generateWaysMetadata()Erstellt lokalitätsbewusste Metadaten und kann Metadatastellen übersetzen.
waysMiddleware()Löst das lokalbewusste Middleware-Verhalten und gibt eine Antwort zurück.

Kundenhelfer

Importieren von @18ways/next/client.

useLocale()

Lesen und ändern Sie die aktuelle Sprache. Dies ist der Hook, den Sie mit LanguageSwitcher oder Ihrer eigenen benutzerdefinierten Auswahl-UI kombinieren.

useUnlocalizedPathname()

Lese den aktuellen Pfadnamen ohne das Sprachpräfix.

useLocalizedHref()

Konvertiere einen internen href in den aktuellen lokalisierten href.

localizePathname()

Reiner Helfer zum Erstellen eines lokalisierten Pfads außerhalb von React.

stripLocalePrefix()

Reiner Helfer zum Entfernen eines Gebietsschema-Präfixes von einem Pfadnamen.

Path routing config

WaysPathRoutingConfig akzeptiert:

ts
{
  include?: Array<string | RegExp>;
  exclude?: Array<string | RegExp>;
}

Verwenden Sie es, wenn öffentliche URLs Locale-Präfixe enthalten sollen. Lassen Sie es weg, wenn Sie eine cookie-basierte oder header-basierte Locale-Auswahl ohne Pfadumschreibung wünschen.

Lower-level exports

Es gibt auch RSC- und Middleware-Exporte in @18ways/next/rsc und @18ways/next/server, aber für die meisten Apps ist die oben genannte init()-Schnittstelle die richtige Abstraktion.

Next.js Reference