# General Translation Integrations: Contenuti supportati URL: https://generaltranslation.com/it/docs/integrations/storyblok/reference/supported-content.mdx --- title: Contenuti supportati description: Riferimento per i tipi di campo di Storyblok che General Translation traduce e per il modo in cui il contenuto viene serializzato. Riferimento API per i contenuti supportati di Storyblok. --- I tipi di campo di Storyblok che General Translation traduce, come gestisce testo ricco e tabelle e quale formato dei dati utilizza. General Translation percorre l'albero dei contenuti di ciascuna story, scende ricorsivamente nei blocchi nidificati ed estrae i campi traducibili. ## Panoramica [#overview] | Argomento | Descrizione | | ------------------------------------------ | -------------------------------------------------------------------------------- | | [Tipi di campo traducibili](#field-types) | I tipi di campo inviati per la traduzione e i relativi formati di dati. | | [Il flag translatable](#translatable-flag) | Perché un campo deve essere contrassegnato con `translatable: true`. | | [Gestione dei campi](#field-handling) | Come ogni tipo di campo viene estratto, elaborato ricorsivamente o preservato. | | [Testo ricco e tabelle](#rich-text-tables) | Serializzazione dedicata per i campi `richtext` e `table`. | | [Campi ignorati](#skipped-fields) | Perché un campo viene ignorato, in base al motivo. | | [Formato dei dati](#data-format) | Il formato `STORYBLOK_CONTENT_JSON` e i relativi metadati associati alle chiavi. | ## Tipi di campo traducibili [#field-types] General Translation estrae questi tipi di campo di Storyblok e li traduce utilizzando il formato di dati indicato: | Tipo di campo | Formato dei dati | | ------------- | ---------------- | | `text` | `text` | | `textarea` | `text` | | `markdown` | `markdown` | | `richtext` | `richtext` | | `table` | `table` | `text` e `textarea` vengono entrambi tradotti come testo semplice. `markdown`, `richtext` e `table` mantengono la loro struttura grazie a una serializzazione dedicata. ## Il flag translatable [#translatable-flag] Un campo supportato viene estratto solo quando è contrassegnato con `translatable: true` nel relativo schema del componente. Storyblok archivia le traduzioni a livello di campo solo per i campi traducibili, quindi un campo supportato che non è traducibile viene conservato (copiato, non tradotto) invece di essere inviato per la traduzione. Contrassegna i campi come traducibili nella Block Library di Storyblok, oppure seleziona **Auto-enable supported fields** nella Dashboard affinché General Translation imposti il flag sui campi supportati nell'intero space. Vedi [Configurare Storyblok](/docs/integrations/storyblok/guides/configuring-storyblok#enable-fields). ## Gestione dei campi [#field-handling] Ogni campo in uno schema di componente viene gestito tramite una delle quattro azioni seguenti: * **Extract** — il campo viene tradotto. Si applica a `text`, `textarea`, `markdown`, `richtext` e `table`, ma solo quando il campo è `translatable: true`. * **Recurse** — l'integrazione scende nel contenuto annidato. Si applica ai campi `bloks`, i cui elementi sono componenti elaborati nello stesso modo. * **Preserve** — il campo viene lasciato invariato e non viene tradotto. Si applica a `option`, `options`, `section`, `number`, `datetime` e `boolean`, nonché a qualsiasi campo supportato che non sia contrassegnato come traducibile. * **Skip (unsupported)** — il tipo di campo non può essere tradotto e viene segnalato come ignorato. Si applica a `custom`, `asset`, `multiasset`, `multilink`, `image` e `file`. *Nota: un campo `bloks` i cui elementi non sono componenti validi segnala tali elementi come ignorati con il motivo `missing_nested_component`.* ## Testo ricco e tabelle [#rich-text-tables] I campi `richtext` e `table` hanno una serializzazione dedicata, così la loro struttura viene preservata durante la traduzione. * **Testo ricco** — il documento di testo ricco viene serializzato in un formato traducibile che preserva la formattazione (come grassetto e link) e i nodi inline, quindi viene riassemblato dopo la traduzione. Un campo `richtext` il cui valore non è un documento di testo ricco viene ignorato con il motivo `non_string_value`. * **Tabelle** — le celle dell'intestazione e del corpo della tabella vengono serializzate una per una e riassemblate dopo la traduzione. Un campo `table` il cui valore non è una tabella viene ignorato con il motivo `non_string_value`; una tabella senza celle traducibili viene lasciata invariata. ## Campi ignorati [#skipped-fields] Quando un campo non può essere tradotto, viene segnalato come ignorato. Il riepilogo dei risultati raggruppa i campi ignorati per componente, campo, tipo e motivo: | Motivo | Significato | | -------------------------- | ---------------------------------------------------------------------------------------------------------------------------------------------------------- | | `missing_component_schema` | Il componente del blocco non ha uno schema che l'integrazione possa leggere. | | `unsupported_field_type` | Il tipo di campo non è traducibile (ad esempio `asset`, `multilink`, `image` o `custom`). | | `non_string_value` | Il valore del campo non ha il formato previsto (ad esempio un campo `text` che non è una stringa, o un campo `richtext` che non è un documento di testo ricco). | | `missing_nested_component` | Un elemento `bloks` annidato non è un componente valido. | ## Formato dei dati [#data-format] Il contenuto estratto viene caricato su General Translation usando il formato dati `STORYBLOK_CONTENT_JSON`. Il payload è un oggetto JSON che associa la chiave del percorso di ciascun campo alla relativa stringa sorgente. Insieme al payload, General Translation allega metadati indicizzati per chiave — una voce per ogni campo, indicizzata con la stessa chiave del percorso — così che le traduzioni possano essere reintegrate nella posizione corretta. Ogni voce può includere: * `id` e `pathKey` — l'identificatore del campo e il percorso all'interno della story. * `provider` e `resourceType` — `STORYBLOK` e `STORYBLOK_SPACE`. * `spaceId`, `storyId`, `storyName` e `storyFullSlug` — lo space e la story sorgente. * `component`, `field` e `fieldType` — da dove proviene il valore e il relativo tipo di campo in Storyblok. * `dataFormat` — il formato dei dati di traduzione del campo indicato nella tabella sopra. * `displayPath` — un percorso leggibile usato come contesto. * `context` — il contesto di traduzione generato che descrive la posizione, il tipo e la story del campo. *Nota: i metadati includono `context` (e possono includere `maxChars`) per migliorare la qualità della traduzione.*