StartseiteSandboxShowcaseAppDokumentBlog
    • EnglishEnglisch
      EN
    • русскийRussisch
      RU
    • 日本語Japanisch
      JA
    • françaisFranzösisch
      FR
    • 한국어Koreanisch
      KO
    • 中文Chinesisch
      ZH
    • españolSpanisch
      ES
    • DeutschDeutsch
      DE
    • العربيةArabisch
      AR
    • italianoItalienisch
      IT
    • British EnglishEnglisch (Vereinigtes Königreich)
      EN-GB
    • portuguêsPortugiesisch
      PT
    • हिन्दीHindi
      HI
    • TürkçeTürkisch
      TR
    • polskiPolnisch
      PL
    • IndonesiaIndonesisch
      ID
    • Tiếng ViệtVietnamesisch
      VI
    • українськаUkrainisch
      UK
    /
    Dokumentation nach Framework filtern
    Alt+←
    Warum Intlayer?
    Anfangen
    Konzept
    • Wie Intlayer funktioniert
    • Konfiguration
    • TestFillBuildWatchExtractLoginPushPullConfigurationListVersionEditorLiveDebugDoc ReviewDoc TranslateSDK
    • Visueller Editor
    • CMS
    • CI/CD-Integration
    • ÜbersetzungPluralAufzählungBedingungGeschlechtEinfügungDateiVerschachtelungMarkdownHTMLFunktionsabruf
    • Datei pro Locale
    • Compiler
    • Automatisches Ausfüllen
    • Testen
    • Bundle-Optimierung
    Umwelt
    • Next.js 14 und App RouterNext.js 15Next.js ohne Locale URLNext.js und Page RouterCompiler
    • Tanstack Start Solid
    • Astro und ReactAstro und SvelteAstro und VueAstro und SolidAstro und PreactAstro und LitAstro und Vanilla JS
    • React Router v7React Router v7 (fs-routes)Compiler
    • Nuxt und Vue
    • Vite und Solid
    • SvelteKit
    • Vite und Preact
    • Vite und Vanilla JS
    • Vite und Lit
    • Angular 19 (Webpack)Analog
    • React CRA
    • React Native und Expo
    • Express.jsNestJSFastifyHonoAdonis
    • Lynx und React
    Plugins
    • JSON
    • gettext (.po)
    VS Code-Erweiterung
    Agent
    • MCP-Server
    • Agenten-Fähigkeiten
    Versionen
    • v8
    • v7
    • v6
    Benchmark
    • Next.js
    • TanStack
    • Vue
    • Solid
    • Svelte
    Blog
    Frage stellen
    1. Documentation
    2. Konzept
    3. CI/CD-Integration

    Automatische Generierung von Übersetzungen in einer CI/CD-Pipeline

    Intlayer ermöglicht die automatische Generierung von Übersetzungen für Ihre Content-Deklarationsdateien. Es gibt verschiedene Möglichkeiten, dies je nach Ihrem Workflow zu realisieren.

    Verwendung des CMS

    Mit Intlayer können Sie einen Workflow verwenden, bei dem nur eine einzige Locale lokal deklariert wird, während alle Übersetzungen remote über das CMS verwaltet werden. Dies ermöglicht es, Inhalte und Übersetzungen vollständig von der Codebasis zu trennen, bietet mehr Flexibilität für Content-Editoren und ermöglicht ein Hot Content Reloading (kein erneutes Bauen der Anwendung erforderlich, um Änderungen anzuwenden).

    Beispielkonfiguration

    intlayer.config.ts
    import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH, Locales.SPANISH, Locales.FRENCH],    requiredLocales: [Locales.ENGLISH], // Optionale Locales werden remote verwaltet    defaultLocale: Locales.ENGLISH,  },  editor: {    dictionaryPriorityStrategy: "distant_first", // Remote-Inhalte haben Vorrang    applicationURL: process.env.APPLICATION_URL, // Anwendungs-URL, die vom CMS verwendet wird    clientId: process.env.INTLAYER_CLIENT_ID, // CMS-Zugangsdaten    clientSecret: process.env.INTLAYER_CLIENT_SECRET,  },  ai: {    applicationContext: "Dies ist eine Testanwendung", // Hilft, eine konsistente Übersetzungserstellung sicherzustellen  },};export default config;

    Um mehr über das CMS zu erfahren, lesen Sie die offizielle Dokumentation.

    Verwendung von Husky

    Sie können die Übersetzungserstellung in Ihren lokalen Git-Workflow mit Husky integrieren.

    Beispielkonfiguration

    intlayer.config.ts
    import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  internationalization: {    locales: [Locales.ENGLISH, Locales.SPANISH, Locales.FRENCH],    requiredLocales: [Locales.ENGLISH], // Optionale Sprachen werden remote verwaltet    defaultLocale: Locales.ENGLISH,  },  editor: {    clientId: process.env.INTLAYER_CLIENT_ID,    clientSecret: process.env.INTLAYER_CLIENT_SECRET,  },  ai: {    provider: "openai",    apiKey: process.env.OPENAI_API_KEY, // Verwenden Sie Ihren eigenen API-Schlüssel    applicationContext: "Dies ist eine Testanwendung", // Hilft, eine konsistente Übersetzungserstellung sicherzustellen  },};export default config;
    .husky/pre-push
    npx intlayer build                          # Um sicherzustellen, dass die Wörterbücher auf dem neuesten Stand sindnpx intlayer fill --unpushed --mode fill    # Nur fehlende Inhalte ausfüllen, bestehende nicht aktualisieren
    Für weitere Informationen zu den Intlayer CLI-Befehlen und deren Verwendung siehe die CLI-Dokumentation.
    Wenn Sie mehrere Apps in Ihrem Repository haben, die separate Intlayer-Instanzen verwenden, können Sie das Argument --base-dir wie folgt verwenden:
    .husky/pre-push
    # App 1npx intlayer build --base-dir ./app1npx intlayer fill --base-dir ./app1 --unpushed --mode fill# App 2npx intlayer build --base-dir ./app2npx intlayer fill --base-dir ./app2 --unpushed --mode fill

    Verwendung von GitHub Actions

    Intlayer bietet einen CLI-Befehl zum automatischen Ausfüllen und Überprüfen von Wörterbuchinhalten. Dies kann in Ihren CI/CD-Workflow mit GitHub Actions integriert werden.

    .github/workflows/intlayer-translate.yml
    name: Intlayer Auto-Fill# Auslöserbedingungen für diesen Workflowon:  pull_request:    branches:      - "main"permissions:  contents: write  pull-requests: writeconcurrency:  group: "autofill-${{ github.ref }}"  cancel-in-progress: truejobs:  autofill:    runs-on: ubuntu-latest    env:      # OpenAI      AI_MODEL: openai      AI_PROVIDER: gpt-5-mini      AI_API_KEY: ${{ secrets.AI_API_KEY }}    steps:      # Schritt 1: Hole den neuesten Code aus dem Repository      - name: ⬇️ Repository auschecken        uses: actions/checkout@v4        with:          persist-credentials: true # Anmeldeinformationen zum Erstellen von PRs beibehalten          fetch-depth: 0 # Vollständige Git-Historie für Differenzanalyse abrufen      # Schritt 2: Node.js-Umgebung einrichten      - name: 🟢 Node.js einrichten        uses: actions/setup-node@v4        with:          node-version: 20 # Node.js 20 LTS für Stabilität verwenden      # Schritt 3: Projektabhängigkeiten installieren      - name: 📦 Abhängigkeiten installieren        run: npm install      # Schritt 4: Intlayer CLI global für Übersetzungsmanagement installieren      - name: 📦 Intlayer installieren        run: npm install -g intlayer-cli      # Schritt 5: Intlayer-Projekt bauen, um Übersetzungsdateien zu generieren      - name: ⚙️ Intlayer-Projekt bauen        run: npx intlayer build      # Schritt 6: KI verwenden, um fehlende Übersetzungen automatisch auszufüllen      - name: 🤖 Fehlende Übersetzungen automatisch ausfüllen        run: npx intlayer fill --git-diff --mode fill --provider $AI_PROVIDER --model $AI_MODEL --api-key $AI_API_KEY      # Schritt 7: Prüfen, ob Änderungen vorliegen und diese committen      - name: � Auf Änderungen prüfen        id: check-changes        run: |          if [ -n "$(git status --porcelain)" ]; then            echo "has-changes=true" >> $GITHUB_OUTPUT          else            echo "has-changes=false" >> $GITHUB_OUTPUT          fi      # Schritt 8: Änderungen committen und pushen, falls vorhanden      - name: 📤 Änderungen committen und pushen        if: steps.check-changes.outputs.has-changes == 'true'        run: |          git config --local user.email "[email protected]"          git config --local user.name "GitHub Action"          git add .          git commit -m "chore: fehlende Übersetzungen automatisch ausfüllen [skip ci]"          git push origin HEAD:${{ github.head_ref }}

    Um die Umgebungsvariablen einzurichten, gehen Sie zu GitHub → Einstellungen → Geheimnisse und Variablen → Aktionen und fügen Sie das Geheimnis hinzu.

    Wie bei Husky können Sie im Fall eines Monorepos das Argument --base-dir verwenden, um jede App nacheinander zu behandeln.
    Standardmäßig filtert das Argument --git-diff Wörterbücher, die Änderungen vom Basiszweig (Standard origin/main) zum aktuellen Zweig (Standard: HEAD) enthalten.
    Für weitere Informationen zu den Intlayer CLI-Befehlen und deren Verwendung lesen Sie bitte die CLI-Dokumentation.
    Erstellung:2025-05-20Letzte Aktualisierung:2025-08-13
    Referenzieren Sie diese Dokumentation mit Ihrem bevorzugten AI-Assistenten
    ChatGPT
    Claude
    DeepSeek
    Google AI mode
    Gemini
    Perplexity
    Mistral
    Grok

    Stellen Sie Ihre Frage und erhalten Sie einen Resümee des Dokuments, indem Sie diese Seite und den AI-Anbieter Ihrer Wahl referenzieren

    Versionshistorie

    1. "Historie initialisieren"
      v5.5.1029.6.2025

    Der Inhalt dieser Seite wurde mit einer KI übersetzt.

    Den englischen Originaltext ansehen
    Diese Dokumentation bearbeiten

    Wenn 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 Dokumentation
    Kopieren

    Markdown des Dokuments in die Zwischenablage kopieren

    Code kopieren

    Kopieren Sie den Code in die Zwischenablage

    Code kopieren

    Kopieren Sie den Code in die Zwischenablage

    Code kopieren

    Kopieren Sie den Code in die Zwischenablage

    Code kopieren

    Kopieren Sie den Code in die Zwischenablage

    Code kopieren

    Kopieren Sie den Code in die Zwischenablage

    CMS
    Inhaltsdeklaration
    Alt+→

    Auf dieser Seite

      Diskussionen sind anonym und werden regelmäßig überprüft, um häufige Probleme zu behandeln. Teilen Sie gerne Feature-Ideen, Feedback zur Dokumentation oder alles rund um Intlayer, wir nutzen diese Eingaben, um unsere Roadmap zu gestalten und das Produkt zu verbessern.