Next.js Schnellstart

Internationalisieren Sie Ihre Next.js App einfach mit gt-next

Überblick

Diese Anleitung beschreibt, wie man ein bestehendes Next.js-Projekt internationalisiert, das den App Router verwendet.

Für ein Projekt, das den Pages Router verwendet, folgen Sie der React-Dokumentation.

Wir werden 3 einfache Schritte behandeln:

Ausführen des Setup-Assistenten

Hinzufügen von Umgebungsvariablen

Bereinigen von Zeichenketten

Verwenden Sie den Next.js Pages Router? Folgen Sie stattdessen der Anleitung React Schnellstart.


Setup

1. Ausführen des Setup-Assistenten

Der Setup-Assistent führt Sie durch den Prozess der Internationalisierung Ihres Projekts.

npx gtx-cli@latest init

Um Ihr Projekt manuell einzurichten, folgen Sie der Anleitung zur manuellen Einrichtung.

Der Setup-Assistent wird:

  1. Die erforderlichen Bibliotheken installieren.
  2. Die unterstützten Sprachen Ihres Projekts konfigurieren.
  3. Ihre JSX-Komponenten mit der <T>-Komponente umschließen.
  4. withGTConfig() zu Ihrer next.config.js-Datei hinzufügen.
  5. Einen Produktions-API-Schlüssel und eine Projekt-ID für Ihr Projekt generieren.

Weitere Informationen finden Sie in der Dokumentation des Setup-Assistenten.

2. Hinzufügen von Umgebungsvariablen

Der Setup-Assistent erstellt für Sie eine .env.local-Datei im Stammverzeichnis Ihres Projekts, die Ihren Produktions-API-Schlüssel und Ihre Projekt-ID enthält.

Um gt-next im Entwicklungsmodus zu verwenden, müssen Sie jedoch einen Entwicklungs-API-Schlüssel anstelle eines Produktionsschlüssels hinzufügen.

Navigieren Sie zum Dashboard. Gehen Sie zur Seite Developer Keys in der Seitenleiste.

Klicken Sie auf Create Dev API Key.

Fügen Sie die Projekt-ID und den Entwicklungs-API-Schlüssel zu Ihrer Umgebung hinzu.

.env.local
GT_API_KEY="YOUR_GT_API_KEY"
GT_PROJECT_ID="YOUR_GT_PROJECT_ID"

Schützen Sie Ihre API-Schlüssel!

Entwicklungsschlüssel sollten nur in der Entwicklung verwendet werden. Ebenso sollten Produktionsschlüssel nur in der Produktion verwendet werden. Committen Sie Ihre API-Schlüssel niemals in ein öffentliches Repository!

3. Bereinigen von Zeichenketten

Der Setup-Assistent umschließt alle JSX-Komponenten Ihres Projekts mit der <T>-Komponente. Sie werden jedoch feststellen, dass Zeichenketten davon nicht betroffen sind.

Wenn Sie beispielsweise eine String-Konstante wie diese haben:

Example.js
export default function Example() {
  const greeting = "Hello, world!";
  return <p>{greeting}</p>;
}

Der Setup-Assistent wird diesen String nicht verändern.

Um dies zu beheben, können Sie den useGT()-Hook und die getGT()-Funktion verwenden, um den String zu übersetzen.

Example.js
import { useGT } from "gt-next/client";
export default function Example() {
  const t = useGT();
  return <p>{t("Hello, world!")}</p>;
}

Probieren wir es aus!

Herzlichen Glückwunsch! 🥳 Deine App ist jetzt mehrsprachig! Schauen wir uns das in Aktion an.

Sieh dir deine App in einer anderen Sprache an

Füge die <LocaleSelector> Komponente zu deiner App hinzu. Damit kannst du eine andere Sprache für deine App auswählen.

Tipp: Du kannst deine Sprache auch in deinen Browsereinstellungen ändern.

Starte deine Next.js App im Entwicklungsmodus.

npm run dev 

Öffne deine App in deinem bevorzugten Browser (normalerweise unter http://localhost:3000).

Fehlerbehebung


Bereitstellung in der Produktionsumgebung

Folgen Sie unserer Anleitung zur Bereitstellung in der Produktionsumgebung.

Nächste Schritte

Manuelle Einrichtung

Wenn Sie die Einrichtung lieber manuell durchführen möchten, folgen Sie den Schritten unten.

1. Bibliotheken installieren

Installieren Sie die Bibliotheken gt-next und gtx-cli.

npm i gt-next
npm i gtx-cli --save-dev

2. Das withGTConfig() Plugin hinzufügen

Fügen Sie withGTConfig() zu Ihrer next.config.js Datei hinzu. Sie können die Sprachen, die Sie unterstützen möchten, angeben, indem Sie ein Array von Gebietsschema-Codes übergeben.

next.config.js
import { withGTConfig } from 'gt-next/config';
 
const nextConfig = {};
 
export default withGTConfig(nextConfig, {
  locales: ['pt', 'es'], // Unterstützung für Portugiesisch und Spanisch
});

3. Die <T> Komponente hinzufügen

Umschließen Sie jeden verschachtelten JSX-Inhalt mit der <T> Komponente, um ihn übersetzbar zu machen. Weitere Informationen finden Sie im Leitfaden zur Verwendung von <T> Komponenten.

Example.js
import { T } from "gt-next";
 
export default function Example() {
  return (
    <T>
      <p>
        Dies wird übersetzt.
      </p>
    </T>  
  );
}

Verwenden Sie die <Var> Komponente, um JSX-Inhalte zu kennzeichnen, die nicht übersetzt werden sollen.

Example.js
import { T, Var } from "gt-next";
 
export default function Example() {
  return (
    <T>
      <p>
        Dies wird übersetzt. <Var>Dies wird nicht übersetzt.</Var>
      </p>
    </T>  
  );
}

Für Zeichenketten können Sie useGT() oder getGT() für die Übersetzung verwenden.

Example.js
import { useGT } from "gt-next/client";
import { getGT } from "gt-next/server";
 
export default function Example() {
  const t = useGT(); // client side
  const t = await getGT(); // server side
  return (
    <p>
      {t("Dies wird übersetzt.")}
    </p>
  );
}

4. Ihre Umgebungsvariablen hinzufügen

Fügen Sie Ihren API-Schlüssel und Ihre Projekt-ID zu Ihrer lokalen Umgebung hinzu.

Navigieren Sie zum Dashboard. Gehen Sie zur Seite Developer Keys in der Seitenleiste.

Klicken Sie auf Create Dev API Key.

Fügen Sie die Projekt-ID und den Entwicklungs-API-Schlüssel zu Ihrer Umgebung hinzu.

.env.local
GT_API_KEY="YOUR_GT_API_KEY"
GT_PROJECT_ID="YOUR_GT_PROJECT_ID"

Schützen Sie Ihre API-Schlüssel!

Entwicklungsschlüssel sollten nur in der Entwicklung verwendet werden. Ebenso sollten Produktionsschlüssel nur in der Produktion verwendet werden. Committen Sie Ihre API-Schlüssel niemals in ein öffentliches Repository!