Sumário
Este problema conhecido foi traduzido automaticamente do inglês.
A tradução de campos de um idioma para outro usando o aplicativo vtex.catalog-graphql
e a disponibilização deles para serem pesquisados na Pesquisa inteligente não está funcionando corretamente.
O processo de indexação e o aplicativo vtex.catalog-graphql
_ diferem ao lidar com valores de especificação. A diferença é que, ao chamar vtex.messages
, o processo de indexação usa o FieldValueId do valor da especificação e, ao registrar traduções, o vtex.catalog-graphql
usa o FieldId da especificação. Essa sutil diferença faz com que as traduções de valores de especificação criados usando o aplicativo vtex.catalog-graphql
não sejam coletadas durante o processo de indexação.
Simulação
Siga o guia sobre valores de especificação de tradução: https://developers.vtex.com/docs/guides/catalog-internationalization
Verifique se a tradução não se refletirá nas facetas do lado do IS
Workaround
-
Obtenha todos os valores de especificação que você precisa traduzir e seus FieldValueIds.
-
Use a consulta traduzida para obter a tradução atual do aplicativo de mensagens usando o FieldId como contexto (no exemplo abaixo, Red é o valor da especificação e 1 é o _FieldId _ para uma especificação de cor).
query GetTranslation($args: TranslateArgs!) {translate(args: $args)}{"args": { "indexedByFrom": [ { "from": "en-US", "messages": [ { "content": "Red", "context": "1" } ] } ], "to": "pt-BR"}}
-
Crie uma nova tradução usando o FieldValueId como contexto e a mutação translate (no exemplo abaixo, 11 é o FieldValueId para o valor de especificação Red).
mutation Save($saveArgs: SaveArgsV2!) {saveV2(args: $saveArgs)}{"saveArgs": { "to": "pt-BR", "messages": [ { "srcLang": "en-US", "srcMessage": "Red", "context": "11", "targetMessage": "Vermelho" }]}}
Em resumo, em vez de salvar a propriedade "context" com base apenas no fieldValueId
, você também precisará salvá-la no contexto das mensagens usando o fieldId
.
Observe que ambas as traduções são necessárias, pois diferentes partes da loja usarão maneiras diferentes de consultá-la; o "FieldValueId" é usado pelas informações do Catalog/Search, e o "FieldId" pode ser usado diretamente pela estrutura do Store.