Erstellung:2024-12-24Letzte Aktualisierung:2025-11-01

    Wie Sie Ihre i18next JSON-Übersetzungen mit Intlayer automatisieren

    www.youtube.com

    Was ist Intlayer?

    Intlayer ist eine innovative, Open-Source-Internationalisierungsbibliothek, die entwickelt wurde, um die Schwächen traditioneller i18n-Lösungen zu beheben. Sie bietet einen modernen Ansatz für das Content-Management in JavaScript-Anwendungen.

    Siehe einen konkreten Vergleich mit i18next in unserem Blogbeitrag next-i18next vs. next-intl vs. Intlayer.

    Warum Intlayer mit i18next kombinieren?

    Während Intlayer eine hervorragende eigenständige i18n-Lösung bietet (siehe unseren Next.js-Integrationsleitfaden), möchten Sie es aus mehreren Gründen möglicherweise mit i18next kombinieren:

    1. Bestehender Codebestand: Sie haben eine etablierte i18next-Implementierung und möchten schrittweise auf die verbesserte Entwicklererfahrung von Intlayer migrieren.
    2. Legacy-Anforderungen: Ihr Projekt erfordert Kompatibilität mit bestehenden i18next-Plugins oder Workflows.
    3. Teamvertrautheit: Ihr Team ist mit i18next vertraut, möchte aber ein besseres Content-Management.
    4. Verwendung von Intlayer-Funktionen: Sie möchten Intlayer-Funktionen wie Inhaltsdeklaration, Verwaltung von Übersetzungsschlüsseln, Übersetzungsstatus und mehr nutzen.

    Dafür kann Intlayer als Adapter für i18next implementiert werden, um Ihre JSON-Übersetzungen in CLI- oder CI/CD-Pipelines zu automatisieren, Ihre Übersetzungen zu testen und vieles mehr.

    Diese Anleitung zeigt Ihnen, wie Sie das überlegene Inhaltsdeklarationssystem von Intlayer nutzen können und gleichzeitig die Kompatibilität mit i18next beibehalten.

    Inhaltsverzeichnis

    Schritt-für-Schritt-Anleitung zur Einrichtung von Intlayer mit i18next

    Schritt 1: Abhängigkeiten installieren

    Installieren Sie die notwendigen Pakete:

    npm install intlayer @intlayer/sync-json-plugin --save-dev
    npx intlayer init
    pnpm add intlayer @intlayer/sync-json-plugin --save-dev
    pnpm intlayer init
    yarn add intlayer @intlayer/sync-json-plugin --dev
    yarn intlayer init
    bun add intlayer @intlayer/sync-json-plugin --dev
    bun x intlayer init

    Paketbeschreibungen:

    • intlayer: Kernbibliothek für Internationalisierungsmanagement, Inhaltsdeklaration und Build
    • @intlayer/sync-json-plugin: Plugin zum Exportieren von Intlayer-Inhaltsdeklarationen in ein mit i18next kompatibles JSON-Format

    Schritt 2: Implementieren Sie das Intlayer-Plugin, um das JSON zu umschließen

    Erstellen Sie eine Intlayer-Konfigurationsdatei, um Ihre unterstützten Sprachen zu definieren:

    Wenn Sie auch JSON-Wörterbücher für i18next exportieren möchten, fügen Sie das syncJSON-Plugin hinzu:

    import { Locales, type IntlayerConfig } from "intlayer";
    import { syncJSON } from "@intlayer/sync-json-plugin";
    
    const config: IntlayerConfig = {
      internationalization: {
        locales: [Locales.ENGLISH, Locales.FRENCH, Locales.SPANISH],
        defaultLocale: Locales.ENGLISH,
      },
      plugins: [
        syncJSON({
          source: ({ key, locale }) => `./locales/${locale}/${key}.json`,
        }),
      ],
    };
    
    export default config;

    Das syncJSON-Plugin wird das JSON automatisch umschließen. Es liest und schreibt die JSON-Dateien, ohne die Inhaltsarchitektur zu verändern.

    Wenn Sie möchten, dass dieses JSON neben den Intlayer-Inhaltsdeklarationsdateien (.content-Dateien) koexistiert, wird Intlayer folgendermaßen vorgehen:

    1. Sowohl JSON- als auch Inhaltsdeklarationsdateien laden und in ein Intlayer-Wörterbuch umwandeln.
    2. Wenn es Konflikte zwischen dem JSON und den Inhaltsdeklarationsdateien gibt, wird Intlayer alle Wörterbücher zusammenführen. Dies hängt von der Priorität der Plugins und der der Inhaltsdeklarationsdatei ab (alles ist konfigurierbar).

    Wenn Änderungen über die CLI zur Übersetzung des JSON vorgenommen werden oder das CMS verwendet wird, aktualisiert Intlayer die JSON-Datei mit den neuen Übersetzungen.

    Um weitere Details zum syncJSON-Plugin zu erfahren, lesen Sie bitte die syncJSON Plugin-Dokumentation.

    Git-Konfiguration

    Es wird empfohlen, automatisch generierte Intlayer-Dateien zu ignorieren:

    # Ignoriere von Intlayer generierte Dateien
    .intlayer

    Diese Dateien können während Ihres Build-Prozesses neu generiert werden und müssen nicht in die Versionskontrolle aufgenommen werden.

    VS Code Erweiterung

    Für eine verbesserte Entwicklererfahrung installieren Sie die offizielle Intlayer VS Code Erweiterung:

    Installation aus dem VS Code Marketplace