# General Translation Integrations: Eseguire query sulle traduzioni
URL: https://generaltranslation.com/it/docs/integrations/sanity/guides/querying-translations.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Come eseguire query sulle traduzioni di Sanity a livello di documento e di campo con GROQ.

General Translation supporta due modelli di archiviazione in Sanity. La localizzazione a livello di documento crea un documento per ogni impostazione regionale, mentre la localizzazione a livello di campo memorizza i valori delle impostazioni regionali in array internazionalizzati all&#39;interno di un singolo documento.

## Eseguire query sulle traduzioni a livello di documento [#documents]

Le traduzioni a livello di documento sono contrassegnate da un campo lingua (`language` per impostazione predefinita).

Esegui la query della versione che ti serve filtrando per quel campo.

### Eseguire query sul contenuto sorgente

I documenti sorgente non impostano il campo lingua per impostazione predefinita. Escludi i documenti tradotti filtrando per i documenti in cui il campo lingua non è definito.

```text
*[_type == "article" && !defined(language)]{
  title,
  slug,
  body
}
```

### Eseguire query su un&#39;impostazione regionale di destinazione

Filtra in base al campo della lingua.

```text
*[_type == "article" && language == "es"]{
  title,
  slug,
  body
}
```

### Eseguire query su un documento tradotto

```text
*[_type == "article" && slug.current == "hello-world" && language == "es"][0]{
  title,
  body
}
```

Se elimini i duplicati degli slug tradotti, lo slug include il suffisso dell&#39;impostazione regionale, ad esempio `hello-world-es`.

### Esegui query su tutte le versioni linguistiche

```text
*[_type == "article"]{
  title,
  slug,
  body,
  language
}
```

### Eseguire query sul contenuto sorgente con o senza il campo lingua

Alcuni documenti sorgente impostano esplicitamente l&#39;impostazione regionale sorgente, mentre altri lasciano il campo lingua non definito. Includi entrambe le rappresentazioni quando ti serve tutto il contenuto sorgente.

```text
*[_type == "article" && (language == "en" || !defined(language))]{
  title,
  slug,
  body
}
```

### Usa un campo lingua personalizzato

Se la configurazione del plugin imposta `languageField: 'locale'`, esegui query su `locale` invece di `language`. Il campo nello schema e quello nella query devono corrispondere al valore configurato.

```text
*[_type == "article" && locale == "es"]{
  title,
  slug,
  body
}
```

### Eseguire query sui riferimenti tradotti

La correzione dei riferimenti aggiorna la bozza del documento tradotto, creandola dallo stato pubblicato quando necessario. Pubblica la bozza corretta prima di eseguire query dalla prospettiva pubblicata. Il documento tradotto punta quindi alle versioni tradotte dei documenti referenziati.

```text
*[_type == "article" && language == "es"]{
  title,
  "author": author->{
    name,
    language
  }
}
```

(Vedi [Riferimenti nelle patch](/docs/integrations/sanity/guides/managing-translations#patch-references) per capire come vengono riscritti i riferimenti).

## Eseguire query sulle traduzioni a livello di campo [#fields]

La localizzazione a livello di campo memorizza ogni impostazione regionale in un campo `internationalizedArray*`. Filtra l&#39;array in base alla proprietà `language` e seleziona il `value` corrispondente:

```text
*[_type == "article"][0]{
  "titleEs": title[language == "es"][0].value,
  "bodyEs": body[language == "es"][0].value
}
```

Il documento stesso non riceve il campo `language` a livello di documento né un collegamento `translation.metadata`. Esegui query come di consueto sugli altri campi non localizzati dello stesso documento.

## Next steps

- /docs/integrations/sanity/guides/translating-content
- /docs/integrations/sanity/guides/managing-translations
- /docs/integrations/sanity/guides/configuring-sanity

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
