Konfiguration
Konfigurationsdokumentation für die Datei gt.config.json
Ü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-Setup-Assistent npx gtx-cli init
erstellt eine gt.config.json
-Datei für Sie in Ihrem Projekt.
Konfiguration
Die gt.config.json
Datei akzeptiert die folgenden Eigenschaften, ist aber nicht darauf beschränkt:
-
defaultLocale
: Die Standard-Locale für Ihr Projekt. Dies ist die Locale, in der Ihr Quellinhalt geschrieben ist. Dies ist auch die Fallback-Locale für Ihr Projekt (bei Verwendung vongt-next
odergt-react
). -
locales
: Ein Array von Locales für Ihr Projekt. Dies sind die Locales, in die Sie Ihr Projekt übersetzen möchten. Siehe die unterstützten Locales für weitere Informationen. Wenn Siegt-next
odergt-react
verwenden, sind dies auch die Locales, die Ihre App unterstützt. -
files
: Dies ist ein Objekt, das Informationen über den Inhalt enthält, den Sie übersetzen möchten. -
stageTranslations
: Ein optionales Boolean-Flag, das angibt, ob Ihr Projekt für die Verwendung einer menschlichen Überprüfung konfiguriert ist. -
src
: Ein optionales Array von relativen Verzeichnispfaden, die übersetzbare Inhalte enthalten. -
dictionary
: Ein optionaler String, der den relativen Pfad zur Wörterbuch-Datei angibt.
Um bei der Validierung Ihrer gt.config.json
Datei zu helfen, können Sie das JSON Schema für die CLI verwenden.
Fügen Sie es am Anfang Ihrer gt.config.json
Datei hinzu:
{
"$schema": "https://assets.gtx.dev/config-schema.json",
}
Hier ist ein Grundgerüst der gt.config.json
Datei:
{
"$schema": "https://assets.gtx.dev/config-schema.json",
"defaultLocale": "en",
"locales": ["fr", "es"],
"files": {
"gt": {
"output": "..."
},
"json": {
"include": [...]
},
"mdx": {
"include": [...]
},
"md": {
"include": [...]
}
},
"src": ["./src", "./app", "./pages", "./components"],
"dictionary": "./dictionary.json"
}
files
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 und kombiniert 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.js
: JavaScript-Dateien.ts
: TypeScript-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 den Dateien entsprechen, die Sie übersetzen möchten.
Sie müssen den [locale]
-Platzhalter in Ihren Glob-Mustern verwenden, um sicherzustellen, dass Quelldateien korrekt gefunden und übersetzte Dateien am richtigen Ort gespeichert werden.
Das CLI-Tool ersetzt den [locale]
-Platzhalter durch den defaultLocale
-Wert bei der Suche nach übersetzbaren Dateien.
Das CLI-Tool speichert übersetzte Dateien im entsprechenden Pfad, wobei der [locale]
-Platzhalter durch den Ziel-Locale-Code ersetzt wird.
{
"include": ["docs/[locale]/**/*.json"]
}
exclude
Falls verwendet, sollte der Wert des exclude
-Schlüssels ein Array von Glob-Mustern sein, die den Dateien entsprechen, die Sie von der Übersetzung ausschließen möchten.
Das Muster ist dasselbe wie das include
-Muster.
{
"exclude": ["docs/[locale]/exclude/**/*.json"]
}
transform
Falls verwendet, sollte der Wert des transform
-Schlüssels eine Zeichenkette sein, die eine Neuzuordnung des Dateinamens definiert. Er sollte einen Platzhalter *
enthalten, der durch den ursprünglichen Dateinamen ersetzt wird (alles vor dem ersten .
).
Wenn Sie beispielsweise möchten, dass die Erweiterung aller 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 spezifische Dateierweiterung für übersetzte Dateien anstelle von unterverzeichnisbasiertem Locale-Routing erfordert.
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 Zeichenkette sein, die einen [locale]
-Platzhalter 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 public/i18n
-Verzeichnis speichern möchten, sollten Sie die folgende Zeichenkette 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 Locale generiert werden.
Dateityp: gt
Unterstützte Schlüssel
output
(Erforderlich)
Beispiel
{
"defaultLocale": "en",
"locales": ["fr", "es"],
"files": {
"gt": {
"output": "public/i18n/[locale].json"
},
}
}
Diese Konfiguration weist das CLI-Tool an, Ihre französischen und spanischen Übersetzungen im public/i18n/[locale].json
-Verzeichnis zu speichern.
Standardmäßig veröffentlicht das CLI-Tool Ihre Übersetzungen mit dieser Konfiguration nicht im GT CDN.
Dateityp: json
Unterstützte Schlüssel
include
(Erforderlich)exclude
(Optional)transform
(Optional)
Beispiel
{
"defaultLocale": "en",
"locales": ["fr", "es"],
"files": {
"json": {
"include": ["json_files/[locale]/**/*.json"],
"exclude": ["json_files/[locale]/exclude/**/*.json"]
}
}
}
Nehmen wir an, die Standard-Locale Ihres Projekts ist en
, und Sie möchten Ihr Projekt in fr
und es
übersetzen.
Mit dieser Konfiguration sucht das CLI nach allen JSON-Dateien im Unterverzeichnis json_files/en/
und speichert die übersetzten Dateien in json_files/fr/
und json_files/es/
.
Es ignoriert alle Dateien im Unterverzeichnis json_files/en/exclude/
.
Dateityp: mdx
Unterstützte Schlüssel
include
(Erforderlich)exclude
(Optional)transform
(Optional)
Beispiel
{
"defaultLocale": "en",
"locales": ["ja"],
"files": {
"mdx": {
"include": ["content/docs/[locale]/**/*.mdx"],
"transform": "*.[locale].mdx"
}
}
}
Diese Konfiguration weist das CLI-Tool an, nach allen MDX-Dateien im Verzeichnis content/docs/en
zu suchen und die übersetzten Dateien im Verzeichnis content/docs/ja
zu speichern.
Der transform
-Schlüssel bewirkt, dass die Erweiterung der übersetzten Dateien zu .ja.mdx
geändert wird.
Dateityp: md
Unterstützte Schlüssel
include
(Erforderlich)exclude
(Optional)transform
(Optional)
Beispiel
{
"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, nach allen MD-Dateien im Verzeichnis content/docs/en
zu suchen und die übersetzten Dateien im Verzeichnis content/docs/ja
zu speichern.
Der transform
-Schlüssel bewirkt, dass die Erweiterung der übersetzten Dateien zu .ja.md
geändert wird.
Alle Dateien im Verzeichnis content/docs/en/exclude
werden ignoriert.
Dateityp: js
Unterstützte Schlüssel
include
(Erforderlich)exclude
(Optional)transform
(Optional)
Beispiel
{
"defaultLocale": "en",
"locales": ["fr", "es"],
"files": {
"js": {
"include": ["scripts/[locale]/**/*.js"]
}
}
}
Diese Konfiguration weist das CLI-Tool an, nach allen JavaScript-Dateien im Verzeichnis scripts/en
zu suchen und die übersetzten Dateien in den Verzeichnissen scripts/fr
und scripts/es
zu speichern.
Der transform
-Schlüssel bewirkt, dass die Erweiterung der übersetzten Dateien zu .fr.js
bzw. .es.js
geändert wird (von .js
).
Dateityp: ts
Unterstützte Schlüssel
include
(Erforderlich)exclude
(Optional)transform
(Optional)
Beispiel
{
"defaultLocale": "en",
"locales": ["fr", "es"],
"files": {
"ts": {
"include": ["scripts/[locale]/**/*.ts"]
}
}
}
Diese Konfiguration weist das CLI-Tool an, nach allen TypeScript-Dateien im Verzeichnis scripts/en
zu suchen und die übersetzten Dateien in den Verzeichnissen scripts/fr
und scripts/es
zu speichern.
Der transform
-Schlüssel bewirkt, dass die Erweiterung der übersetzten Dateien zu .fr.ts
bzw. .es.ts
geändert wird (von .ts
).
Beispielkonfiguration
Lassen Sie uns eine Beispiel-gt.config.json
-Datei aufschlüsseln:
{
"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 Verzeichnisresources/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.
Nächste Schritte
Erfahren Sie, wie Sie den init-Befehl verwenden können, um diese Konfigurationsdatei zu generieren.
Wie ist dieser Leitfaden?