---
createdAt: 2024-08-13
updatedAt: 2026-02-25
title: Konfiguration
description: Erfahren Sie, wie Sie Intlayer für Ihre Anwendung konfigurieren. Verstehen Sie die verschiedenen Einstellungen und Optionen, um Intlayer an Ihre Bedürfnisse anzupassen.
keywords:
  - Konfiguration
  - Einstellungen
  - Anpassung
  - Intlayer
  - Optionen
slugs:
  - doc
  - concept
  - configuration
history:
  - version: 8.1.7
    date: 2026-02-25
    changes: Compiler-Optionen aktualisieren
  - version: 8.0.6
    date: 2026-02-12
    changes: Add support for Open Router, Alibaba, Amazon, Google Vertex Bedrock, Fireworks, Groq, Hugging Face, and Together.ai providers
  - version: 8.0.5
    date: 2026-02-06
    changes: Hinzufügen von `dataSerialization` zur KI-Konfiguration
  - version: 8.0.0
    date: 2026-01-22
    changes: Move `importMode` build configuration to `dictionary` configuration.
  - version: 8.0.0
    date: 2026-01-18
    changes: Systemkonfiguration von der Inhaltskonfiguration trennen. Interne Pfade zur Eigenschaft `system` verschieben. `codeDir` hinzufügen, um Inhaltsdateien von der Codetransformation zu trennen.
  - version: 8.0.0
    date: 2026-01-18
    changes: Wörterbuchoptionen `location` und `schema` hinzugefügt
  - version: 7.5.1
    date: 2026-01-10
    changes: Unterstützung für JSON5- und JSONC-Dateiformate hinzugefügt
  - version: 7.5.0
    date: 2025-12-17
    changes: Hinzufügen der Option `buildMode`
  - version: 6.0.0
    date: 2025-09-16
    changes: `live` Importmodus hinzugefügt
  - version: 6.0.0
    date: 2025-09-04
    changes: Ersetze das Feld `hotReload` durch `liveSync` und füge die Felder `liveSyncPort` und `liveSyncURL` hinzu
  - version: 5.6.1
    date: 2025-07-25
    changes: Ersetze `activateDynamicImport` durch die Option `importMode`
  - version: 5.6.0
    date: 2025-07-13
    changes: Ändere das Standard-`contentDir` von `['src']` zu `['.']`
  - version: 5.5.11
    date: 2025-06-29
    changes: Füge `docs`-Befehle hinzu
---

# Intlayer Konfigurationsdokumentation

## Überblick

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.

---

## Inhaltsverzeichnis

<TOC/>

---

## Unterstützte Konfigurationsdateiformate

Intlayer akzeptiert JSON-, JS-, MJS- und TS-Konfigurationsdateiformate:

- `intlayer.config.ts`
- `intlayer.config.js`
- `intlayer.config.json`
- `intlayer.config.json5`
- `intlayer.config.jsonc`
- `intlayer.config.cjs`
- `intlayer.config.mjs`
- `.intlayerrc`

---

## Beispiel für eine Konfigurationsdatei

