Iniziare con la dichiarazione del proprio contenuto

    Estensioni dei file

    Per impostazione predefinita, Intlayer osserva tutti i file con le seguenti estensioni per dichiarazioni di contenuto:

    • .content.ts
    • .content.tsx
    • .content.js
    • .content.mjs
    • .content.cjs

    L'applicazione cercherà i file che corrispondono al pattern glob ./src/**/*.content.{ts,tsx,js,jsx,mjs,cjs} per impostazione predefinita.

    Queste estensioni predefinite sono adatte per la maggior parte delle applicazioni. Tuttavia, se hai requisiti specifici, fai riferimento alla guida su come personalizzare le estensioni dei contenuti per istruzioni su come gestirle.

    Per un elenco completo delle opzioni di configurazione, visita la documentazione di configurazione.

    Dichiarare il proprio contenuto

    Crea e gestisci i tuoi dizionari:

    src/example.content.ts
    import { t, enu, cond, nest, md, type Dictionary } from "intlayer";interface Content {  imbricatedContent: {    imbricatedContent2: {      stringContent: string;      numberContent: number;      booleanContent: boolean;    };    multilingualContent: string;    quantityContent: string;    conditionalContent: string;    nestedContent: string;    markdownContent: string;    externalContent: string;  };}export default {  key: "page",  content: {    imbricatedContent: {      imbricatedContent2: {        stringContent: "Ciao Mondo",        numberContent: 123,        booleanContent: true,        javaScriptContent: `${process.env.NODE_ENV}`,      },    },    multilingualContent: t({      en: "Contenuto in inglese",      "en-GB": "Contenuto in inglese (Regno Unito)",      fr: "Contenuto in francese",      es: "Contenuto in spagnolo",    }),    quantityContent: enu({      "<-1": "Meno di meno una macchina",      "-1": "Meno una macchina",      "0": "Nessuna macchina",      "1": "Una macchina",      ">5": "Alcune macchine",      ">19": "Molte macchine",    }),    conditionalContent: cond({      true: "La convalida è abilitata",      false: "La convalida è disabilitata",    }),    nestedContent: nest(      "navbar", // La chiave del dizionario da annidare      "login.button" // [Opzionale] Il percorso del contenuto da annidare    ),    externalContent: async () => await fetch("https://example.com"),    markdownContent: md("# Esempio di Markdown"),    /*     * Disponibile solo utilizzando `react-intlayer` o `next-intlayer`     */    jsxContent: <h1>Il mio titolo</h1>,  },} satisfies Dictionary<Content>; // [opzionale] Dictionary è generico e ti permette di rafforzare la formattazione del tuo dizionario

    Annidamento delle funzioni

    Puoi annidare le funzioni in altre funzioni senza problemi.

    Esempio:

    src/example.content.ts
    import { t, enu, cond, nest, md, type Dictionary } from "intlayer";const getName = async () => "Mario Rossi";export default {  key: "page",  content: {    // `getIntlayer('page','en').hiMessage` restituisce `['Ciao', ' ', 'Mario Rossi']`    hiMessage: [      t({        en: "Ciao",        fr: "Salut",        es: "Hola",      }),      " ",      getName(),    ],    // Contenuto composito che annida condizione, enumerazione e contenuto multilingue    // `getIntlayer('page','en').advancedContent(true)(10) restituisce 'Trovati più articoli'`    advancedContent: cond({      true: enu({        "0": t({          en: "Nessun articolo trovato",          fr: "Nessun articolo trovato",          es: "Nessun articolo trovato",        }),        "1": t({          en: "Un articolo trovato",          fr: "Un articolo trovato",          es: "Un articolo trovato",        }),        ">1": t({          en: "Trovati più articoli",          fr: "Trovati più articoli",          es: "Trovati più articoli",        }),      }),      false: t({        en: "Nessun dato valido disponibile",        fr: "Dati non validi",        es: "No se encontraron datos válidos",      }),    }),  },} satisfies Dictionary;

    ...restanti script in forma tradotta, lasciando invariata la struttura.

    Se hai un’idea per migliorare questa documentazione, non esitare a contribuire inviando una pull request su GitHub.

    Collegamento GitHub alla documentazione