# General Translation Integrations: Consultar traducciones URL: https://generaltranslation.com/es/docs/integrations/sanity/guides/querying-translations.mdx --- title: Consultar traducciones description: Cómo consultar traducciones de Sanity a nivel de documento y a nivel de campo con GROQ. related: links: - /docs/integrations/sanity/guides/translating-content - /docs/integrations/sanity/guides/managing-translations - /docs/integrations/sanity/guides/configuring-sanity --- General Translation admite dos modelos de almacenamiento en Sanity. La localización a nivel de documento crea un documento para cada configuración regional, mientras que la localización a nivel de campo almacena los valores de configuración regional en listas internacionalizadas dentro de un mismo documento. ## Consultar traducciones a nivel de documento [#documents] Las traducciones a nivel de documento se etiquetan con un campo de idioma, que por defecto es `language`. Consulta la versión que necesites filtrando por ese campo. ### Consultar el contenido de origen Los documentos de origen no establecen el campo de idioma de forma predeterminada. Excluya los documentos traducidos filtrando por un campo de idioma sin definir. ```text *[_type == "article" && !defined(language)]{ title, slug, body } ``` ### Consultar la configuración regional de destino Filtra por el campo de idioma. ```text *[_type == "article" && language == "es"]{ title, slug, body } ``` ### Consultar un documento traducido ```text *[_type == "article" && slug.current == "hello-world" && language == "es"][0]{ title, body } ``` Si eliminas los duplicados en los slugs traducidos, el slug incluye el sufijo de la configuración regional, como `hello-world-es`. ### Consultar todas las versiones en cada idioma ```text *[_type == "article"]{ title, slug, body, language } ``` ### Consultar el contenido de origen con o sin un campo de idioma Algunos documentos de origen establecen explícitamente la configuración regional de origen, mientras que otros dejan el campo de idioma sin definir. Incluye ambas representaciones cuando necesites todo el contenido de origen. ```text *[_type == "article" && (language == "en" || !defined(language))]{ title, slug, body } ``` ### Usa un campo de idioma personalizado Si la configuración de tu plugin establece `languageField: 'locale'`, consulta `locale` en lugar de `language`. El campo del esquema y el campo de la consulta deben coincidir con el valor configurado. ```text *[_type == "article" && locale == "es"]{ title, slug, body } ``` ### Consultar referencias traducidas Una vez actualizadas las referencias, los documentos traducidos apuntan a las versiones traducidas de los documentos a los que hacen referencia. Consúltalos como lo harías normalmente. ```text *[_type == "article" && language == "es"]{ title, "author": author->{ name, language } } ``` Consulta [Referencias de parches](/docs/integrations/sanity/guides/managing-translations#patch-references) para saber cómo se reescriben las referencias. ## Consultar traducciones a nivel de campo [#fields] La localización a nivel de campo almacena cada configuración regional en un campo `internationalizedArray*`. Filtra la lista por la propiedad `language` y proyecta el `value` correspondiente: ```text *[_type == "article"][0]{ "titleEs": title[language == "es"][0].value, "bodyEs": body[language == "es"][0].value } ``` El documento en sí no recibe el campo `language` a nivel de documento ni un enlace `translation.metadata`. Consulta otros campos no localizados del mismo documento como lo harías habitualmente. ## Next steps - /docs/integrations/sanity/guides/translating-content - /docs/integrations/sanity/guides/managing-translations - /docs/integrations/sanity/guides/configuring-sanity