Autor:
    Erstellung:2024-08-11Letzte Aktualisierung:2026-08-30

    Intlayer Visual Editor Dokumentation

    www.youtube.com

    Der Intlayer Visual Editor ist ein Tool, das Ihre Website einbindet, um mit Ihren Inhaltsdeklarationsdateien über einen visuellen Editor zu interagieren.

    Intlayer Visual Editor Interface

    Das intlayer-editor-Paket basiert auf Intlayer und ist für JavaScript-Anwendungen verfügbar, wie React (Create React App), Vite + React und Next.js.

    Visueller Editor vs CMS

    Der Intlayer Visual Editor ist ein Tool, mit dem Sie Ihre Inhalte in einem visuellen Editor für lokale Wörterbücher verwalten können. Sobald eine Änderung vorgenommen wird, wird der Inhalt in der Code-Basis ersetzt. Das bedeutet, dass die Anwendung neu gebaut wird und die Seite neu geladen wird, um den neuen Inhalt anzuzeigen.

    Im Gegensatz dazu ist das Intlayer CMS ein Tool, mit dem Sie Ihre Inhalte in einem visuellen Editor für entfernte Wörterbücher verwalten können. Sobald eine Änderung vorgenommen wird, wirkt sich der Inhalt nicht auf Ihre Code-Basis aus. Und die Website zeigt automatisch den geänderten Inhalt an.

    Intlayer in Ihre Anwendung integrieren

    Für weitere Details zur Integration von Intlayer siehe den entsprechenden Abschnitt unten:

    Integration mit Next.js

    Für die Integration mit Next.js, siehe den Setup-Leitfaden.

    Integration mit Create React App

    Für die Integration mit Create React App, siehe den Setup-Leitfaden.

    Integration mit Vite + React

    Für die Integration mit Vite + React, siehe den Setup-Leitfaden.

    Wie der Intlayer Editor funktioniert

    Der visuelle Editor in einer Anwendung umfasst zwei Dinge:

    • Eine Frontend-Anwendung, die Ihre Website in einem iframe anzeigt. Wenn Ihre Website Intlayer verwendet, erkennt der visuelle Editor automatisch Ihre Inhalte und ermöglicht Ihnen, mit ihnen zu interagieren. Sobald eine Änderung vorgenommen wurde, können Sie Ihre Änderungen herunterladen.

    • Sobald Sie auf die Schaltfläche "Herunterladen" klicken, sendet der visuelle Editor eine Anfrage an den Server, um Ihre Inhaltsdeklarationsdateien mit dem neuen Inhalt zu ersetzen (wo auch immer diese Dateien in Ihrem Projekt deklariert sind).

    Beachten Sie, dass der Intlayer Editor Ihre Inhaltsdeklarationsdateien derzeit als JSON-Dateien schreibt.

    Installation

    Sobald Intlayer in Ihrem Projekt konfiguriert ist, installieren Sie einfach intlayer-editor als Entwicklungsabhängigkeit:

    bash
    npm install intlayer-editor --save-dev
    

    Mit dem --with Flag können Sie den Editor parallel mit einem anderen Befehl starten:

    package.json
    {
      "scripts": {
        "start:editor": "npx intlayer-editor start --with 'next dev --turbopack'",
      },
    }
    

    Konfiguration

    In Ihrer Intlayer-Konfigurationsdatei können Sie die Editor-Einstellungen anpassen:

    intlayer.config.ts
    import type { IntlayerConfig } from "intlayer";
    
    const config: IntlayerConfig = {
      // ... andere Konfigurationseinstellungen
      editor: {
        /**
         * Erforderlich
         * Die URL der Anwendung.
         * Dies ist die URL, die vom visuellen Editor angezielt wird.
         * Beispiel: 'http://localhost:3000'
         */
        applicationURL: process.env.INTLAYER_APPLICATION_URL,
        /**
         * Optional
         * Standardmäßig `true`. Wenn `false`, ist der Editor inaktiv und kann nicht aufgerufen werden.
         * Kann verwendet werden, um den Editor aus Sicherheitsgründen für bestimmte Umgebungen wie Produktion zu deaktivieren.
         */
        enabled: process.env.INTLAYER_ENABLED,
        /**
         * Optional
         * Standardmäßig `8000`.
         * Der Port des Editor-Servers.
         */
        port: process.env.INTLAYER_PORT,
        /**
         * Optional
         * Standardmäßig "http://localhost:8000"
         * Die URL des Editor-Servers.
         */
        editorURL: process.env.INTLAYER_EDITOR_URL,
      },
    };
    
    export default config;
    
    Um alle verfügbaren Parameter zu sehen, siehe die Konfigurationsdokumentation.

    Verwendung des Editors

    1. Wenn der Editor installiert ist, können Sie den Editor mit folgendem Befehl starten:

      bash
      npx intlayer-editor start
      
      Beachten Sie, dass Sie Ihre Anwendung parallel ausführen sollten. Die Anwendungs-URL sollte mit der übereinstimmen, die Sie in der Editor-Konfiguration (applicationURL) festgelegt haben.
    Beachten Sie, dass der Befehl vom intlayer Paket erneut exportiert wird. Sie können stattdessen npx intlayer editor start verwenden.
    1. Öffnen Sie dann die bereitgestellte URL. Standardmäßig http://localhost:8000.

      Sie können jedes von Intlayer indizierte Feld anzeigen, indem Sie mit dem Cursor über Ihren Inhalt fahren.

      Hovering over content

    2. Wenn Ihr Inhalt umrissen ist, können Sie ihn lange drücken, um die Bearbeitungsleiste anzuzeigen.

    Umgebungs-Konfiguration

    Der Editor kann so konfiguriert werden, dass er eine bestimmte Umgebungsdatei verwendet. Dies ist nützlich, wenn Sie dieselbe Konfigurationsdatei für Entwicklung und Produktion verwenden möchten.

    Um eine bestimmte Umgebungsdatei zu verwenden, können Sie beim Starten des Editors die Option --env-file oder -f verwenden:

    bash
    npx intlayer-editor start -f .env.development
    
    Beachten Sie, dass sich die Umgebungsdatei im Stammverzeichnis Ihres Projekts befinden sollte.

    Oder Sie können die Option --env oder -e verwenden, um die Umgebung anzugeben:

    bash
    npx intlayer-editor start -e development
    

    Debug

    Wenn Sie Probleme mit dem visuellen Editor haben, überprüfen Sie Folgendes:

    • Der visuelle Editor und die Anwendung laufen.

    • Die editor Konfiguration ist korrekt in Ihrer Intlayer-Konfigurationsdatei eingestellt.

      • Erforderliche Felder:
        • Die Anwendungs-URL sollte mit der übereinstimmen, die Sie in der Editor-Konfiguration (applicationURL) festgelegt haben.
    • Der visuelle Editor verwendet ein iframe, um Ihre Website anzuzeigen. Stellen Sie sicher, dass die Content Security Policy (CSP) Ihrer Website die CMS-URL als frame-ancestors erlaubt (standardmäßig http://localhost:8000). Überprüfen Sie die Konsole des Editors auf Fehler.

    Häufig gestellte Fragen

    Der visuelle Editor bearbeitet lokale Wörterbücher und schreibt die Änderung zurück in Ihre Codebasis, sodass sie durch Ihren üblichen Review- und Deployment-Prozess läuft. Das CMS bearbeitet entfernte Wörterbücher, die sich auf der laufenden Website ohne Deployment ändern. Der Editor passt zu Inhalten, die Entwicklern gehören; das CMS passt zu Inhalten, die einem Marketing-Team gehören.

    Viel weniger als bei einem Namespace-basierten Setup, denn eine Seite lädt niemals einen Katalog herunter, den sie nicht rendert. Serverseitig gerendertes Markup löst seinen Inhalt auf dem Server auf, und der Build-Zeit-Compiler ersetzt useIntlayer-Aufrufe durch genau die Wörterbucheinträge, die eine Komponente verwendet, sodass ungenutzte Schlüssel und ungenutzte Sprachen entfernt werden. Dynamische Wörterbücher teilen den Rest pro Locale auf. Gemessen an den üblichen Alternativen reduziert Intlayer die Bundle- und Seitengröße um bis zu 50 %. Siehe Bundle-Optimierung und den Benchmark.

    Ja, und es gibt zwei Wege. Sie können die Inhalte schrittweise migrieren mit dem i18next-Migrationsleitfaden oder dem next-intl-Migrationsleitfaden. Oder Sie behalten Ihre aktuelle API vollständig bei: Die Kompatibilitätsadapter stellen genau dieselbe API wie i18next, react-i18next, next-intl, next-i18next, react-intl, use-intl, vue-i18n und Lingui bereit, aber aus Intlayer-Wörterbüchern bedient, sodass sich Importe ändern und der Komponentencode nicht.

    Ja. Das sync-JSON-Plugin behält Ihre /messages/{locale}/{namespace}.json-Dateien als Single Source of Truth und generiert daraus Intlayer-Wörterbücher, in beide Richtungen. Ein sync-PO-Plugin macht dasselbe für gettext-Kataloge, und Dateien pro Locale lassen Sie Inhalte nach Sprache aufteilen, statt Locales in einer Datei zu gruppieren.

    Nein. Führen Sie npx intlayer extract aus; Intlayer liest Ihre Quelldateien, zieht die für den Nutzer sichtbaren Strings heraus und schreibt neben jede eine .content-Datei, sodass Sie ein Diff prüfen, statt Strings einzeln in einen Katalog zu kopieren. Siehe den extract-Befehl.

    Für eine vollständig automatisierte Pipeline macht der Intlayer-Compiler dasselbe zur Build-Zeit auf JSX-, TSX-, Vue- und Svelte-Quellcode und generiert die Wörterbücher bei jeder Änderung, sodass es keine von Hand zu pflegenden Schlüssel gibt. Er arbeitet mit statischer Analyse, sodass Strings, die nur zur Laufzeit existieren, unerreichbar bleiben, und er braucht einige Annotationen, um für den Nutzer sichtbaren Text von Anwendungslogik zu unterscheiden.

    Fünf Bausteine, alle optional:

    • VS-Code-Erweiterung: von einem useIntlayer-Schlüssel zur Inhaltsdatei springen, die ihn deklariert, Inhalte aus einer Komponente extrahieren und build, fill, test, push und pull über die Befehlspalette oder einen eigenen Intlayer-Tab ausführen.
    • LSP-Server: dieselbe Wahrnehmung in jedem Editor, der LSP spricht, mit „Gehe zu Definition“, „Alle Referenzen suchen“, Hover-Vorschauen eines übersetzten Werts, Autovervollständigung von Schlüsseln und Feldern sowie einer Warnung, wenn ein Schlüssel nirgends deklariert ist. Es löst außerdem i18next-, react-i18next-, next-intl- und use-intl-Aufrufe auf, was bei der Migration hilft.
    • MCP-Server: stellt die Intlayer-Dokumentation und -CLI für Cursor, VS Code, Claude Desktop, Claude Code und ChatGPT bereit, sodass ein Assistent aus der aktuellen Doku antwortet statt zu raten und Befehle wie intlayer fill selbst ausführen kann.
    • Agent Skills: fokussierte Skills wie intlayer-config, intlayer-cli und intlayer-content sowie eines pro Framework, die einem Agenten Ihr Routing-Setup und die Inhaltsknoten-Typen beibringen.
    • ESLint-Plugin: no-raw-text markiert fest kodierte Strings, mit weiteren Regeln für statische Wörterbuchschlüssel und ungenutzte Inhalte.