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 Router
      Next.js 15
      Next.js ohne Locale URL
      Next.js und Page Router
      Compiler
    • Tanstack Start Solid
    • Astro und React
      Astro und Svelte
      Astro und Vue
      Astro und Solid
      Astro und Preact
      Astro und Lit
      Astro und Vanilla JS
    • React Router v7
      React 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.js
      NestJS
      Fastify
      Hono
      Adonis
    • 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. Datei pro Locale
    Erstellung:2025-04-18Letzte Aktualisierung:2025-06-29
    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 initialisiert"
      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

    Deklaration von Per-Locale Inhaltsdeklaration in Intlayer

    Intlayer unterstützt zwei Möglichkeiten, mehrsprachige Inhalte zu deklarieren:

    • Eine einzelne Datei mit allen Übersetzungen
    • Eine Datei pro Gebietsschema (Per-Locale-Format)

    Diese Flexibilität ermöglicht:

    • Einfache Migration von anderen i18n-Tools
    • Unterstützung für automatisierte Übersetzungs-Workflows
    • Klare Organisation der Übersetzungen in separate, gebietsschema-spezifische Dateien

    Einzelne Datei mit mehreren Übersetzungen

    Dieses Format ist ideal für:

    • Schnelle Iteration im Code.
    • Nahtlose Integration mit dem CMS.

    Dies ist der empfohlene Ansatz für die meisten Anwendungsfälle. Es zentralisiert die Übersetzungen, was die Iteration und Integration mit dem CMS erleichtert.

    hello-world.content.ts
    Code kopieren

    Kopieren Sie den Code in die Zwischenablage

    import { t, type Dictionary } from "intlayer";
    
    const helloWorldContent = {
      key: "hello-world",
      content: {
        multilingualContent: t({
          en: "Title of my component",
          es: "Título de mi componente",
        }),
      },
    } satisfies Dictionary;
    
    export default helloWorldContent;
    Empfohlen: Dieses Format ist am besten geeignet, wenn Sie den visuellen Editor von Intlayer verwenden oder Übersetzungen direkt im Code verwalten.

    Globale Konfiguration für Per-Locale-Dateien

    Sie können die globale Konfiguration für Per-Locale-Dateien festlegen, indem Sie Folgendes zu Ihrer intlayer.config.ts-Datei hinzufügen:

    ts
    Code kopieren

    Kopieren Sie den Code in die Zwischenablage

    import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  dictionary: {    locale: Locales.ENGLISH,  },};export default config;

    Mit dieser Konfiguration werden alle Per-Locale-Dateien mit der Standard-Locale Englisch generiert. Dies beinhaltet auch die Generierung von .content-Dateien unter Verwendung des extract-Befehls und des Compilers. (Siehe Compiler oder Extract für weitere Informationen.)

    Pro-Locale-Format

    Dieses Format ist nützlich, wenn:

    • Sie Übersetzungen unabhängig versionieren oder überschreiben möchten.
    • Sie maschinelle oder menschliche Übersetzungs-Workflows integrieren.

    Sie können Übersetzungen auch in einzelne Lokalisierungsdateien aufteilen, indem Sie das Feld locale angeben:

    hello-world.es.content.ts
    Code kopieren

    Kopieren Sie den Code in die Zwischenablage

    import { t, Locales, type Dictionary } from "intlayer";
    
    const helloWorldContent = {
      key: "hello-world",
      locale: Locales.SPANISH, // Wichtig
      content: { multilingualContent: "Título de mi componente" },
    } satisfies Dictionary;
    
    export default helloWorldContent;
    Wichtig: Stellen Sie sicher, dass das Feld locale definiert ist. Es teilt Intlayer mit, welche Sprache die Datei repräsentiert.
    Hinweis: In beiden Fällen muss die Inhaltsdeklarationsdatei dem Namensmuster *.content.{ts,tsx,js,jsx,mjs,cjs,json} folgen, damit sie von Intlayer erkannt wird. Der Suffix .[locale] ist optional und wird nur als Namenskonvention verwendet.

    Formate mischen

    Sie können beide Deklarationsansätze für denselben Content-Schlüssel kombinieren. Zum Beispiel:

    • Deklarieren Sie Ihren Basisinhalt statisch in einer Datei wie index.content.ts.
    • Fügen Sie spezifische Übersetzungen in separaten Dateien hinzu oder überschreiben Sie sie, z. B. index.fr.content.ts oder index.content.json.

    Diese Konfiguration ist besonders nützlich, wenn:

    • Sie die anfängliche Inhaltsstruktur im Code definieren möchten.
    • Sie planen, Übersetzungen später mithilfe eines CMS oder automatisierter Tools zu erweitern oder zu vervollständigen.
    bash
    Code kopieren

    Kopieren Sie den Code in die Zwischenablage

    .└── Components    └── MyComponent        ├── index.content.ts        ├── index.content.json        └── index.ts

    Beispiel

    Hier eine mehrsprachige Inhaltsdeklarationsdatei:

    Components/MyComponent/index.content.ts
    Code kopieren

    Kopieren Sie den Code in die Zwischenablage

    import { t, type Dictionary } from "intlayer";const helloWorldContent = {  key: "hello-world",  locale: Locales.ENGLISH,  content: {    multilingualContent: "Titel meiner Komponente",    projectName: "Mein Projekt",  },} satisfies Dictionary;export default helloWorldContent;
    Components/MyComponent/index.content.json
    Code kopieren

    Kopieren Sie den Code in die Zwischenablage

    {  "$schema": "https://intlayer.org/schema.json",  "key": "hello-world",  "content": {    "multilingualContent": {      "nodeType": "translation",      "translation": {        "fr": "Titre de mon composant",        "es": "Título de mi componente"      }    }  }}

    Intlayer führt automatisch eine Zusammenführung von mehrsprachigen und sprachspezifischen Dateien durch.

    Components/MyComponent/index.ts
    Code kopieren

    Kopieren Sie den Code in die Zwischenablage

    import { getIntlayer, Locales } from "intlayer";const intlayer = getIntlayer("hello-world"); // Standard-Sprache ist ENGLISCH, daher wird der ENGLISCHE Inhalt zurückgegebenconsole.log(JSON.stringify(intlayer, null, 2));// Ergebnis:// {//  "multilingualContent": "Titel meiner Komponente",//  "projectName": "Mein Projekt"// }const intlayer = getIntlayer("hello-world", Locales.SPANISH);console.log(JSON.stringify(intlayer, null, 2));// Ergebnis:// {//  "multilingualContent": "Título de mi componente",//  "projectName": "Mein Projekt"// }const intlayer = getIntlayer("hello-world", Locales.FRENCH);console.log(JSON.stringify(intlayer, null, 2));// Ergebnis:// {//  "multilingualContent": "Titre de mon composant",//  "projectName": "Mein Projekt"// }

    Automatische Übersetzungserstellung

    Verwenden Sie die intlayer CLI, um fehlende Übersetzungen basierend auf Ihren bevorzugten Diensten automatisch zu ergänzen.

    Funktionsabruf
    Compiler
    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.

      import { Locales, type IntlayerConfig } from "intlayer";const config: IntlayerConfig = {  dictionary: {    locale: Locales.ENGLISH,  },};export default config;
      .└── Components    └── MyComponent        ├── index.content.ts        ├── index.content.json        └── index.ts
      import { t, type Dictionary } from "intlayer";const helloWorldContent = {  key: "hello-world",  locale: Locales.ENGLISH,  content: {    multilingualContent: "Titel meiner Komponente",    projectName: "Mein Projekt",  },} satisfies Dictionary;export default helloWorldContent;
      {  "$schema": "https://intlayer.org/schema.json",  "key": "hello-world",  "content": {    "multilingualContent": {      "nodeType": "translation",      "translation": {        "fr": "Titre de mon composant",        "es": "Título de mi componente"      }    }  }}
      import { getIntlayer, Locales } from "intlayer";const intlayer = getIntlayer("hello-world"); // Standard-Sprache ist ENGLISCH, daher wird der ENGLISCHE Inhalt zurückgegebenconsole.log(JSON.stringify(intlayer, null, 2));// Ergebnis:// {//  "multilingualContent": "Titel meiner Komponente",//  "projectName": "Mein Projekt"// }const intlayer = getIntlayer("hello-world", Locales.SPANISH);console.log(JSON.stringify(intlayer, null, 2));// Ergebnis:// {//  "multilingualContent": "Título de mi componente",//  "projectName": "Mein Projekt"// }const intlayer = getIntlayer("hello-world", Locales.FRENCH);console.log(JSON.stringify(intlayer, null, 2));// Ergebnis:// {//  "multilingualContent": "Titre de mon composant",//  "projectName": "Mein Projekt"// }