```typescript fileName="intlayer.config.ts" codeFormat="typescript"
import { Locales, type IntlayerConfig } from "intlayer";
import { nextjsRewrite } from "intlayer/routing";
import { z } from "zod";

/**
 * Example Intlayer configuration file showing all available options.
 */
const config: IntlayerConfig = {
  /**
   * Configuration for internationalization settings.
   */
  internationalization: {
    /**
     * List of supported locales in the application.
     * Default: [Locales.ENGLISH]
     */
    locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],

    /**
     * List of required locales that must be defined in every dictionary.
     * If empty, all locales are required in `strict` mode.
     * Default: []
     */
    requiredLocales: [Locales.ENGLISH],

    /**
     * Strictness level for internationalized content.
     * - "strict": Errors if any declared locale is missing or undeclared.
     * - "inclusive": Warnings if a declared locale is missing.
     * - "loose": Accepts any existing locale.
     * Default: "inclusive"
     */
    strictMode: "inclusive",

    /**
     * Default locale used as a fallback if the requested locale is not found.
     * Default: Locales.ENGLISH
     */
    defaultLocale: Locales.ENGLISH,
  },

  /**
   * Settings that control dictionary operations and fallback behavior.
   */
  dictionary: {
    /**
     * Controls how dictionaries are imported.
     * - "static": Statically imported at build time.
     * - "dynamic": Dynamically imported using Suspense.
     * - "fetch": Fetched dynamically via the live sync API.
     * Default: "static"
     */
    importMode: "static",

    /**
     * Strategy for auto-filling missing translations using AI.
     * Can be a boolean or a path pattern to store filled content.
     * Default: true
     */
    fill: true,

    /**
     * Physical location of the dictionary files.
     * - "local": Stored in the local filesystem.
     * - "remote": Stored in the Intlayer CMS.
     * - "hybrid": Stored in the local filesystem and the Intlayer CMS.
     * - "plugin" (or any custom string): Provided by a plugin or a custom source.
     * Default: "local"
     */
    location: "local",

    /**
     * Whether to automatically transform content (e.g., Markdown to HTML).
     * Default: false
     */
    contentAutoTransformation: false,
  },

  /**
   * Routing and middleware configuration.
   */
  routing: {
    /**
     * Locale routing strategy.
     * - "prefix-no-default": Prefix all except the default locale (e.g., /dashboard, /fr/dashboard).
     * - "prefix-all": Prefix all locales (e.g., /en/dashboard, /fr/dashboard).
     * - "no-prefix": No locale in the URL.
     * - "search-params": Use ?locale=...
     * Default: "prefix-no-default"
     */
    mode: "prefix-no-default",

    /**
     * Where to store the user's selected locale.
     * Options: 'cookie', 'localStorage', 'sessionStorage', 'header', or an array of these.
     * Default: ['cookie', 'header']
     */
    storage: "cookie",

    /**
     * Base path for the application URLs.
     * Default: ""
     */
    basePath: "",

    /**
     * Custom URL rewriting rules for locale-specific paths.
     */
    rewrite: nextjsRewrite({
      "/[locale]/about": {
        en: "/[locale]/about",
        fr: "/[locale]/a-propos",
      },
    }),
  },

  /**
   * Settings for finding and processing content files.
   */
  content: {
    /**
     * File extensions to scan for dictionaries.
     * Default: ['.content.ts', '.content.js', '.content.json', etc.]
     */
    fileExtensions: [".content.ts", ".content.js", ".content.json"],

    /**
     * Directories where .content files are located.
     * Default: ["."]
     */
    contentDir: ["src"],

    /**
     * Directories where source code is located.
     * Used for build optimization and code transformation.
     * Default: ["."]
     */
    codeDir: ["src"],

    /**
     * Patterns to exclude from scanning.
     * Default: ['node_modules', '.intlayer', etc.]
     */
    excludedPath: ["node_modules"],

    /**
     * Whether to watch for changes and rebuild dictionaries in development.
     * Default: true in development
     */
    watch: true,

    /**
     * Command to format newly created / updated .content files.
     */
    formatCommand: 'npx prettier --write "{{file}}"',
  },

  /**
   * Visual Editor configuration.
   */
  editor: {
    /**
     * Whether the visual editor is enabled.
     * Default: true
     */
    enabled: true,

    /**
     * URL of your application for origin validation.
     * Default: "*"
     */
    applicationURL: "http://localhost:3000",

    /**
     * Port for the local editor server.
     * Default: 8000
     */
    port: 8000,

    /**
     * Public URL for the editor.
     * Default: "http://localhost:8000"
     */
    editorURL: "http://localhost:8000",

    /**
     * Intlayer CMS URL.
     * Default: "https://app.intlayer.org"
     */
    cmsURL: "https://app.intlayer.org",

    /**
     * Backend API URL.
     * Default: "https://back.intlayer.org"
     */
    backendURL: "https://back.intlayer.org",

    /**
     * Whether to enable real-time content synchronization.
     * Default: false
     */
    liveSync: true,
  },

  /**
   * AI-powered translation and generation settings.
   */
  ai: {
    /**
     * AI provider to use.
     * Options: 'openai', 'anthropic', 'mistral', 'deepseek', 'gemini', 'ollama', 'openrouter', 'alibaba', 'fireworks', 'groq', 'huggingface', 'bedrock', 'googlevertex', 'togetherai'
     * Default: 'openai'
     */
    provider: "openai",

    /**
     * Model to use from the selected provider.
     */
    model: "gpt-4o",

    /**
     * Provider API key.
     */
    apiKey: process.env.OPENAI_API_KEY,

    /**
     * Global context to guide the AI in generating translations.
     */
    applicationContext: "This is a travel booking application.",

    /**
     * Base URL for the AI API.
     */
    baseURL: "http://localhost:3000",
  },

  /**
   * Build and optimization settings.
   */
  build: {
    /**
     * Build execution mode.
     * - "auto": Automatic build during app build.
     * - "manual": Requires explicit build command.
     * Default: "auto"
     */
    mode: "auto",

    /**
     * Whether to optimize the final bundle by pruning unused dictionaries.
     * Default: true in production
     */
    optimize: true,

    /**
     * Output format for generated dictionary files.
     * Default: ['esm', 'cjs']
     */
    outputFormat: ["esm"],

    /**
     * Indicates if the build should check TypeScript types.
     * Default: false
     */
    checkTypes: false,
  },

  /**
   * Logger configuration.
   */
  log: {
    /**
     * Logging level.
     * - "default": Standard logging.
     * - "verbose": Detailed debug logging.
     * - "disabled": No logging.
     * Default: "default"
     */
    mode: "default",

    /**
     * Prefix for all log messages.
     * Default: "[intlayer]"
     */
    prefix: "[intlayer]",
  },

  /**
   * System configuration (Advanced use cases)
   */
  system: {
    /**
     * Directory for storing localization dictionaries.
     */
    dictionariesDir: ".intlayer/dictionary",

    /**
     * Directory for module augmentation.
     */
    moduleAugmentationDir: ".intlayer/types",

    /**
     * Directory for storing unmerged dictionaries.
     */
    unmergedDictionariesDir: ".intlayer/unmerged_dictionary",

    /**
     * Directory for storing dictionary types.
     */
    typesDir: ".intlayer/types",

    /**
     * Directory where main application files are stored.
     */
    mainDir: ".intlayer/main",

    /**
     * Directory where the configuration files are stored.
     */
    configDir: ".intlayer/config",

    /**
     * Directory where the cache files are stored.
     */
    cacheDir: ".intlayer/cache",
  },

  /**
   * Compiler configuration (Advanced use cases)
   */
  compiler: {
    /**
     * Indicates if the compiler should be enabled.
     */
    enabled: true,

    /**
     * Pattern to traverse the code to optimize.
     */
    transformPattern: [
      "**/*.{js,ts,mjs,cjs,jsx,tsx,vue,svelte}",
      "!**/node_modules/**",
    ],

    /**
     * Pattern to exclude from the optimization.
     */
    excludePattern: ["**/node_modules/**"],

    /**
     * Output directory for the optimized dictionaries.
     */
    outputDir: "compiler",

    /**
     * Dictionary key prefix
     */
    dictionaryKeyPrefix: "", // Remove base prefix

    /**
     * Indicates if the components should be saved after being transformed.
     * That way, the compiler can be run only once to transform the app, and then it can be removed.
     */
    saveComponents: false,
  },

  /**
   * Custom schemas to validate the dictionaries content.
   */
  schemas: {
    "my-schema": z.object({
      title: z.string(),
    }),
  },

  /**
   * Plugins configuration.
   */
  plugins: [],
};

export default config;
```

