Sumario
Este problema conocido ha sido traducido automáticamente del inglés.
La traducción de campos de un idioma a otro mediante la aplicación vtex.catalog-graphql y su disponibilidad para realizar búsquedas en la Búsqueda Inteligente no funciona correctamente.
El proceso de indexación y la aplicación "vtex.catalog-graphql" difieren en el manejo de los valores de especificación. La diferencia es que cuando se llama a vtex.messages, el proceso de indexación utiliza el FieldValueId del valor de especificación, y cuando se registran traducciones, vtex.catalog-graphql utiliza el FieldId de la especificación. Esta sutil diferencia provoca que las traducciones de los valores de especificación creados mediante la aplicación vtex.catalog-graphql no se recojan durante el proceso de indexación.
Simulación
Siga la guía sobre la traducción de valores de especificación: https://developers.vtex.com/docs/guides/catalog-internationalization
Compruebe que la traducción no se reflejará en las facetas del lado IS.
Workaround
-
Obtenga todos los valores de especificación que necesita traducir y sus FieldValueIds.
-
Utilice la consulta traducida para obtener la traducción actual de la aplicación de mensajes utilizando el FieldId como contexto (en el ejemplo siguiente, Red es el valor de especificación, y 1 es el _FieldId _para una especificación de color).
query GetTranslation($args: TranslateArgs!) {translate(args: $args)}{"args": {"indexedByFrom": [ {"from": "en-US", "messages": [ { "content": "Red", "context": "1" } } ], "to": "pt-BR"}}
-
Cree una nueva traducción utilizando el FieldValueId como contexto y la mutación translate (en el ejemplo siguiente, 11 es el FieldValueId para el valor de especificación Red).
mutation Save($saveArgs: SaveArgsV2!) {saveV2(args: $saveArgs)}{"saveArgs": {"to": "pt-BR", "messages": [ { "srcLang": "en-US", "srcMessage": "Red", "context": "11", "targetMessage": "Vermelho" }]}}
En resumen, en lugar de guardar la propiedad "context" basándose sólo en fieldValueId, deberá guardarla también en el contexto de los mensajes utilizando el fieldId.
Tenga en cuenta que ambas traducciones son necesarias ya que diferentes partes de la tienda utilizarán diferentes formas de consultarlo; el "FieldValueId" es utilizado por la información del Catálogo/Búsqueda, y el "FieldId" puede ser utilizado directamente por el Store Framework.