Autore:
    Creazione:2025-08-23Ultimo aggiornamento:2026-09-06

    Documentazione di Intlayer

    Benvenuto nella documentazione ufficiale di Intlayer! Qui troverai tutto il necessario per integrare, configurare e padroneggiare Intlayer per tutte le tue esigenze di internazionalizzazione (i18n), sia che tu stia lavorando con Next.js, React, Vite, Express o un altro ambiente JavaScript.

    Introduzione

    Cos'è Intlayer?

    Intlayer è una libreria di internazionalizzazione progettata specificamente per gli sviluppatori JavaScript. Consente la dichiarazione del tuo contenuto ovunque nel tuo codice. Converte la dichiarazione di contenuti multilingue in dizionari strutturati da integrare facilmente nel tuo codice. Utilizzando TypeScript, Intlayer rende il tuo sviluppo più robusto ed efficiente.

    Intlayer fornisce anche un editor visivo opzionale che ti consente di modificare e gestire facilmente i tuoi contenuti. Questo editor è particolarmente utile per gli sviluppatori che preferiscono un'interfaccia visiva per la gestione dei contenuti, o per i team che generano contenuti senza doversi preoccupare del codice.

    Esempio di utilizzo

    bash
    .
    └── Components
        └── MyComponent
            ├── index.content.ts
            └── index.tsx
    
    src/components/MyComponent/index.content.ts
    import { t, type Dictionary } from "intlayer";
    
    const componentContent = {
      key: "component-key",
      content: {
        myTranslatedContent: t({
          en: "Hello World",
          es: "Hola Mundo",
          fr: "Bonjour le monde",
          it: "Ciao Mondo",
        }),
      },
    } satisfies Dictionary;
    
    export default componentContent;
    
    src/components/MyComponent/index.tsx
    import type { FC } from "react";
    import { useIntlayer } from "react-intlayer";
    
    export const MyComponent: FC = () => {
      const { myTranslatedContent } = useIntlayer("component-key");
    
      return <span>{myTranslatedContent}</span>;
    };
    

    Perché Intlayer rispetto alle alternative?

    Rispetto alle principali soluzioni come next-intl o i18next, Intlayer è una soluzione dotata di ottimizzazioni integrate come:

    Invece di caricare enormi file JSON nelle tue pagine, carica solo il contenuto necessario. Intlayer aiuta a ridurre le dimensioni del bundle e della pagina fino al 50%.

    Dichiarare il contenuto vicino ai tuoi componenti facilita la manutenzione per le applicazioni su larga scala. Puoi duplicare o eliminare una singola cartella di funzionalità senza il carico mentale di dover rivedere tutta l'infrastruttura dei tuoi contenuti. Inoltre, Intlayer è completamente tipizzato (fully typed) per garantire l'esattezza dei tuoi contenuti.

    La co-locazione dei contenuti riduce il contesto necessario dai grandi modelli linguistici (LLM). Intlayer è inoltre fornito di una suite di strumenti, come una CLI per testare le traduzioni mancanti, un LSP, un MCP e agent skills, per rendere l'esperienza dello sviluppatore (DX) ancora più fluida per gli agenti basati su IA.

    Usa l'automazione per tradurre nella tua pipeline CI/CD usando l'LLM di tua scelta al costo del tuo provider di IA. Intlayer offre anche un compilatore per automatizzare l'estrazione dei contenuti, così come una piattaforma web per aiutarti a tradurre in background.

    Connettere enormi file JSON ai componenti può portare a problemi di prestazioni e reattività. Intlayer ottimizza il caricamento dei tuoi contenuti al momento della build.

    Molto più che una semplice soluzione i18n, Intlayer fornisce un editor visivo self-hosted e un CMS completo per aiutarti a gestire i tuoi contenuti multilingue in tempo reale, rendendo perfetta la collaborazione con traduttori, copywriter e altri membri del team. I contenuti possono essere archiviati localmente e/o in remoto.

    Caratteristiche principali

    Intlayer offre una varietà di funzionalità su misura per soddisfare le esigenze dello sviluppo web moderno. Di seguito sono elencate le funzionalità chiave, con link alla documentazione dettagliata per ciascuna:

    • Supporto all'internazionalizzazione: Migliora la portata globale della tua applicazione con il supporto integrato per l'internazionalizzazione.
    • Editor Visivo: Migliora il tuo flusso di lavoro di sviluppo con i plugin dell'editor progettati per Intlayer. Dai un'occhiata alla Guida all'Editor Visivo.
    • Flessibilità di configurazione: Personalizza la tua configurazione con ampie opzioni dettagliate nella Guida alla configurazione.
    • Strumenti CLI avanzati: Gestisci i tuoi progetti in modo efficiente utilizzando l'interfaccia a riga di comando di Intlayer. Esplora le capacità nella Documentazione degli strumenti CLI.

    Concetti Base

    Dizionario

    Organizza i tuoi contenuti multilingue vicino al tuo codice per mantenere tutto coerente e manutenibile.

    • Iniziare
      Impara le basi per dichiarare i tuoi contenuti in Intlayer.

    • Traduzione
      Comprendi come le traduzioni vengono generate, memorizzate e utilizzate nella tua applicazione.

    • Enumerazione
      Gestisci facilmente set di dati ripetuti o fissi in varie lingue.

    • Condizione
      Impara come utilizzare la logica condizionale in Intlayer per creare contenuti dinamici.

    • Inserimento Scopri come inserire valori in una stringa utilizzando i segnaposto di inserimento.

    • Recupero tramite Funzioni
      Scopri come recuperare dinamicamente contenuti con logica personalizzata per adattarli al flusso di lavoro del tuo progetto.

    • Markdown
      Impara a utilizzare Markdown in Intlayer per creare contenuti arricchiti.

    • File incorporati
      Scopri come incorporare file esterni in Intlayer per utilizzarli nell'editor dei contenuti.

    • Annidamento
      Comprendi come annidare contenuti in Intlayer per creare strutture complesse.

    Ambienti e Integrazioni

    Abbiamo costruito Intlayer pensando alla flessibilità, offrendo un'integrazione fluida con i framework e gli strumenti di build più popolari:

    Ogni guida all'integrazione include le best practice per utilizzare le funzionalità di Intlayer, come il server-side rendering, il dynamic routing o il client-side rendering, così puoi mantenere un'applicazione veloce, SEO-friendly e altamente scalabile.

    Contribuire e Feedback

    Apprezziamo il potere dell'open source e dello sviluppo guidato dalla comunità. Se desideri proporre miglioramenti, aggiungere una nuova guida o correggere eventuali problemi nella nostra documentazione, sentiti libero di inviare una Pull Request o di aprire una issue sul nostro repository GitHub.

    Pronto a tradurre la tua applicazione in modo più rapido ed efficiente? Immergiti nella nostra documentazione per iniziare a usare Intlayer oggi. Scopri un approccio robusto e semplificato all'internazionalizzazione che mantiene i tuoi contenuti organizzati e il tuo team più produttivo.

    Domande frequenti

    Intlayer è una libreria di internazionalizzazione (i18n) per applicazioni JavaScript e TypeScript. Dichiari il contenuto di un componente accanto a quel componente in un file .content.ts, Intlayer compila quelle dichiarazioni in dizionari tipizzati in fase di build, e i tuoi componenti li leggono attraverso un hook come useIntlayer. Copre traduzione, regole di plurale, genere, Markdown, routing consapevole delle locale, metadati SEO, traduzione assistita dall'AI e un editor visivo per i non sviluppatori.

    Molto meno di una configurazione basata su namespace, perché una pagina non scarica mai un catalogo che non renderizza. Il markup renderizzato lato server risolve i suoi contenuti sul server, e il compilatore in fase di build sostituisce le chiamate useIntlayer con le esatte voci del dizionario che un componente utilizza, quindi le chiavi e le lingue non utilizzate vengono eliminate. I dizionari dinamici suddividono il resto per locale. Misurato rispetto alle alternative abituali, Intlayer riduce la dimensione del bundle e delle pagine fino al 50%. Vedi ottimizzazione del bundle e il benchmark.

    Sì, e ci sono due percorsi. Puoi migrare il contenuto progressivamente con la guida alla migrazione da i18next o la guida alla migrazione da next-intl. Oppure puoi mantenere interamente la tua API attuale: gli adattatori di compatibilità espongono esattamente la stessa API di i18next, react-i18next, next-intl, next-i18next, react-intl, use-intl, vue-i18n e Lingui, ma servita dai dizionari Intlayer, quindi cambiano gli import e il codice dei componenti no.

    Sì. Il plugin di sincronizzazione JSON mantiene i tuoi file /messages/{locale}/{namespace}.json come fonte di verità e genera dizionari Intlayer da essi, in entrambe le direzioni. Un plugin di sincronizzazione PO fa lo stesso per i cataloghi gettext, e i file per locale ti permettono di dividere il contenuto per lingua invece di raggruppare i locale in un unico file.

    No. Esegui npx intlayer extract e Intlayer legge i tuoi file sorgente, estrae le stringhe visibili all'utente e scrive un file .content accanto a ciascuno, così puoi rivedere un diff invece di copiare le stringhe in un catalogo una alla volta. Vedi il comando extract.

    Per una pipeline completamente automatizzata, il Compilatore Intlayer fa lo stesso in fase di build sul codice sorgente JSX, TSX, Vue e Svelte, generando i dizionari ad ogni modifica così non ci sono chiavi da mantenere a mano. Funziona per analisi statica, quindi le stringhe che esistono solo a runtime restano fuori portata, e ha bisogno di alcune annotazioni per distinguere il testo visibile all'utente dalla logica applicativa.

    Cinque componenti, tutti opzionali:

    • Estensione VS Code: salta da una chiave useIntlayer al file di contenuto che la dichiara, estrai il contenuto da un componente ed esegui build, fill, test, push e pull dalla palette dei comandi o da una scheda Intlayer dedicata.
    • Server LSP: la stessa consapevolezza in qualsiasi editor che parla LSP, con vai alla definizione, trova tutti i riferimenti, anteprime al passaggio del mouse di un valore tradotto, autocompletamento di chiavi e campi, e un avviso quando una chiave non è dichiarata da nessuna parte. Risolve anche le chiamate i18next, react-i18next, next-intl e use-intl, il che aiuta durante la migrazione.
    • Server MCP: espone la documentazione di Intlayer e la CLI a Cursor, VS Code, Claude Desktop, Claude Code e ChatGPT, così un assistente risponde in base alla documentazione aggiornata invece di tirare a indovinare, e può eseguire da solo comandi come intlayer fill.
    • Agent skills: competenze mirate come intlayer-config, intlayer-cli e intlayer-content, più una per framework, che insegnano a un agente la tua configurazione di routing e i tipi di nodo dei contenuti.
    • Plugin ESLint: no-raw-text segnala le stringhe hardcoded, con ulteriori regole per le chiavi statiche dei dizionari e i contenuti non utilizzati.