## Konfigurationsreferenz

Die folgenden Abschnitte beschreiben die verschiedenen Konfigurationseinstellungen, die für Intlayer verfügbar sind.

---

### Internationalisierungs-Konfiguration

Definiert Einstellungen im Zusammenhang mit der Internationalisierung, einschließlich verfügbarer Sprachen und der Standardsprache für die 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 alle Sprachen im `strict`-Modus erforderlich.
  - _Hinweis_: Stellen Sie sicher, dass die erforderlichen Sprachen auch im Feld `locales` definiert sind.
- **strictMode**:
  - _Typ_: `string`
  - _Standard_: `inclusive`
  - _Beschreibung_: Gewährleistet eine strenge Umsetzung internationalisierter Inhalte mit TypeScript.
  - _Hinweis_: Wenn auf "strict" gesetzt, verlangt 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, verlangt 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, aber vorhanden ist.
  - _Hinweis_: Wenn auf "loose" gesetzt, akzeptiert die Übersetzungsfunktion `t` jede vorhandene Locale.

- **defaultLocale**:
  - _Typ_: `string`
  - _Standard_: `'en'`
  - _Beschreibung_: Die Standard-Locale, die als Fallback verwendet wird, wenn die angeforderte Locale nicht gefunden wird.
  - _Beispiel_: `'en'`
  - _Hinweis_: Dies wird verwendet, um die Locale 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 Server-Port und Aktivstatus.

#### 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 die Herkunft des Editors aus Sicherheitsgründen einzuschränken. Wenn auf `'*'` gesetzt, ist der Editor von jeder Herkunft 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 die Herkunft 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 aus erreichbar sein soll. Wird verwendet, um die Ursprünge einzuschränken, die mit der Anwendung aus Sicherheitsgründen 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 erhöhen.

