Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Durch die Integration des Intlayer MCP-Servers in Ihren bevorzugten AI-Assistenten können Sie alle Dokumente direkt von ChatGPT, DeepSeek, Cursor, VSCode usw. abrufen.
Dokumentation des MCP-Servers ansehenDer Inhalt dieser Seite wurde mit einer KI übersetzt.
Den englischen Originaltext ansehenWenn Sie eine Idee haben, um diese Dokumentation zu verbessern, zögern Sie bitte nicht, durch das Einreichen eines Pull-Requests auf GitHub beizutragen.
GitHub-Link zur DokumentationMarkdown des Dokuments in die Zwischenablage kopieren
Intlayer Konfigurationsdokumentation
Übersicht
Intlayer-Konfigurationsdateien ermöglichen die Anpassung verschiedener Aspekte des Plugins, wie Internationalisierung, Middleware und Inhaltsverwaltung. Dieses Dokument bietet eine detaillierte Beschreibung jeder Eigenschaft in der Konfiguration.
Unterstützung für Konfigurationsdateien
Intlayer akzeptiert die Konfigurationsdateiformate JSON, JS, MJS und TS:
- intlayer.config.ts
- intlayer.config.js
- intlayer.config.json
- intlayer.config.cjs
- intlayer.config.mjs
- .intlayerrc
Beispiel für eine Konfigurationsdatei
Kopieren Sie den Code in die Zwischenablage
import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = { internationalization: { locales: [Locales.ENGLISH], }, content: { contentDir: ["src", "../ui-library"], }, middleware: { noPrefix: false, }, editor: { applicationURL: "https://example.com", }, ai: { apiKey: process.env.OPENAI_API_KEY, applicationContext: "This is a test application", }, build: { importMode: "dynamic", },};export default config;
Konfigurationsreferenz
Die folgenden Abschnitte beschreiben die verschiedenen für Intlayer verfügbaren Konfigurationseinstellungen.
Internationalisierungskonfiguration
Definiert Einstellungen im Zusammenhang mit der Internationalisierung, einschließlich verfügbarer Sprachen und der Standardsprache der Anwendung.
Eigenschaften
locales:
- Typ: string[]
- Standard: ['en']
- Beschreibung: Die Liste der unterstützten Sprachen in der Anwendung.
- Beispiel: ['en', 'fr', 'es']
- requiredLocales:
- Typ: string[]
- Standard: []
- Beschreibung: Die Liste der erforderlichen Sprachen in der Anwendung.
- Beispiel: []
- Hinweis: Wenn leer, sind im strict-Modus alle Sprachen erforderlich.
- Hinweis: Stellen Sie sicher, dass erforderliche Sprachen auch im Feld locales definiert sind.
strictMode:
- Typ: string
- Standard: inclusive
- Beschreibung: Stellt sicher, dass internationalisierte Inhalte mit TypeScript stark implementiert werden.
- Hinweis: Wenn auf "strict" gesetzt, erfordert die Übersetzungsfunktion t, dass jede deklarierte Sprache definiert ist. Wenn eine Sprache fehlt oder nicht in Ihrer Konfiguration deklariert ist, wird ein Fehler ausgelöst.
- Hinweis: Wenn auf "inclusive" gesetzt, erfordert die Übersetzungsfunktion t, dass jede deklarierte Sprache definiert ist. Wenn eine Sprache fehlt, wird eine Warnung ausgegeben. Es wird jedoch akzeptiert, wenn eine Sprache nicht in Ihrer Konfiguration deklariert ist, aber existiert.
- Hinweis: Wenn auf "loose" gesetzt, akzeptiert die Übersetzungsfunktion t jede vorhandene Sprache.
defaultLocale:
- Typ: string
- Standard: 'en'
- Beschreibung: Die Standardsprache, die als Fallback verwendet wird, wenn die angeforderte Sprache nicht gefunden wird.
- Beispiel: 'en'
- Hinweis: Dies wird verwendet, um die Sprache zu bestimmen, wenn keine in der URL, im Cookie oder im Header angegeben ist.
Editor-Konfiguration
Definiert Einstellungen im Zusammenhang mit dem integrierten Editor, einschließlich Serverport und Aktivierungsstatus.
Eigenschaften
applicationURL:
- Typ: string
- Standard: http://localhost:3000
- Beschreibung: Die URL der Anwendung. Wird verwendet, um den Ursprung des Editors aus Sicherheitsgründen einzuschränken.
- Beispiel:
- 'http://localhost:3000'
- 'https://example.com'
- process.env.INTLAYER_EDITOR_URL
- Hinweis: Die URL der Anwendung. Wird verwendet, um den Ursprung des Editors aus Sicherheitsgründen einzuschränken. Wenn auf '*' gesetzt, ist der Editor von jedem Ursprung aus zugänglich.
port:
- Typ: number
- Standard: 8000
- Beschreibung: Der Port, der vom visuellen Editor-Server verwendet wird.
editorURL:
- Typ: string
- Standard: 'http://localhost:8000'
- Beschreibung: Die URL des Editor-Servers. Wird verwendet, um den Ursprung des Editors aus Sicherheitsgründen einzuschränken.
- 'http://localhost:3000'
- 'https://example.com'
- process.env.INTLAYER_EDITOR_URL
- Hinweis: Die URL des Editor-Servers, die von der Anwendung erreicht werden kann. Wird verwendet, um die Ursprünge einzuschränken, die mit der Anwendung interagieren können. Wenn auf '*' gesetzt, ist der Editor von jedem Ursprung aus zugänglich. Sollte gesetzt werden, wenn der Port geändert wird oder wenn der Editor auf einer anderen Domain gehostet wird.
cmsURL:
- Typ: string
- Standard: 'https://intlayer.org'
- Beschreibung: Die URL des Intlayer CMS.
- Beispiel: 'https://intlayer.org'
- Hinweis: Die URL des Intlayer CMS.
backendURL:
- Typ: string
- Standard: https://back.intlayer.org
- Beschreibung: Die URL des Backend-Servers.
- Beispiel: http://localhost:4000
enabled:
- Typ: boolean
- Standard: true
- Beschreibung: Gibt an, ob die Anwendung mit dem visuellen Editor interagiert.
- Beispiel: process.env.NODE_ENV !== 'production'
- Hinweis: Wenn true, kann der Editor mit der Anwendung interagieren. Wenn false, kann der Editor nicht mit der Anwendung interagieren. In jedem Fall kann der Editor nur durch den visuellen Editor aktiviert werden. Das Deaktivieren des Editors für bestimmte Umgebungen ist eine Möglichkeit, die Sicherheit zu gewährleisten.
clientId:
- Typ: string | undefined
- Standard: undefined
- Beschreibung: clientId und clientSecret ermöglichen es den Intlayer-Paketen, sich mit dem Backend über oAuth2-Authentifizierung zu authentifizieren. Ein Zugriffstoken wird verwendet, um den Benutzer zu authentifizieren, der mit dem Projekt verbunden ist. Um ein Zugriffstoken zu erhalten, gehen Sie zu https://intlayer.org/dashboard/project und erstellen Sie ein Konto.
- Beispiel: true
- Hinweis: Wichtig: Die clientId und clientSecret sollten geheim gehalten und nicht öffentlich geteilt werden. Bitte stellen Sie sicher, dass sie an einem sicheren Ort aufbewahrt werden, z. B. in Umgebungsvariablen.
clientSecret:
- Typ: string | undefined
- Standard: undefined
- Beschreibung: clientId und clientSecret ermöglichen es den Intlayer-Paketen, sich mit dem Backend über oAuth2-Authentifizierung zu authentifizieren. Ein Zugriffstoken wird verwendet, um den Benutzer zu authentifizieren, der mit dem Projekt verbunden ist. Um ein Zugriffstoken zu erhalten, gehen Sie zu https://intlayer.org/dashboard/project und erstellen Sie ein Konto.
- Beispiel: true
- Hinweis: Wichtig: Die clientId und clientSecret sollten geheim gehalten und nicht öffentlich geteilt werden. Bitte stellen Sie sicher, dass sie an einem sicheren Ort aufbewahrt werden, z. B. in Umgebungsvariablen.
hotReload:
- Typ: boolean
- Standard: false
- Beschreibung: Gibt an, ob die Anwendung die Sprachkonfigurationen bei einer Änderung automatisch neu laden soll.
- Beispiel: true
- Hinweis: Wenn beispielsweise ein neues Wörterbuch hinzugefügt oder aktualisiert wird, aktualisiert die Anwendung den Inhalt, der auf der Seite angezeigt wird.
- Hinweis: Da das Hot-Reloading eine kontinuierliche Verbindung zum Server erfordert, ist es nur für Kunden des enterprise-Plans verfügbar.
dictionaryPriorityStrategy:
- Typ: string
- Standard: 'local_first'
- Beschreibung: Die Strategie zur Priorisierung von Wörterbüchern, wenn sowohl lokale als auch entfernte Wörterbücher vorhanden sind. Wenn auf 'distant_first' gesetzt, priorisiert die Anwendung entfernte Wörterbücher gegenüber lokalen Wörterbüchern. Wenn auf 'local_first' gesetzt, priorisiert die Anwendung lokale Wörterbücher gegenüber entfernten Wörterbüchern.
- Beispiel: 'distant_first'
Middleware-Konfiguration
Einstellungen, die das Verhalten der Middleware steuern, einschließlich der Handhabung von Cookies, Headern und URL-Präfixen für die Sprachverwaltung.
Eigenschaften
headerName:
- Typ: string
- Standard: 'x-intlayer-locale'
- Beschreibung: Der Name des HTTP-Headers, der zur Bestimmung der Sprache verwendet wird.
- Beispiel: 'x-custom-locale'
- Hinweis: Dies ist nützlich für die API-basierte Sprachbestimmung.
cookieName:
- Typ: string
- Standard: 'intlayer-locale'
- Beschreibung: Der Name des Cookies, das verwendet wird, um die Spracheinstellung zu speichern.
- Beispiel: 'custom-locale'
- Hinweis: Wird verwendet, um die Spracheinstellung über Sitzungen hinweg beizubehalten.
prefixDefault:
- Typ: boolean
- Standard: false
- Beschreibung: Ob die Standardsprache in der URL enthalten sein soll.
- Beispiel: true
- Hinweis:
- Wenn true und defaultLocale = 'en': path = /en/dashboard oder /fr/dashboard
- Wenn false und defaultLocale = 'en': path = /dashboard oder /fr/dashboard
basePath:
- Typ: string
- Standard: ''
- Beschreibung: Der Basis-Pfad für die Anwendungs-URLs.
- Beispiel: '/my-app'
- Hinweis:
- Wenn die Anwendung auf https://example.com/my-app gehostet wird
- Der Basis-Pfad ist '/my-app'
- Die URL wird https://example.com/my-app/en sein
- Wenn der Basis-Pfad nicht gesetzt ist, wird die URL https://example.com/en sein
serverSetCookie:
- Typ: string
- Standard: 'always'
- Beschreibung: Regel zum Setzen des Sprach-Cookies auf dem Server.
- Optionen: 'always', 'never'
- Beispiel: 'never'
- Hinweis: Steuert, ob das Sprach-Cookie bei jeder Anfrage oder nie gesetzt wird.
noPrefix:
- Typ: boolean
- Standard: false
- Beschreibung: Ob das Sprachpräfix in URLs weggelassen werden soll.
- Beispiel: true
- Hinweis:
- Wenn true: Kein Präfix in der URL
- Wenn false: Präfix in der URL
- Beispiel mit basePath = '/my-app':
- Wenn noPrefix = false: URL wird https://example.com/my-app/en sein
- Wenn noPrefix = true: URL wird https://example.com sein
detectLocaleOnPrefetchNoPrefix:
- Typ: boolean
- Standard: false
- Beschreibung: Steuert, ob die Spracherkennung während Next.js Prefetch-Anfragen stattfindet.
- Beispiel: true
- Hinweis: Diese Einstellung beeinflusst, wie Next.js mit Sprach-Prefetching umgeht:
- Beispielszenario:
- Die Browsersprache des Benutzers ist 'fr'
- Die aktuelle Seite ist /fr/about
- Link prefetcht /about
- Mit detectLocaleOnPrefetchNoPrefix: true:
- Prefetch erkennt 'fr' Sprache vom Browser
- Leitet Prefetch zu /fr/about weiter
- Mit detectLocaleOnPrefetchNoPrefix: false (Standard):
- Prefetch verwendet Standardsprache
- Leitet Prefetch zu /en/about weiter (angenommen 'en' ist Standard)
- Wann true verwenden:
- Ihre App verwendet nicht-lokalisierte interne Links (z.B. <a href="/about">)
- Sie möchten konsistentes Spracherkennungsverhalten zwischen normalen und Prefetch-Anfragen
- Wann false verwenden (Standard):
- Ihre App verwendet sprachpräfixierte Links (z.B. <a href="/fr/about">)
- Sie möchten Prefetching-Performance optimieren
- Sie möchten potenzielle Weiterleitungsschleifen vermeiden
- Beispielszenario:
Inhaltskonfiguration
Einstellungen im Zusammenhang mit der Inhaltsverwaltung innerhalb der Anwendung, einschließlich Verzeichnisnamen, Dateierweiterungen und abgeleiteter Konfigurationen.
Eigenschaften
watch:
- Typ: boolean
- Standard: process.env.NODE_ENV === 'development'
- Beschreibung: Gibt an, ob Intlayer Änderungen in den Inhaltsdeklarationsdateien der App überwachen soll, um die zugehörigen Wörterbücher neu zu erstellen.
fileExtensions:
- Typ: string[]
- Standard: ['.content.ts', '.content.js', '.content.cjs', '.content.mjs', '.content.json', '.content.tsx', '.content.jsx']
- Beschreibung: Dateierweiterungen, nach denen beim Erstellen von Wörterbüchern gesucht wird.
- Beispiel: ['.data.ts', '.data.js', '.data.json']
- Hinweis: Die Anpassung der Dateierweiterungen kann helfen, Konflikte zu vermeiden.
baseDir:
- Typ: string
- Standard: process.cwd()
- Beschreibung: Das Basisverzeichnis für das Projekt.
- Beispiel: '/path/to/project'
- Hinweis: Wird verwendet, um alle Intlayer-bezogenen Verzeichnisse aufzulösen.
dictionaryOutput:
- Typ: string[]
- Standard: ['intlayer']
- Beschreibung: Der Typ der Wörterbuchausgabe, z.B. 'intlayer' oder 'i18next'.
contentDir:
- Typ: string[]
- Standard: ['src']
- Beispiel: ['src', '../../ui-library', require.resolve("@my-package/content")]
- Beschreibung: Der Verzeichnispfad, in dem Inhalte gespeichert sind.
dictionariesDir:
- Typ: string
- Standard: '.intlayer/dictionaries'
- Beschreibung: Der Verzeichnispfad zur Speicherung von Zwischen- oder Ausgabedaten.
moduleAugmentationDir:
- Typ: string
- Standard: '.intlayer/types'
- Beschreibung: Verzeichnis für Modulerweiterungen, um bessere IDE-Vorschläge und Typprüfungen zu ermöglichen.
- Beispiel: 'intlayer-types'
- Hinweis: Stellen Sie sicher, dass dieses Verzeichnis in tsconfig.json enthalten ist.
unmergedDictionariesDir:
- Typ: string
- Standard: '.intlayer/unmerged_dictionary'
- Beschreibung: Das Verzeichnis zur Speicherung von nicht zusammengeführten Wörterbüchern.
- Beispiel: 'translations'
dictionariesDir:
- Typ: string
- Standard: '.intlayer/dictionary'
- Beschreibung: Das Verzeichnis zur Speicherung von Lokalisierungswörterbüchern.
- Beispiel: 'translations'
i18nextResourcesDir:
- Typ: string
- Standard: 'i18next_dictionary'
- Beschreibung: Das Verzeichnis zur Speicherung von i18n-Wörterbüchern.
- Beispiel: 'translations'
- Hinweis: Stellen Sie sicher, dass dieses Verzeichnis für den i18next-Ausgabetyp konfiguriert ist.
typesDir:
- Typ: string
- Standard: 'types'
- Beschreibung: Das Verzeichnis zur Speicherung von Wörterbuchtypen.
- Beispiel: 'intlayer-types'
mainDir:
- Typ: string
- Standard: 'main'
- Beschreibung: Das Verzeichnis, in dem die Hauptanwendungsdateien gespeichert werden.
- Beispiel: 'intlayer-main'
excludedPath:
- Typ: string[]
- Standard: ['node_modules']
- Beschreibung: Verzeichnisse, die von der Inhaltssuche ausgeschlossen sind.
- Hinweis: Diese Einstellung wird derzeit noch nicht verwendet, ist aber für eine zukünftige Implementierung geplant.
Logger-Konfiguration
Einstellungen, die den Logger steuern, einschließlich des zu verwendenden Präfixes.
Eigenschaften
mode:
- Typ: string
- Standard: default
- Beschreibung: Gibt den Modus des Loggers an.
- Optionen: default, verbose, disabled
- Beispiel: default
- Hinweis: Der Modus des Loggers. Der verbose-Modus protokolliert mehr Informationen und kann zu Debugging-Zwecken verwendet werden. Der disabled-Modus deaktiviert den Logger.
prefix:
- Typ: string
- Standard: '[intlayer] '
- Beschreibung: Das Präfix des Loggers.
- Beispiel: '[my custom prefix] '
- Hinweis: Das Präfix des Loggers.
KI-Konfiguration
Einstellungen, die die KI-Funktionen von Intlayer steuern, einschließlich Anbieter, Modell und API-Schlüssel. Diese Konfiguration ist optional, wenn Sie im Intlayer Dashboard mit einem Zugriffsschlüssel registriert sind. Intlayer verwaltet automatisch die effizienteste und kostengünstigste KI-Lösung für Ihre Bedürfnisse. Die Verwendung der Standardoptionen gewährleistet eine bessere langfristige Wartbarkeit, da Intlayer kontinuierlich aktualisiert wird, um die relevantesten Modelle zu verwenden.
Wenn Sie Ihren eigenen API-Schlüssel oder ein bestimmtes Modell verwenden möchten, können Sie Ihre benutzerdefinierte KI-Konfiguration definieren. Diese KI-Konfiguration wird global in Ihrer Intlayer-Umgebung verwendet. CLI-Befehle verwenden diese Einstellungen als Standardwerte für die Befehle (z. B. fill), ebenso wie das SDK, den Visual Editor und das CMS. Sie können diese Standardwerte für spezifische Anwendungsfälle mit Befehlsparametern überschreiben. Intlayer unterstützt mehrere KI-Anbieter für mehr Flexibilität und Auswahl. Derzeit unterstützte Anbieter sind:
- OpenAI (Standard)
- Anthropic Claude
- Mistral AI
- DeepSeek
- Google Gemini
- Meta Llama
Eigenschaften
provider:
- Typ: string
- Standard: 'openai'
- Beschreibung: Der Anbieter, der für die KI-Funktionen von Intlayer verwendet wird.
- Optionen: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini'
- Beispiel: 'anthropic'
- Hinweis: Verschiedene Anbieter können unterschiedliche API-Schlüssel und Preismodelle erfordern.
model:
- Typ: string
- Standard: Keine
- Beschreibung: Das Modell, das für die KI-Funktionen von Intlayer verwendet wird.
- Beispiel: 'gpt-4o-2024-11-20'
- Hinweis: Das spezifische Modell variiert je nach Anbieter.
temperature:
- Typ: number
- Standard: Keine
- Beschreibung: Die Temperatur steuert die Zufälligkeit der Antworten der KI.
- Beispiel: 0.1
- Hinweis: Eine höhere Temperatur macht die KI kreativer und weniger vorhersehbar.
apiKey:
- Typ: string
- Standard: Keine
- Beschreibung: Ihr API-Schlüssel für den ausgewählten Anbieter.
- Beispiel: process.env.OPENAI_API_KEY
- Hinweis: Wichtig: API-Schlüssel sollten geheim gehalten und nicht öffentlich geteilt werden. Bitte bewahren Sie sie an einem sicheren Ort auf, z. B. in Umgebungsvariablen.
applicationContext:
- Typ: string
- Standard: Keine
- Beschreibung: Bietet dem KI-Modell zusätzlichen Kontext zu Ihrer Anwendung, um genauere und kontextuell passendere Übersetzungen zu erzeugen. Dies kann Informationen über die Domäne Ihrer App, die Zielgruppe, den Tonfall oder spezifische Terminologie umfassen.
Build-Konfiguration
Einstellungen, die steuern, wie Intlayer die Internationalisierung Ihrer Anwendung optimiert und baut.
Build-Optionen gelten für die Plugins @intlayer/babel und @intlayer/swc.
Im Entwicklungsmodus verwendet Intlayer statische Importe für Wörterbücher, um die Entwicklungserfahrung zu vereinfachen.
Bei der Optimierung ersetzt Intlayer Wörterbuchaufrufe, um das Chunking zu optimieren, sodass das finale Bundle nur die tatsächlich verwendeten Wörterbücher importiert.
Eigenschaften
optimize:
- Typ: boolean
- Standard: process.env.NODE_ENV === 'production'
- Beschreibung: Steuert, ob der Build optimiert werden soll.
- Beispiel: true
- Hinweis: Wenn aktiviert, ersetzt Intlayer alle Aufrufe von Wörterbüchern, um das Chunking zu optimieren. So importiert das finale Bundle nur die verwendeten Wörterbücher. Alle Importe bleiben als statische Importe, um asynchrone Verarbeitung beim Laden der Wörterbücher zu vermeiden.
- Hinweis: Intlayer ersetzt alle Aufrufe von useIntlayer mit dem durch die importMode-Option definierten Modus und getIntlayer mit getDictionary.
- Hinweis: Diese Option basiert auf den Plugins @intlayer/babel und @intlayer/swc.
- Hinweis: Stellen Sie sicher, dass alle Schlüssel statisch in den useIntlayer-Aufrufen deklariert sind, z. B. useIntlayer('navbar').
importMode:
- Typ: 'static' | 'dynamic' | 'async'
- Standard: 'static'
- Beschreibung: Steuert, wie Wörterbücher importiert werden.
- Beispiel: 'dynamic'
- Hinweis: Verfügbare Modi:
- "static": Wörterbücher werden statisch importiert. Ersetzt useIntlayer durch useDictionary.
- "dynamic": Wörterbücher werden dynamisch mit Suspense importiert. Ersetzt useIntlayer durch useDictionaryDynamic.
- "async": Wörterbücher werden asynchron dynamisch importiert. Ersetzt useIntlayer durch await useDictionaryAsync.
- Hinweis: Dynamische Importe basieren auf Suspense und können die Rendering-Leistung leicht beeinträchtigen.
- Hinweis: Wenn deaktiviert, werden alle Locales auf einmal geladen, auch wenn sie nicht verwendet werden.
- Hinweis: Diese Option basiert auf den Plugins @intlayer/babel und @intlayer/swc.
- Hinweis: Stellen Sie sicher, dass alle Schlüssel statisch in den useIntlayer-Aufrufen deklariert sind, z. B. useIntlayer('navbar').
- Hinweis: Diese Option wird ignoriert, wenn optimize deaktiviert ist.
- Hinweis: In den meisten Fällen wird "dynamic" für React-Anwendungen und "async" für Vue.js-Anwendungen verwendet.
- Hinweis: Diese Option beeinträchtigt nicht die Funktionen getIntlayer, getDictionary, useDictionary, useDictionaryAsync und useDictionaryDynamic.
traversePattern:
- Typ: string[]
- Standard: ['**/*.{js,ts,mjs,cjs,jsx,tsx,mjx,cjx}', '!**/node_modules/**']
- Beschreibung: Muster, die definieren, welche Dateien während der Optimierung durchsucht werden sollen.
- Beispiel: ['src/**/*.{ts,tsx}', '../ui-library/**/*.{ts,tsx}', '!**/node_modules/**']
- Hinweis: Verwenden Sie dies, um die Optimierung auf relevante Code-Dateien zu beschränken und die Build-Leistung zu verbessern.
- Hinweis: Diese Option wird ignoriert, wenn optimize deaktiviert ist.
- Hinweis: Verwenden Sie Glob-Muster.
Dokumentationshistorie
- 5.5.11 - 2025-06-29: docs-Befehle hinzugefügt