# General Translation Integrations: Gestione delle traduzioni URL: https://generaltranslation.com/it/docs/integrations/sanity/guides/managing-translations.mdx --- title: Gestione delle traduzioni description: Come importare, correggere i riferimenti, pubblicare in blocco e gestire il comportamento dei campi per le traduzioni di Sanity. related: links: - /docs/integrations/sanity/guides/translating-content - /docs/integrations/sanity/guides/querying-translations - /docs/integrations/sanity/guiding-sanity --- Gestisci le traduzioni generate in Sanity dopo la configurazione usando gli strumenti di traduzione del plugin. Questa guida illustra lo strumento **Translations** per l'intero sito, la correzione dei riferimenti, la pubblicazione in blocco, il comportamento dei campi e la serializzazione personalizzata. ## Usa lo strumento Translations [#translations-tool] Il plugin registra uno strumento **Translations** valido per tutto il sito che elenca tutti i documenti traducibili. Da qui puoi: * Generare le traduzioni per tutti i documenti (**Traduci tutto**). * Conservare le traduzioni Sanity correnti prima delle esecuzioni successive (**Salva modifiche locali**). * Inviare le traduzioni Sanity correnti a General Translation senza avviare un'esecuzione (**Salva modifiche locali**). * Importare tutte le traduzioni pronte, sovrascrivendo quelle esistenti (**Importa tutto**). * Importare solo le traduzioni non ancora registrate nei metadati del documento sorgente (**Importa mancanti**). * Correggere i riferimenti tra i documenti tradotti (**Correggi riferimento**). * Pubblicare i documenti tradotti i cui documenti sorgente sono pubblicati (**Pubblica traduzioni**). Attiva **Aggiornamento automatico** per controllare periodicamente lo stato della traduzione, oppure usa **Aggiorna** per effettuare un solo controllo. *Nota: **Importa mancanti**, **Correggi riferimento** e **Pubblica traduzioni** dipendono da `translation.metadata` a livello di documento. Per la localizzazione a livello di campo, usa **Importa tutto** oppure importa un'impostazione regionale dalla relativa riga di stato, quindi rivedi e pubblica il documento sorgente tramite il normale workflow di Sanity.* Consulta [Mantenere le modifiche alle traduzioni](/docs/integrations/sanity/guides/translating-content#preserve-edits) per scegliere tra il toggle e l'azione su richiesta. ## Importa le traduzioni [#import] Le traduzioni generate devono essere importate in Sanity. Per la localizzazione a livello di documento, il plugin unisce i campi tradotti in un documento relativo all'impostazione regionale, così i campi che non sono stati inviati per la traduzione vengono mantenuti. Per la localizzazione a livello di campo, unisce i valori tradotti negli array internazionalizzati del documento sorgente. * Per un singolo documento, importa dall'azione **Translate** o dalla scheda facoltativa **General Translation**. * Per più documenti, usa **Importa tutto** o **Importa mancante** nello strumento Translations. ## Correzione dei riferimenti [#patch-references] I documenti tradotti possono fare riferimento ad altri documenti. La correzione dei riferimenti riscrive ogni riferimento `_ref` in modo che rimandi alla traduzione del documento di destinazione per la stessa impostazione regionale, quando esiste. Il plugin ricava queste informazioni dai documenti `translation.metadata`. Usa **Correggi riferimento** nello strumento Translations per eseguire questa operazione sui documenti tradotti esistenti. Nella finestra di dialogo del singolo documento, viene eseguita automaticamente anche dopo l'importazione (l'auto-patch è attivato per impostazione predefinita). ## Pubblica traduzioni [#publish] Usa **Pubblica traduzioni** per pubblicare in blocco i documenti tradotti. Il plugin pubblica solo i documenti di traduzione il cui documento sorgente è già pubblicato. È utile dopo aver importato molte traduzioni o aver aggiornato i riferimenti all'interno di un'impostazione regionale. ## Gestire il comportamento dei campi [#field-behavior] Usa i matcher dei campi quando alcuni campi non devono essere tradotti nel modo consueto. Ogni matcher si applica ai campi con un'espressione JSONPath `property` e, facoltativamente, un `_id` del documento. ### Copiare i campi senza tradurli Usa `ignoreFields` per i campi che devono essere copiati dal documento sorgente senza essere inviati all'API di traduzione, ad esempio categorie, tag o metadati interni. ```ts gtPlugin({ sourceLocale: 'en', locales: ['es', 'zh', 'ja'], ignoreFields: [ { fields: [{ property: '$.category' }] }, { fields: [{ property: '$..linkType' }] }, ], }); ``` ### Copia i campi e rendili univoci Usa `dedupeFields` per i campi che devono partire dal valore sorgente ma diventare univoci per ogni impostazione regionale. È tipico degli slug. ```ts gtPlugin({ sourceLocale: 'en', locales: ['es', 'zh', 'ja'], dedupeFields: [{ fields: [{ property: '$.slug', type: 'slug' }] }], }); ``` Per uno slug di Sanity, `{ _type: 'slug', current: 'about' }` diventa `{ _type: 'slug', current: 'about-es' }` in spagnolo. Se in seguito un editor modifica lo slug tradotto, le importazioni successive manterranno quel valore modificato. ### Escludere campi dalle traduzioni Usa `skipFields` per i campi che non devono essere copiati nei documenti tradotti, ad esempio i metadati presenti solo nella sorgente o gli slug che gli editor impostano manualmente per ciascuna lingua. ```ts gtPlugin({ sourceLocale: 'en', locales: ['es', 'zh', 'ja'], skipFields: [ { fields: [{ property: '$.slug', type: 'slug' }] }, { fields: [{ property: '$.canonicalUrl' }] }, ], }); ``` Consulta il [riferimento sui field matcher](/docs/integrations/sanity/reference/plugin-configuration#field-matchers) per la definizione completa del tipo. ## Impedisci la traduzione dei tipi personalizzati [#stop-types] Per impostazione predefinita, il plugin mantiene un insieme di tipi di schema non traducibili. Usa `additionalStopTypes` per aggiungere i tuoi tipi personalizzati. ```ts gtPlugin({ sourceLocale: 'en', locales: ['es', 'zh', 'ja'], additionalStopTypes: ['codeBlock', 'mux.video', 'mux.videoAsset'], }); ``` Vedi l’elenco completo degli [stop types predefiniti](/docs/integrations/sanity/reference/plugin-configuration#stop-types). ## Personalizza la serializzazione [#serialization] Il plugin converte i documenti in HTML per la traduzione e poi di nuovo nel formato originale. Nella maggior parte dei progetti non è necessario modificarla. Usa serializzatori personalizzati solo quando il tuo schema include mark personalizzati o tipi di blocco che quelli predefiniti non gestiscono. ```ts title="sanity.config.ts" import { attachGTData, gtPlugin } from 'gt-sanity'; gtPlugin({ sourceLocale: 'en', locales: ['es', 'zh', 'ja'], additionalSerializers: { marks: { link: ({ value, children }) => attachGTData(`${children}`, value, 'markDef'), inlineMath: ({ value, children }) => attachGTData(`${children}`, value, 'markDef'), }, }, }); ``` `attachGTData(html, data, 'markDef')` incorpora i dati del mark nell'HTML serializzato, in modo che il plugin possa ricostruire il mark quando reinserisce la traduzione. Consulta il [riferimento sulla serializzazione](/docs/integrations/sanity/reference/plugin-configuration#serialization). ## Next steps - /docs/integrations/sanity/guides/translating-content - /docs/integrations/sanity/guides/querying-translations - /docs/integrations/sanity/guiding-sanity