- **clientId**:
  - _Typ_: `string` | `undefined`
  - _Standard_: `undefined`
  - _Beschreibung_: clientId und clientSecret ermöglichen es den Intlayer-Paketen, sich mit dem Backend über die 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://app.intlayer.org/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, wie z.B. Umgebungsvariablen, aufbewahrt werden.

- **clientSecret**:
  - _Typ_: `string` | `undefined`
  - _Standard_: `undefined`
  - _Beschreibung_: clientId und clientSecret ermöglichen es den Intlayer-Paketen, sich mit dem Backend über die 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://app.intlayer.org/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.

- **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'`

- **liveSync**:
  - _Typ_: `boolean`
  - _Standard_: `false`
  - _Beschreibung_: Gibt an, ob der Anwendungsserver den Inhalt der Anwendung automatisch neu laden soll, wenn eine Änderung im CMS / Visual Editor / Backend erkannt wird.
  - _Beispiel_: `true`
  - _Hinweis_: Zum Beispiel, wenn ein neues Wörterbuch hinzugefügt oder aktualisiert wird, aktualisiert die Anwendung den anzuzeigenden Inhalt auf der Seite.
  - _Hinweis_: Live-Sync erfordert die Externalisierung des Inhalts der Anwendung auf einen anderen Server. Das bedeutet, dass dies die Leistung der Anwendung leicht beeinträchtigen kann. Um dies zu begrenzen, empfehlen wir, die Anwendung und den Live-Sync-Server auf derselben Maschine zu hosten. Außerdem kann die Kombination von Live-Sync und `optimize` eine beträchtliche Anzahl von Anfragen an den Live-Sync-Server stellen. Abhängig von Ihrer Infrastruktur empfehlen wir, beide Optionen und deren Kombination zu testen.

- **liveSyncPort**:
  - _Typ_: `number`
  - _Standard_: `4000`
  - _Beschreibung_: Der Port des Live-Sync-Servers.
  - _Beispiel_: `4000`
  - _Hinweis_: Der Port des Live-Sync-Servers.

- **liveSyncURL**:
  - _Typ_: `string`
  - _Standard_: `'http://localhost:{liveSyncPort}'`
  - _Beschreibung_: Die URL des Live-Sync-Servers.
  - _Beispiel_: `'https://example.com'`
  - _Hinweis_: Standardmäßig zeigt es auf localhost, kann aber auf jede beliebige URL geändert werden, falls ein entfernter Live-Sync-Server verwendet wird.

### Middleware-Konfiguration

Einstellungen, die das Verhalten der Middleware steuern, einschließlich wie die Anwendung Cookies, Header und URL-Präfixe für die Verwaltung von Sprachversionen behandelt.

#### 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_: Nützlich für die sprachliche Bestimmung über APIs.

- **cookieName**:
  - _Typ_: `string`
  - _Standard_: `'intlayer-locale'`
  - _Beschreibung_: Der Name des Cookies, das zur Speicherung der Sprache verwendet wird.
  - _Beispiel_: `'custom-locale'`
  - _Hinweis_: Wird verwendet, um die Locale über Sitzungen hinweg zu speichern.

- **prefixDefault**:
  - _Typ_: `boolean`
  - _Standard_: `false`
  - _Beschreibung_: Ob die Standard-Locale in der URL enthalten sein soll.
  - _Beispiel_: `true`
  - _Hinweis_:
    - Wenn `true` und `defaultLocale = 'en'`: Pfad = `/en/dashboard` oder `/fr/dashboard`
    - Wenn `false` und `defaultLocale = 'en'`: Pfad = `/dashboard` oder `/fr/dashboard`

