Autore:
    Creazione:2024-08-11Ultimo aggiornamento:2026-08-30

    Documentazione dell'Editor Visivo di Intlayer

    www.youtube.com

    L'Editor Visivo di Intlayer è uno strumento che avvolge il tuo sito web per interagire con i tuoi file di dichiarazione dei contenuti utilizzando un editor visivo.

    Interfaccia dell'Editor Visivo di Intlayer

    Il pacchetto intlayer-editor si basa su Intlayer ed è disponibile per applicazioni JavaScript, come React (Create React App), Vite + React e Next.js.

    Editor visivo vs CMS

    L'Editor Visivo di Intlayer è uno strumento che ti consente di gestire i tuoi contenuti in un editor visivo per dizionari locali. Una volta apportata una modifica, il contenuto verrà sostituito nella base di codice. Ciò significa che l'applicazione verrà ricostruita e la pagina verrà ricaricata per visualizzare il nuovo contenuto.

    Al contrario, il CMS di Intlayer è uno strumento che ti consente di gestire i tuoi contenuti in un editor visivo per dizionari remoti. Una volta apportata una modifica, il contenuto non influenzerà la tua base di codice. E il sito web mostrerà automaticamente il contenuto modificato.

    Integrare Intlayer nella tua applicazione

    Per maggiori dettagli su come integrare Intlayer, consulta la sezione pertinente qui sotto:

    Integrazione con Next.js

    Per l'integrazione con Next.js, consulta la guida di configurazione.

    Integrazione con Create React App

    Per l'integrazione con Create React App, consulta la guida di configurazione.

    Integrazione con Vite + React

    Per l'integrazione con Vite + React, consulta la guida di configurazione.

    Come funziona l'Editor di Intlayer

    L'editor visivo in un'applicazione include due elementi:

    • Un'applicazione frontend che visualizzerà il tuo sito web in un iframe. Se il tuo sito web utilizza Intlayer, l'editor visivo rileverà automaticamente i tuoi contenuti e ti consentirà di interagire con essi. Una volta effettuata una modifica, potrai scaricare le tue modifiche.

    • Una volta cliccato il pulsante di download, l'editor visivo invierà una richiesta al server per sostituire i tuoi file di dichiarazione dei contenuti con il nuovo contenuto (dovunque questi file siano dichiarati nel tuo progetto).

    Nota che, per ora, l'Editor di Intlayer scriverà i tuoi file di dichiarazione dei contenuti come file JSON.

    Installazione

    Una volta che Intlayer è configurato nel tuo progetto, installa semplicemente intlayer-editor come dipendenza di sviluppo:

    bash
    npm install intlayer-editor --save-dev
    

    Con il flag --with, puoi avviare l'editor in parallelo con un altro comando:

    package.json
    {
      "scripts": {
        "start:editor": "npx intlayer-editor start --with 'next dev --turbopack'",
      },
    }
    

    Configurazione

    Nel file di configurazione di Intlayer, puoi personalizzare le impostazioni dell'editor:

    intlayer.config.ts
    import type { IntlayerConfig } from "intlayer";
    
    const config: IntlayerConfig = {
      // ... altre impostazioni di configurazione
      editor: {
        /**
         * Obbligatorio
         * L'URL dell'applicazione.
         * Questo è l'URL mirato dall'editor visivo.
         * Esempio: 'http://localhost:3000'
         */
        applicationURL: process.env.INTLAYER_APPLICATION_URL,
        /**
         * Opzionale
         * Di default è `true`. Se `false`, l'editor è inattivo e non può essere accessibile.
         * Può essere utilizzato per disabilitare l'editor in ambienti specifici per motivi di sicurezza, come la produzione.
         */
        enabled: process.env.INTLAYER_ENABLED,
        /**
         * Opzionale
         * Di default è `8000`.
         * La porta del server dell'editor.
         */
        port: process.env.INTLAYER_PORT,
        /**
         * Opzionale
         * Di default è "http://localhost:8000"
         * L'URL del server dell'editor.
         */
        editorURL: process.env.INTLAYER_EDITOR_URL,
      },
    };
    
    export default config;
    
    Per vedere tutti i parametri disponibili, consulta la documentazione di configurazione.

    Utilizzo dell'Editor

    1. Quando l'editor è installato, puoi avviare l'editor utilizzando il seguente comando:

      bash
      npx intlayer-editor start
      
      Nota che dovresti eseguire la tua applicazione in parallelo. L'URL dell'applicazione dovrebbe corrispondere a quello impostato nella configurazione dell'editor (applicationURL).
    Nota il comando è riesportato dal package intlayer. Puoi usare npx intlayer editor start invece.
    1. Poi, apri l'URL fornito. Di default http://localhost:8000.

      Puoi visualizzare ogni campo indicizzato da Intlayer passando il cursore sopra il tuo contenuto.

      Passando il cursore sopra il contenuto

    2. Se il tuo contenuto è delineato, puoi tenerlo premuto a lungo per visualizzare il cassetto di modifica.

    Configurazione dell'ambiente

    L'editor può essere configurato per utilizzare un file di ambiente specifico. Questo è utile quando vuoi usare lo stesso file di configurazione per sviluppo e produzione.

    Per utilizzare un file di ambiente specifico, puoi usare il flag --env-file o -f quando avvii l'editor:

    bash
    npx intlayer-editor start -f .env.development
    
    Nota che il file di ambiente dovrebbe trovarsi nella directory principale del tuo progetto.

    Oppure puoi usare il flag --env o -e per specificare l'ambiente:

    bash
    npx intlayer-editor start -e development
    

    Debug

    Se riscontri problemi con l'editor visivo, controlla quanto segue:

    • L'editor visivo e l'applicazione sono in esecuzione.

    • La configurazione editor è correttamente impostata nel file di configurazione di Intlayer.

      • Campi obbligatori:
        • L'URL dell'applicazione dovrebbe corrispondere a quello impostato nella configurazione dell'editor (applicationURL).
    • L'editor visuale utilizza un iframe per visualizzare il tuo sito web. Assicurati che la Content Security Policy (CSP) del tuo sito consenta l'URL del CMS come frame-ancestors (http://localhost:8000 per impostazione predefinita). Controlla la console dell'editor per eventuali errori.

    Domande frequenti

    L'editor visivo modifica i dizionari locali e riscrive la modifica nel tuo codice, quindi passa attraverso la tua consueta revisione e deployment. Il CMS modifica i dizionari remoti, che cambiano sul sito in esecuzione senza un deployment. L'editor è adatto ai contenuti di proprietà degli sviluppatori; il CMS è adatto ai contenuti di proprietà di un team di marketing.

    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.