Konfiguration

Konfigurationsdokumentation für die gt.config.json-Datei

Übersicht

Die Datei gt.config.json wird verwendet, um die GT-Einstellungen Ihres Projekts zu konfigurieren. Sie sollte im Stammverzeichnis Ihres Projekts platziert werden.

Der CLI-Befehl npx gtx-cli init erstellt eine gt.config.json-Datei für Sie in Ihrem Projekt.

Konfiguration

Die Datei gt.config.json enthält die folgenden Einstellungen:

  • defaultLocale: Die Standardsprache für Ihr Projekt. Dies ist die Sprache, in der Ihr Quellinhalt geschrieben ist. Dies ist auch die Fallback-Sprache für Ihr Projekt (wenn Sie gt-next oder gt-react verwenden).

  • locales: Ein Array von Sprachen für Ihr Projekt. Dies sind die Sprachen, in die Sie Ihr Projekt übersetzen möchten. Weitere Informationen finden Sie unter unterstützte Sprachen. Wenn Sie gt-next oder gt-react verwenden, sind dies auch die Sprachen, die Ihre App unterstützt.

  • files: Dies ist ein Objekt, das Informationen über den Inhalt enthält, den Sie übersetzen möchten.

Hier ist ein Grundgerüst der Datei gt.config.json:

gt.config.json
{
  "defaultLocale": "en",
  "locales": ["fr", "es"],
  "files": {
    "gt": {
      "output": "..."
    },
    "json": {
      "include": [...]
    },
    "mdx": {
      "include": [...]
    },
    "md": {
      "include": [...]
    }
  }
}

Beispielkonfiguration

Lassen Sie uns eine Beispiel-gt.config.json-Datei aufschlüsseln:

gt.config.json
{
  "defaultLocale": "en",
  "locales": ["fr", "es"],
  "files": {
    "gt": {
      "output": "public/i18n/[locale].json"
    },
    "mdx": {
      "include": ["content/docs/[locale]/**/*.mdx"],
      "transform": "*.[locale].mdx"
    },
    "json": {
      "include": ["resources/[locale]/**/*.json"],
      "exclude": ["resources/[locale]/exclude/**/*.json"]
    }
  }
}

In diesem Beispiel übersetzen wir die folgenden Dateien mit einem einzigen Aufruf von gtx-cli translate:

  • Alle MDX-Dateien im Verzeichnis content/docs/en.
  • Alle JSON-Dateien im Verzeichnis resources/en (ausgenommen Dateien im Verzeichnis resources/en/exclude).
  • Alle Inline-<T>-Komponenten in Ihrem React- oder Next.js-Projekt.
  • Ihre dictionary.[json|js|ts]-Datei.

GT: Übersetzungen werden in public/i18n/es.json und public/i18n/fr.json gespeichert. Diese Dateien können mit loadTranslations() geladen werden.

MDX: Übersetzungen werden in den Verzeichnissen content/docs/fr und content/docs/es gespeichert. Die Dateierweiterungen werden von .mdx zu .fr.mdx bzw. .es.mdx geändert.

JSON: Übersetzungen werden in den Verzeichnissen resources/fr und resources/es gespeichert.


Unterstützte Dateitypen

files sollte einen Schlüssel für jeden Dateityp enthalten, den Sie übersetzen möchten. Sie können Ihr Projekt so konfigurieren, dass verschiedene Dateitypen gemischt werden und alle übersetzt werden. Wir unterstützen derzeit die folgenden Dateitypen:

  • gt: General Translation-Dateien.
  • json: JSON-Dateien.
  • mdx: Markdown-Komponenten (MDX)-Dateien.
  • md: Markdown (MD)-Dateien.

Jeder Dateityp sollte einem Objekt entsprechen, das einen oder mehrere der folgenden Schlüssel enthält:

  • include
  • exclude
  • transform
  • output

include

Falls verwendet, sollte der Wert des include-Schlüssels ein Array von Glob-Mustern sein, die mit den Dateien übereinstimmen, die Sie übersetzen möchten.

Sie sollten den Platzhalter [locale] in Ihren Glob-Mustern verwenden, um sicherzustellen, dass die richtige Sprache verwendet wird. Das CLI-Tool ersetzt den Platzhalter [locale] durch den Wert von defaultLocale, wenn es nach übersetzbaren Dateien sucht.

Das CLI-Tool speichert übersetzte Dateien im entsprechenden Pfad, wobei der Platzhalter [locale] durch den Sprachcode ersetzt wird.

{
  "include": ["docs/[locale]/**/*.json"]
}

exclude

Falls verwendet, sollte der Wert des exclude-Schlüssels ein Array von Glob-Mustern sein, die mit den Dateien übereinstimmen, die Sie von der Übersetzung ausschließen möchten.

Das Muster ist dasselbe wie beim include-Muster.

{
  "exclude": ["docs/[locale]/exclude/**/*.json"]
}

transform