- **basePath**:
  - _Typ_: `string`
  - _Standard_: `''`
  - _Beschreibung_: Der Basis-Pfad für die Anwendungs-URLs.
  - _Beispiel_: `'/my-app'`
  - _Hinweis_:
    - Wenn die Anwendung unter `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.

- **rewrite**:
  - _Typ_: `Record<string, StrictModeLocaleMap<string>>`
  - _Standard_: `undefined`
  - _Beschreibung_: Benutzerdefinierte URL-Umschreiberegeln, die den Standard-Routing-Modus für bestimmte Pfade überschreiben. Ermöglicht die Definition sprachspezifischer Pfade, die sich vom Standard-Routing-Verhalten unterscheiden. Unterstützt dynamische Routenparameter mit der Syntax `[param]`.
  - _Beispiel_:
    ```typescript
    routing: {
      mode: "prefix-no-default", // Fallback-Strategie
      rewrite: nextjsRewrite({
        "/[locale]/about": {
          en: "/[locale]/about",
          fr: "/[locale]/a-propos",
        },
        "/[locale]/product/[slug]": {
          en: "/[locale]/product/[slug]",
          fr: "/[locale]/produit/[slug]",
        },
        "/[locale]/blog/[category]/[id]": {
          en: "/[locale]/blog/[category]/[id]",
          fr: "/[locale]/journal/[category]/[id]",
        },
      }),
    }
    ```
  - _Hinweis_: Die Umschreiberegeln haben Vorrang vor dem Standard-`mode`-Verhalten. Wenn ein Pfad mit einer Umschreiberegel übereinstimmt, wird der lokalisierte Pfad aus der Umschreibkonfiguration anstelle der Standard-Sprachpräfixierung verwendet.
  - _Hinweis_: Dynamische Routenparameter werden mit der Klammernotation unterstützt (z. B. `[slug]`, `[id]`). Die Parameterwerte werden automatisch aus der URL extrahiert und in den umgeschriebenen Pfad interpoliert.
  - _Hinweis_: Funktioniert mit Next.js- und Vite-Anwendungen. Der Middleware/Proxy schreibt eingehende Anfragen automatisch um, um der internen Routenstruktur zu entsprechen.
  - _Hinweis_: Beim Generieren von URLs mit `getLocalizedUrl()` werden die Umschreiberegeln automatisch angewendet, wenn sie mit dem bereitgestellten Pfad übereinstimmen.
  - _Referenz_: Weitere Informationen finden Sie unter [Benutzerdefinierte URL-Umschreibungen](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/custom_url_rewrites.md).

- **serverSetCookie**:
  - _Typ_: `string`
  - _Standard_: `'always'`
  - _Beschreibung_: Regel zum Setzen des Locale-Cookies auf dem Server.
  - _Optionen_: `'always'`, `'never'`
  - _Beispiel_: `'never'`
  - _Hinweis_: Steuert, ob das Locale-Cookie bei jeder Anfrage oder nie gesetzt wird.

- **noPrefix**:
  - _Typ_: `boolean`
  - _Standard_: `false`
  - _Beschreibung_: Ob das Locale-Präfix in URLs weggelassen wird.
  - _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

---

### Inhaltskonfiguration

Einstellungen im Zusammenhang mit der Inhaltsverwaltung innerhalb der Anwendung, einschließlich Verzeichnisnamen, Dateierweiterungen und abgeleiteter Konfigurationen.

#### Eigenschaften

- **autoFill**:
  - _Typ_: `boolean | string | { [key in Locales]?: string }`
  - _Standard_: `undefined`
  - _Beschreibung_: Gibt an, wie der Inhalt automatisch mit KI ausgefüllt werden soll. Kann global in der Datei `intlayer.config.ts` deklariert werden.
  - _Beispiel_: true
  - _Beispiel_: `'./{{fileName}}.content.json'`
  - _Beispiel_: `{ fr: './{{fileName}}.fr.content.json', es: './{{fileName}}.es.content.json' }`
  - _Hinweis_: Die Auto-Fill-Konfiguration kann sein:
    - boolean: Auto-Fill für alle Sprachen aktivieren
    - string: Pfad zu einer einzelnen Datei oder Vorlage mit Variablen
    - object: Pro-Sprache Dateipfade

- **watch**:
  - _Typ_: `boolean`
  - _Standard_: `process.env.NODE_ENV === 'development'`
  - _Beschreibung_: Gibt an, ob Intlayer Änderungen an den Inhaltsdeklarationsdateien in 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_: Dies wird verwendet, um alle Intlayer-bezogenen Verzeichnisse aufzulösen.

- **contentDir**:
  - _Typ_: `string[]`
  - _Standard_: `['.']`
  - _Beispiel_: `['src', '../../ui-library', require.resolve("@my-package/content")]`
  - _Beschreibung_: Der Verzeichnispfad, in dem Inhaltsdefinitionsdateien (`.content.*`) gespeichert sind.
  - _Hinweis_: Dies wird verwendet, um Inhaltsdateien zu überwachen, um Wörterbücher neu zu erstellen.

- **codeDir**:
  - _Typ_: `string[]`
  - _Standard_: `['.']`
  - _Beispiel_: `['src', '../../ui-library']`
  - _Beschreibung_: Der Verzeichnispfad, in dem der Code gespeichert ist, relativ zum Basisverzeichnis.
  - _Hinweis_: Dies wird verwendet, um Codedateien zu überwachen, die transformiert werden sollen (beschneiden, optimieren). Die Trennung von `contentDir` kann die Build-Leistung verbessern, indem unnötige Scans von Inhaltsdateien vermieden werden.

- **excludedPath**:
  - _Typ_: `string[]`
  - _Standard_: `['**/node_modules/**', '**/dist/**', '**/build/**', '**/.intlayer/**', '**/.next/**', '**/.nuxt/**', '**/.expo/**', '**/.vercel/**', '**/.turbo/**', '**/.tanstack/**']`
  - _Beschreibung_: Verzeichnisse, die von der Inhaltssuche ausgeschlossen sind.
  - _Hinweis_: Diese Einstellung wird derzeit noch nicht verwendet, ist aber für zukünftige Implementierungen geplant.

- **formatCommand**:
  - _Typ_: `string`
  - _Standard_: `undefined`
  - _Beschreibung_: Der Befehl zum Formatieren des Inhalts. Wenn Intlayer Ihre .content-Dateien lokal schreibt, wird dieser Befehl zum Formatieren des Inhalts verwendet.
  - _Beispiel_: `'npx prettier --write "{{file}}" --log-level silent'` Mit Prettier
  - _Beispiel_: `'npx biome format "{{file}}" --write --log-level none'` Mit Biome
  - _Beispiel_: `'npx eslint --fix "{{file}}"  --quiet'` Mit ESLint
  - _Hinweis_: Intlayer ersetzt {{file}} durch den Pfad der zu formatierenden Datei.
  - _Hinweis_: Wenn nicht gesetzt, versucht Intlayer, den Formatierungsbefehl automatisch zu erkennen. Durch Versuch, die folgenden Befehle aufzulösen: prettier, biome, eslint.

---

### Systemkonfiguration

Einstellungen im Zusammenhang mit internen Pfaden und Ausgabeergebnissen von Intlayer. Diese Einstellungen sind typischerweise intern und sollten nicht vom Benutzer geändert werden müssen.

#### Eigenschaften

- **dictionariesDir**:
  - _Typ_: `string`
  - _Standard_: `'.intlayer/dictionary'`
  - _Beschreibung_: Der Verzeichnispfad zur Speicherung von Lokalisierungswörterbüchern.

- **moduleAugmentationDir**:
  - _Typ_: `string`
  - _Standard_: `'.intlayer/types'`
  - _Beschreibung_: Verzeichnis für Module-Augmentation, um bessere IDE-Vorschläge und Typüberprüfung zu ermöglichen.
  - _Beispiel_: `'intlayer-types'`
  - _Hinweis_: Stellen Sie sicher, dass dies in der `tsconfig.json` enthalten ist.

- **unmergedDictionariesDir**:
  - _Typ_: `string`
  - _Standard_: `'.intlayer/unmerged_dictionary'`
  - _Beschreibung_: Das Verzeichnis zur Speicherung von nicht zusammengeführten Wörterbüchern.

- **typesDir**:
  - _Typ_: `string`
  - _Standard_: `'.intlayer/types'`
  - _Beschreibung_: Das Verzeichnis zur Speicherung von Wörterbuchtypen.

- **mainDir**:
  - _Typ_: `string`
  - _Standard_: `'.intlayer/main'`
  - _Beschreibung_: Das Verzeichnis, in dem die Hauptanwendungsdateien gespeichert sind.

- **configDir**:
  - _Typ_: `string`
  - _Standard_: `'.intlayer/config'`
  - _Beschreibung_: Das Verzeichnis, in dem die Konfigurationsdateien gespeichert sind.

- **cacheDir**:
  - _Typ_: `string`
  - _Standard_: `'.intlayer/cache'`
  - _Beschreibung_: Das Verzeichnis, in dem die Cache-Dateien gespeichert sind.

- **outputFilesPatternWithPath**:
  - _Typ_: `string`
  - _Standard_: `'{{dictionariesDir}}/**/*.json'`
  - _Beschreibung_: Muster für Ausgabedateien einschließlich des relativen Pfads.

### Wörterbuch-Konfiguration

Einstellungen, die Wörterbuchoperationen steuern, einschließlich des Auto-Fill-Verhaltens und der Inhaltsgenerierung.

Diese Wörterbuchkonfiguration dient zwei Hauptzwecken:

1. **Standardwerte**: Definieren Sie Standardwerte beim Erstellen von Inhaltsdeklarationsdateien
2. **Fallback-Verhalten**: Stellen Sie Fallback-Werte bereit, wenn bestimmte Felder nicht definiert sind, sodass Sie das Verhalten von Wörterbuchoperationen global definieren können

Weitere Informationen zu Inhaltsdeklarationsdateien und zur Anwendung von Konfigurationswerten finden Sie in der [Inhaltsdatei-Dokumentation](https://github.com/aymericzip/intlayer/blob/main/docs/docs/de/dictionary/content_file.md).

#### Eigenschaften

- **fill**
- **description**
- **locale**
- **location**
- **priority**
- **live**
- **schema**
- **title**
- **tags**
- **version**

---

### 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 für Debugging-Zwecke verwendet werden. Der deaktivierte Modus schaltet den Logger aus.

- **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 des Anbieters, Modells und API-Schlüssels.

Diese Konfiguration ist optional, wenn Sie mit einem Zugriffsschlüssel im [Intlayer Dashboard](https://app.intlayer.org/project) 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 eigene 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, der 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 erhöhte Flexibilität und Auswahlmöglichkeiten. Derzeit unterstützte Anbieter sind:

- **OpenAI** (Standard)
- **Anthropic Claude**
- **Mistral AI**
- **DeepSeek**
- **Google Gemini**
- **Meta Llama**
- **Ollama**
- **OpenRouter**
- **Alibaba Cloud**
- **Fireworks**
- **Hugging Face**
- **Groq**
- **Amazon Bedrock**
- **Google AI Studio**
- **Google Vertex**
- **Together.ai**
- **ollama**

#### 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'`, `'ollama'`, `'openrouter'`, `'alibaba'`, `'fireworks'`, `'groq'`, `'huggingface'`, `'bedrock'`, `'googleaistudio'`, `'googlevertex'`, `'togetherai'`
  - _Beispiel_: `'anthropic'`
  - _Hinweis_: Verschiedene Anbieter können unterschiedliche API-Schlüssel erfordern und haben unterschiedliche Preismodelle.

