# sanity: Introduzione URL: https://generaltranslation.com/it/docs/sanity.mdx --- title: Introduzione description: Panoramica del plugin di Sanity CMS di General Translation --- ## Panoramica Il plugin `gt-sanity` integra General Translation direttamente in Sanity Studio v5+. Fornisce un flusso di lavoro di traduzione completo per i contenuti in Sanity, inclusa la traduzione automatica, la traduzione a livello di documento e la gestione dei documenti tradotti. ```typescript title="sanity.config.ts" import { defineConfig } from 'sanity'; import { gtPlugin } from 'gt-sanity'; export default defineConfig({ // ... la tua configurazione esistente plugins: [ gtPlugin({ sourceLocale: 'en', locales: ['es', 'zh', 'ja'], }), ], }); ``` ## Come funziona Il plugin usa l'approccio di Sanity alla [localizzazione a livello di documento](https://www.sanity.io/docs/studio/localization): per ogni documento di origine, crea documenti tradotti separati con il campo `language` impostato sull'impostazione regionale di destinazione. **Sono richieste modifiche allo schema e alle query.** Ogni tipo di documento che traduci deve includere un campo `language` nel suo schema (vedi sotto). Dovrai inoltre aggiornare le query del tuo frontend per recuperare la versione nella lingua corretta. Consulta il [Quickstart](/docs/sanity/guides/quickstart#querying-translated-content) per esempi di setup e query GROQ. ### Campo lingua Ogni tipo di documento che traduci deve definire un campo `language`: ```typescript import { defineField, defineType } from 'sanity' export const articleType = defineType({ name: 'article', title: 'Article', type: 'document', fields: [ // ... i tuoi campi esistenti defineField({ name: 'language', type: 'string', readOnly: true, hidden: true, }), ], }) ``` Se usi un nome personalizzato per `languageField` nella configurazione del plugin, il nome del campo deve corrispondere. ## Funzionalità principali ### Traduzione dei documenti Traduci documenti interi in più impostazioni regionali di destinazione. Il plugin gestisce Portable Text, oggetti nidificati, array e tipi di schema personalizzati. ### Operazioni in batch Traduci più documenti o l'intero sito in un'unica operazione. Importa tutte le traduzioni, solo quelle mancanti oppure selezionale per impostazione regionale. ### Serializzazione intelligente I documenti vengono serializzati in HTML per la traduzione, mantenendone struttura e metadati. Per le traduzioni in lingue con strutture grammaticali diverse, la struttura viene modificata automaticamente per risultare naturale nella lingua di destinazione. I serializzatori personalizzati ti consentono di controllare come vengono gestiti specifici tipi di campo. ## Interfaccia del plugin Il plugin include tre componenti principali dell'interfaccia: ### Azione Traduci (finestra di dialogo) L'azione Traduci viene aggiunta automaticamente a ogni documento. Facendo clic sul pulsante **Traduci** nella barra delle azioni del documento, si apre una finestra di dialogo con l'intera interfaccia utente per la traduzione, senza alcuna configurazione aggiuntiva. ### Scheda Traduzioni (facoltativa) ![TranslationsTab](https://assets.gtx.dev/docs/sanity-translations-tab.png) `TranslationsTab` può essere aggiunta facoltativamente come vista dedicata del documento tramite `structureTool`. Offre la stessa funzionalità di traduzione della finestra di dialogo, integrata come scheda nell'editor del documento. Consulta il [Quickstart](/docs/sanity/guides/quickstart#configuration) per le istruzioni di setup. ### Pagina Traduzioni ![TranslationsPage](https://assets.gtx.dev/docs/sanity-translations-page.png) La pagina Traduzioni di Sanity offre una vista d’insieme, a livello di sito, delle traduzioni dell’intero sito. Da questa pagina di gestione centralizzata, puoi: * Generare in blocco le traduzioni per tutti i documenti * Importare in blocco le traduzioni per tutti i documenti * Importare in blocco le traduzioni per documenti specifici * Riparare i riferimenti alla lingua e i collegamenti ad altri documenti * Pubblicare in blocco le traduzioni di tutti i documenti ## Tipi di contenuto supportati Il plugin gestisce la maggior parte dei tipi di schema in Sanity. I tipi personalizzati possono essere configurati con [serializzatori personalizzati](/docs/sanity/guides/serialization). Campi come gli slug possono essere configurati con `dedupeFields` in modo che i nuovi documenti tradotti inizino con un valore derivato dall'origine e un suffisso univoco dell'impostazione regionale, come `about-es` o `about-fr`. ## Passaggi successivi * [Guida rapida](/docs/sanity/guides/quickstart) - Inizia con l'installazione e la configurazione * [Guida alla configurazione](/docs/sanity/guides/configuration) - Personalizza il comportamento del plugin * [Guida alla serializzazione](/docs/sanity/guides/serialization) - Regole di serializzazione personalizzate