Erhalten Sie Benachrichtigungen über kommende Intlayer-Veröffentlichungen
    Erstellung:2025-04-18Letzte Aktualisierung:2025-06-29

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

    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.en.content.ts
    import { t, Locales, type Dictionary } from "intlayer";const helloWorldContent = {  key: "hello-world",  locale: Locales.ENGLISH, // Wichtig  content: { multilingualContent: "Titel meiner Komponente" },} satisfies Dictionary;export default helloWorldContent;
    hello-world.es.content.ts
    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
    .└── Components    └── MyComponent        ├── index.content.ts        ├── index.content.json        └── index.ts

    Beispiel

    Hier eine mehrsprachige Inhaltsdeklarationsdatei:

    Components/MyComponent/index.content.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;
    Components/MyComponent/index.content.json
    {  "$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
    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.

    Dokumentationsverlauf

    • 5.5.10 - 29.06.2025: Historie initialisiert
    Erhalten Sie Benachrichtigungen über kommende Intlayer-Veröffentlichungen