- **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 stellen Sie sicher, dass sie an einem sicheren Ort aufbewahrt werden, wie 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.

- **baseURL**:
  - _Typ_: `string`
  - _Standard_: Keine
  - _Beschreibung_: Die Basis-URL für die KI-API.
  - _Beispiel_: `'https://api.openai.com/v1'`
  - _Hinweis_: Kann verwendet werden, um auf einen lokalen oder benutzerdefinierten KI-API-Endpunkt zu verweisen.

- **dataSerialization**:
  - _Typ_: `'json' | 'toon'`
  - _Standard_: `'json'`
  - _Beschreibung_: Das Datenserialisierungsformat für die KI-Funktionen von Intlayer.
  - _Beispiel_: `'toon'`
  - _Hinweis_: `json`: Standard, zuverlässig; verbraucht mehr Token. `toon`: Weniger Token, weniger konsistent als JSON.

### 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.

> Wenn optimiert, ersetzt Intlayer Wörterbuchaufrufe, um das Chunking zu optimieren, sodass das endgültige Bundle nur die tatsächlich verwendeten Wörterbücher importiert.

#### Eigenschaften

- **mode**:
  - _Typ_: `'auto' | 'manual'`
  - _Standard_: `'auto'`
  - _Beschreibung_: Steuert den Modus des Builds.
  - _Beispiel_: `'manual'`
  - _Hinweis_: Wenn 'auto', wird der Build automatisch aktiviert, wenn die Anwendung gebaut wird.
  - _Hinweis_: Wenn 'manual', wird der Build nur gesetzt, wenn der Build-Befehl ausgeführt wird.
  - _Hinweis_: Kann verwendet werden, um die Erstellung von Wörterbüchern zu deaktivieren, z.B. wenn die Ausführung in einer Node.js-Umgebung vermieden werden sollte.

