Statische Seitengenerierung

Wie Sie die statische Seitengenerierung für Ihre i18n-App unterstützen

Übersicht

Dieser Leitfaden zeigt dir, wie du deine i18n-App einrichtest, um die statische Seitengenerierung zu unterstützen.


Was ist statische Seitengenerierung?

Statische Seitengenerierung (SSG) ist eine Funktion von Next.js, mit der du statische Seiten zur Build-Zeit generieren kannst. Dies ist nützlich für die Performance und SEO.

SSG für den app Router

Anforderungen

Es gibt einige Anforderungen, um die statische Seitengenerierung für Ihre i18n-App zu aktivieren. Je nachdem, ob Sie das app- oder pages-Verzeichnis verwenden, sind die Anforderungen etwas unterschiedlich.

  1. Ihre App muss den Next.js App Router verwenden.
  2. Ihre App muss i18n-Routing unterstützen (siehe i18n-Routing)
  3. Ihre App muss lokale Übersetzungen verwenden (siehe lokale Übersetzungen)

Schritte

Schritt 1: Stellen Sie zunächst sicher, dass Ihre App eine <GTProvider>-Komponente im Root-Layout hat.

app/[locale]/layout.tsx
import { GTProvider } from 'gt-next';

Da die App i18n-Routing verwendet, sollte der Provider in der [locale]/layout.tsx-Datei platziert werden.

Schritt 2: Stellen Sie als Nächstes sicher, dass Ihre App die loadTranslations-Funktion zum Laden von Übersetzungen verwendet. Übergeben Sie zusätzlich die Locale als Parameter an den <GTProvider>. Sie können die Locale aus dem params-Objekt erhalten.

app/[locale]/layout.tsx
import { loadTranslations } from '@/i18n/loadTranslations';
import { GTProvider } from 'gt-next';

export default async function RootLayout({
  children,
  params,
}: {
  children: React.ReactNode;
  params: Promise<{ locale: string }>;
}) {
  const { locale } = await params;
  return (
    <GTProvider loadTranslations={loadTranslations} locale={locale}>
      {children}
    </GTProvider>
  )
}

Schritt 3: Stellen Sie dann sicher, dass alle Ihre Hooks und Komponenten aus gt-next/client importiert werden.

import { useGT } from 'gt-next/client';
import { T } from 'gt-next/client';

Dies ist wichtig, da Hooks und Komponenten, die aus gt-next/client importiert werden, niemals Header lesen, die zur Build-Zeit für statisch generierte Seiten nicht existieren.

Stellen Sie sicher, dass Sie Ihre Next.js-App korrekt für die Verwendung der getStaticParams-Funktion konfiguriert haben!

Das war's! Ihre App sollte jetzt die statische Seitengenerierung für mehrere Sprachen unterstützen!

SSG für den pages-Router

🚧 Dieser Abschnitt befindet sich derzeit im Aufbau. 🚧

Wie ist dieser Leitfaden?