Falls verwendet, sollte der Wert des transform-Schlüssels eine Zeichenfolge sein, die eine Umbenennung des Dateinamens definiert. Sie sollte ein Platzhalterzeichen * enthalten, das durch den ursprünglichen Dateinamen ersetzt wird (alles vor dem ersten .).

Wenn Sie beispielsweise möchten, dass die Erweiterung all Ihrer übersetzten Dateien .[locale].json anstelle von .json hat, können Sie die folgende Konfiguration verwenden:

{
  "transform": "*.[locale].json"
}

Dies ist nützlich, wenn Ihr Dokumentations- oder i18n-Framework eine bestimmte Dateierweiterung für übersetzte Dateien benötigt, anstatt einer unterverzeichnisbasierten Sprachrouting.

output

Dieser Schlüssel wird ausschließlich für General Translation-Dateien verwendet, speziell zum lokalen Speichern von Übersetzungen. Wenn Sie das GT CDN verwenden, wird dieser Schlüssel nicht benötigt.

Der Wert sollte eine Zeichenfolge sein, die einen Platzhalter [locale] enthält, der den Ort angibt, an dem die Übersetzungen gespeichert werden.

Wenn Sie beispielsweise Ihre spanischen Übersetzungen in einer Datei namens ui.es.json im Verzeichnis public/i18n speichern möchten, sollten Sie die folgende Zeichenfolge verwenden:

{
  "output": "public/i18n/[locale].json"
}

Diese Option sollte nur verwendet werden, wenn Sie gt-next oder gt-react verwenden und Übersetzungen lokal speichern möchten, anstatt das GT CDN zu verwenden.

Derzeit kann nur eine Datei für jede Sprache generiert werden.


Dateityp: gt

Unterstützte Schlüssel

  • output (Erforderlich)

Beispiel

gt.config.json
{
  "defaultLocale": "en",
  "locales": ["fr", "es"],
  "files": {
    "gt": {
      "output": "public/i18n/[locale].json"
    },
  }
}

Diese Konfiguration veranlasst das CLI-Tool, Ihre französischen und spanischen Übersetzungen im Verzeichnis public/i18n/[locale].json zu speichern.

Standardmäßig wird das CLI-Tool mit dieser Konfiguration Ihre Übersetzungen nicht im GT CDN veröffentlichen.


Dateityp: json

Unterstützte Schlüssel

  • include (Erforderlich)
  • exclude (Optional)
  • transform (Optional)

Beispiel

gt.config.json
{
  "defaultLocale": "en",
  "locales": ["fr", "es"],
  "files": {
    "json": {
      "include": ["json_files/[locale]/**/*.json"],
      "exclude": ["json_files/[locale]/exclude/**/*.json"]
    }
  }
}

Angenommen, die Standardsprache Ihres Projekts ist en, und Sie möchten Ihr Projekt in fr und es übersetzen.

Mit dieser Konfiguration sucht die CLI nach allen JSON-Dateien im Unterverzeichnis json_files/en/ und speichert die übersetzten Dateien in json_files/fr/ und json_files/es/.

Dateien im Unterverzeichnis json_files/en/exclude/ werden ignoriert.


Dateityp: mdx

Unterstützte Schlüssel

  • include (Erforderlich)
  • exclude (Optional)
  • transform (Optional)

Beispiel

gt.config.json
{
  "defaultLocale": "en",
  "locales": ["ja"],
  "files": {
    "mdx": {
      "include": ["content/docs/[locale]/**/*.mdx"],
      "transform": "*.[locale].mdx"
    }
  }
}

Diese Konfiguration weist das CLI-Tool an, alle MDX-Dateien im Verzeichnis content/docs/en zu suchen und die übersetzten Dateien im Verzeichnis content/docs/ja zu speichern.

Der Schlüssel transform bewirkt, dass die Erweiterung der übersetzten Dateien in .ja.mdx geändert wird.


Dateityp: md

Unterstützte Schlüssel

  • include (Erforderlich)
  • exclude (Optional)
  • transform (Optional)

Beispiel

gt.config.json
{
  "defaultLocale": "en",
  "locales": ["ja"],
  "files": {
    "md": {
      "include": ["content/docs/[locale]/**/*.md"],
      "exclude": ["content/docs/[locale]/exclude/**/*.md"],
      "transform": "*.[locale].md"
    }
  }
}

Diese Konfiguration weist das CLI-Tool an, alle MD-Dateien im Verzeichnis content/docs/en zu suchen und die übersetzten Dateien im Verzeichnis content/docs/ja zu speichern.

Der Schlüssel transform bewirkt, dass die Erweiterung der übersetzten Dateien in .ja.md geändert wird.

Alle Dateien im Verzeichnis content/docs/en/exclude werden ignoriert.


Nächste Schritte

Erfahren Sie, wie Sie den init-Befehl verwenden, um diese Konfigurationsdatei zu generieren.

Auf dieser Seite