- **checkTypes**:
  - _Type_: `boolean`
  - _Default_: `false`
  - _Description_: Gibt an, ob der Build TypeScript-Typen überprüfen und Fehler protokollieren soll.
  - _Note_: Dies kann den Build-Vorgang verlangsamen.

- **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 Wörterbuchaufrufe, um das Chunking zu optimieren. So importiert das endgültige Bundle nur die verwendeten Wörterbücher. Alle Importe bleiben statisch, um asynchrone Verarbeitung beim Laden der Wörterbücher zu vermeiden.
  - _Hinweis_: Intlayer ersetzt alle Aufrufe von `useIntlayer` durch den im `importMode`-Parameter definierten Modus und `getIntlayer` durch `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**:
  - _Note_: **Deprecated**: Use `dictionary.importMode` instead.
  - _Typ_: `'static' | 'dynamic' | 'fetch'`
  - _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`.
- "fetch": Wörterbücher werden dynamisch über die Live-Sync-API abgerufen. Ersetzt `useIntlayer` durch `useDictionaryFetch`.
- _Hinweis_: Dynamische Importe basieren auf Suspense und können die Rendering-Leistung leicht beeinträchtigen.
- _Hinweis_: Wenn deaktiviert, werden alle Sprachversionen 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_: Wenn auf "live" gesetzt, werden nur die Wörterbücher, die entfernte Inhalte enthalten und als "live" markiert sind, im Live-Modus transformiert. Andere werden dynamisch im "dynamic"-Modus importiert, um die Anzahl der Abrufanfragen und die Ladeleistung zu optimieren.
  - _Hinweis_: Der Live-Modus verwendet die Live-Sync-API, um die Wörterbücher abzurufen. Wenn der API-Aufruf fehlschlägt, werden die Wörterbücher dynamisch im "dynamic"-Modus importiert.
  - _Hinweis_: Diese Option hat keine Auswirkungen auf die Funktionen `getIntlayer`, `getDictionary`, `useDictionary`, `useDictionaryAsync` und `useDictionaryDynamic`.

