# 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