Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren
Dieses Dokument ist veraltet, die Basisversion wurde aktualisiert am 25. Juni 2026.
Zur englischen Doku gehenVersionshistorie
- "Dokumentation initialisiert"v8.0.021.1.2026
Der Inhalt dieser Seite wurde mit einer KI übersetzt.
Den englischen Originaltext ansehenIf you have an idea for improving this documentation, please feel free to contribute by submitting a pull request on GitHub.
GitHub link to the documentationCopy doc Markdown to clipboard
intlayer Vite Plugin Dokumentation
Das intlayer Vite-Plugin integriert die Intlayer-Konfiguration in den Build-Prozess. Es verwaltet Dictionary-Aliase, startet im Entwicklungsmodus den Dictionary-Watcher und bereitet Dictionaries für den Build vor.
Verwendung
Kopieren Sie den Code in die Zwischenablage
// vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [intlayer()],});Optionen
Kopieren Sie den Code in die Zwischenablage
import type { IntlayerPluginOptions } from "vite-intlayer";IntlayerPluginOptions erweitert GetConfigurationOptions (siehe @intlayer/config) mit den folgenden zusätzlichen Feldern:
Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| Option | Type | Default | Beschreibung |
|---|---|---|---|
compatCallers | CompatCallerConfig[] | [] | Zusätzliche Caller-Muster für compat-adapter-Pakete (z. B. @intlayer/react-i18next). Wird zur Build-Zeit an den Field-Usage-Analysierer übergeben. |
proxy | { ignore?: (req) => boolean } | undefined | Optionen, die an den gebündelten Locale-Routing-Proxy weitergeleitet werden. Verwenden Sie ignore, um bestimmte Pfade (z. B. API-Routen) von Locale-Routing auszuschließen. |
Alle anderen Optionen (override, configFile, …) werden direkt an getConfiguration() weitergeleitet.
Beispiele
API-Routen von der Locale-Routing ignorieren
Kopieren Sie den Code in die Zwischenablage
// vite.config.tsimport { defineConfig } from "vite";import { intlayer } from "vite-intlayer";export default defineConfig({ plugins: [ intlayer({ proxy: { ignore: (req) => req.url?.startsWith("/api"), }, }), ],});Mit einem benutzerdefinierten Konfigurationsdateipfad
Kopieren Sie den Code in die Zwischenablage
export default defineConfig({ plugins: [ intlayer({ configFile: "./config/intlayer.config.ts", }), ],});Mit compat-adapter Aufrufern
Kopieren Sie den Code in die Zwischenablage
import { intlayer } from "vite-intlayer";import { reactI18nextCallerConfig } from "@intlayer/react-i18next/plugin";export default defineConfig({ plugins: [ intlayer({ compatCallers: [reactI18nextCallerConfig], }), ],});Was das Plugin macht
1. Dictionary preparation
Vor dem Start des Builds (und einmal pro Stunde in der Entwicklung) ruft intlayer prepareIntlayer auf, um alle .content.ts Dateien in optimierte JSON-Wörterbücher zu kompilieren, die in .intlayer/ gespeichert werden.
2. Module aliases
Das Plugin fügt Vite-Resolve-Aliase hinzu, damit import { myDict } from 'intlayer/dictionaries/my-dict' zur kompilierten JSON-Datei auf der Festplatte aufgelöst wird. SSR-Builds verwenden ssr.noExternal, um sicherzustellen, dass alle @intlayer/*-Packages mit angewendeten Aliasen gebündelt werden.
3. Dev-server watcher
Im Entwicklungsmodus wird ein chokidar Watcher gestartet. Wenn sich eine .content.ts Datei ändert, werden die Wörterbücher neu kompiliert und Vites HMR propagiert das Update zum Browser.
4. Bundled locale-routing proxy (v9+)
Seit Intlayer v9 wird die intlayerProxy Middleware automatisch innerhalb von intlayer() registriert. Sie verwaltet:
- Locale-Erkennung anhand des URL-Präfix, Cookies und
Accept-Language-Header. - 301-Weiterleitungen, wenn die erkannte Locale nicht mit der aktuellen URL übereinstimmt.
- Interne URL-Umschreibungen, damit das Framework den korrekten
[locale]-Routenparameter sieht.
Der Proxy wird durch routing.enableProxy (Standard true) in deiner Intlayer-Konfiguration gesteuert. Um ihn vollständig zu deaktivieren:
Kopieren Sie den Code in die Zwischenablage
// intlayer.config.tsimport { defineConfig } from "intlayer";export default defineConfig({ routing: { enableProxy: false },});Um das Proxy-Verhalten ohne einen separaten intlayerProxy()-Aufruf anzupassen, übergebe proxy-Optionen an das Haupt-Plugin:
Kopieren Sie den Code in die Zwischenablage
intlayer({ proxy: { ignore: (req) => req.url?.startsWith("/api") } });Siehe die intlayerProxy-Dokumentation für die vollständige Routing-Verhaltenreferenz.
5. Bundled compiler (v9+)
Wenn compiler.enabled auf true gesetzt ist und compiler.output in Ihrer Intlayer-Konfiguration definiert ist, registriert intlayer() intlayerCompiler automatisch. Der Compiler extrahiert Inline-Content-Deklarationen, die direkt in Komponentendateien geschrieben sind, und schreibt sie zur Transform-Zeit in Dictionaries. Siehe intlayerCompiler-Dokumentation.
6. Build-Optimierungen
Während eines Production-Builds fügt das Plugin folgende Komponenten hinzu:
- intlayerOptimize – Babel-Transformation, die
useIntlayer('key')→useDictionary(hash)umschreibt und direkte JSON-Importe einfügt. - intlayerPrune – entfernt ungenutzte Content-Felder aus dem Dictionary-JSON.
- intlayerMinify – komprimiert Dictionary-JSON und mangelt optional Feldnamen.
Diese sind im Development-Modus inaktiv.
Veraltete Aliase
Tabelle in einem Modal öffnen, um alle Daten übersichtlich anzuzeigen
| Veralteter Export | Ersatz |
|---|---|
intlayerPlugin | intlayer |
intLayerPlugin | intlayer |