Statische Website-Generierung

Wie man die statische Website-Generierung für Ihre i18n-App unterstützt

Überblick

Diese Anleitung zeigt Ihnen, wie Sie Ihre i18n-App einrichten, um statische Seitengenerierung zu unterstützen.


Was ist statische Seitengenerierung?

Statische Seitengenerierung (SSG) ist eine Funktion von Next.js, die es Ihnen ermöglicht, statische Seiten zur Build-Zeit zu generieren. Dies ist nützlich für Leistung 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 leicht 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 Datei [locale]/layout.tsx platziert werden.

Schritt 2: Stellen Sie als Nächstes sicher, dass Ihre App die Funktion loadTranslations verwendet, um Übersetzungen zu laden. Ü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 von 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 von 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. 🚧

Auf dieser Seite