- **outputFormat**:
  - _Typ_: `'esm' | 'cjs'`
  - _Standard_: `'esm'`
  - _Beschreibung_: Steuert das Ausgabeformat der Wörterbücher.
  - _Beispiel_: `'cjs'`
  - _Hinweis_: Das Ausgabeformat der Wörterbücher.

- **traversePattern**:
  - _Typ_: `string[]`
  - _Standard_: `['**\/*.{js,ts,mjs,cjs,jsx,tsx}', '!**\/node_modules/**']`
  - _Beschreibung_: Muster, die definieren, welche Dateien während der Optimierung durchlaufen 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.

---

### Compiler-Konfiguration

Einstellungen zur Steuerung des Intlayer-Compilers, der Wörterbücher direkt aus Ihren Komponenten extrahiert.

#### Eigenschaften

- **enabled**:
  - _Typ_: `boolean | 'build-only'`
  - _Standard_: `true`
  - _Beschreibung_: Gibt an, ob der Compiler aktiviert sein soll, um die Wörterbücher zu extrahieren.
  - _Beispiel_: `'build-only'`
  - _Hinweis_: Wenn Sie dies auf `'build-only'` setzen, wird der Compiler im Entwicklungsmodus übersprungen, um die Startzeiten zu beschleunigen. Er wird nur bei Build-Befehlen ausgeführt.

- **dictionaryKeyPrefix**:
  - _Typ_: `string`
  - _Standard_: `'comp-'`
  - _Beschreibung_: Präfix für die extrahierten Wörterbuchschlüssel.
  - _Beispiel_: `'my-key-'`
  - _Hinweis_: Wenn Wörterbücher extrahiert werden, wird der Schlüssel basierend auf dem Dateinamen generiert. Dieses Präfix wird dem generierten Schlüssel hinzugefügt, um Konflikte zu vermeiden.

- **saveComponents**:
  - _Typ_: `boolean`
  - _Standard_: `false`
  - _Beschreibung_: Gibt an, ob die Komponenten nach der Transformation gespeichert werden sollen.
  - _Hinweis_: Wenn auf true gesetzt, ersetzt der Compiler die Originaldateien durch die transformierten Dateien. Auf diese Weise kann der Compiler nur einmal ausgeführt werden, um die App zu transformieren, und dann entfernt werden.

- **transformPattern**:
  - _Typ_: `string | string[]`
  - _Standard_: `['**/*.{ts,tsx,jsx,js,cjs,mjs,svelte,vue}', '!**/node_modules/**']`
  - _Beschreibung_: Muster, die definieren, welche Dateien während der Optimierung durchlaufen werden sollen.
  - _Beispiel_: `['src/**/*.{ts,tsx}', '!**/node_modules/**']`
  - _Hinweis_: Verwenden Sie dies, um die Optimierung auf relevante Code-Dateien zu beschränken und die Build-Leistung zu verbessern.

- **excludePattern**:
  - _Typ_: `string | string[]`
  - _Standard_: `['**/node_modules/**']`
  - _Beschreibung_: Muster, die definieren, welche Dateien während der Optimierung ausgeschlossen werden sollen.
  - _Beispiel_: `['**/node_modules/**', '!**/node_modules/react/**']`

- **outputDir**:
  - _Typ_: `string`
  - _Standard_: `'compiler'`
  - _Beschreibung_: Das Verzeichnis, in dem die extrahierten Wörterbücher gespeichert werden, relativ zum Basispfad Ihres Projekts.
