Envie e-mails no idioma do seu cliente

Um cliente em Munique não deveria receber uma confirmação de pedido em inglês, e o senhor não deveria precisar de três modelos de e-mail e três fluxos de trabalho para evitar isso. Um único modelo de e-mail pode incluir todos os idiomas em que o senhor comercializa seus produtos. Sua etapa Shopify Flow indica qual idioma o cliente fala, e o aplicativo envia a versão correspondente. Todos os demais recebem o modelo em seu idioma principal.

Este guia aborda desde um layout em um único idioma até e-mails no idioma do seu cliente e trata do que ocorre em todos os casos extremos: idiomas desconhecidos, variantes regionais, edições posteriores, testes e resolução de problemas.

Como funciona

  • Um layout possui um idioma principal. Trata-se do próprio layout, a versão que o senhor/a senhora tem hoje.
  • O senhor adiciona traduções a ele: alemão, francês, até 30 por layout. Cada uma tem seu próprio assunto, texto de visualização e conteúdo.
  • No Shopify Flow, a ação “Enviar e-mail transacional” possui um campo “Idioma”. Defina-o de acordo com o idioma do cliente, por exemplo, {{order.customerLocale}}.
  • Quando o e-mail é enviado, o aplicativo seleciona a tradução correspondente. Caso não haja nenhuma, é enviado o idioma principal. Um e-mail nunca é bloqueado por causa do idioma.

Um layout, um fluxo de trabalho, todos os idiomas.

Etapa 1: Adicionar um idioma

  1. Abra o layout na seção “Layouts de e-mail”.
  2. Clique em “Adicionar idioma” na parte superior da página.
  3. Escolha o idioma na seção “Idioma a ser adicionado” e clique em “Adicionar idioma”.

O novo idioma começa como uma cópia do seu layout salvo e é aberto imediatamente no editor. Traduza o assunto, o texto de visualização e o conteúdo e, em seguida, clique em “Salvar”.

Com um provedor de IA conectado, o(a) senhor(a) pode escolher a opção “Traduzir com IA” em vez de enviar o texto. Todo o texto é traduzido; as tags do Liquid, como {{ variables.order_name }}, os links e o design permanecem exatamente como estão. Nada é enviado antes de o(a) senhor(a) ter revisado e salvo o texto. Consulte Crie, edite e traduza layouts com IA.

A caixa de diálogo “Adicionar idioma” de um modelo de e-mail com o alemão selecionado
Adicionar idioma: escolha o idioma. Ele é criado a partir de uma cópia do layout, pronto para ser traduzido.

Layouts que o senhor criou antes mesmo de as línguas existirem

Um layout criado antes da implementação desse recurso ainda não possui um idioma principal. Nunca perguntamos em que idioma ele foi escrito e não fazemos suposições. Na primeira vez em que você adicionar um idioma a esse tipo de layout, a caixa de diálogo será exibida com uma pergunta adicional: “Idioma principal deste layout”.

  • Nada está pré-selecionado. Escolha o idioma no qual o layout está escrito hoje: alemão para um layout em alemão.
  • O idioma a ser adicionado e o botão “Adicionar idioma” permanecem desativados até que você faça sua escolha.
  • Essa pergunta é feita uma vez por layout. Os layouts que você criar a partir de agora terão o idioma selecionado na página de criação.

É importante acertar nisso: os clientes cujo idioma não possui tradução recebem o idioma principal, e as traduções são comparadas com base nele.

A caixa de diálogo “Adicionar idioma” em um layout criado antes da existência dos idiomas: o idioma principal desse layout aparece em primeiro lugar e é obrigatório; em seguida, vem o idioma a ser adicionado
Um layout criado antes da existência dos idiomas pergunta, em primeiro lugar, em que idioma ele está escrito. Nada vem pré-selecionado, e a opção “Adicionar idioma” permanece desativada até que você faça sua escolha.

Etapa 2: Traduzir no mesmo editor

A tradução é aberta no editor que você já conhece: o construtor visual para layouts de construtor, texto formatado ou HTML para os demais. A mudança de idioma não altera a tela, apenas o conteúdo.

  • Altere a opção por meio do seletor de idioma: na barra acima da área de trabalho no construtor visual, na parte superior do cartão de conteúdo do e-mail em um layout de rich text/HTML.
  • A entrada marcada como (layout) é o idioma principal.
A versão em alemão de um layout de texto rico: mesma tela, nome e descrição somente para leitura, assunto e corpo do texto em alemão
Ao alternar o idioma, a tela permanece inalterada. O nome e a descrição são compartilhados e estão definidos como somente leitura; o assunto, o texto de pré-visualização e o corpo do texto pertencem ao idioma.
O construtor visual exibindo a versão em alemão de uma confirmação de pedido
O construtor visual funciona da mesma maneira: escolha o idioma na barra acima da tela de trabalho.

Anexos por idioma

Uma fatura em PDF em alemão, uma folha de termos em francês: os anexos podem variar de acordo com o idioma.

Layouts visuais. Os anexos são blocos de anexos no modelo, e cada idioma possui seu próprio modelo. Um novo idioma começa como uma cópia, portanto, herda os mesmos blocos de anexos; basta trocar o arquivo na versão em alemão para que apenas os e-mails em alemão o incluam.

Formatação de texto rico / layouts em HTML. O cartão “Anexos” em uma página de tradução começa com uma opção: “Anexos neste idioma”:

Escolha O que é enviado
Igual ao idioma principal Os anexos do idioma principal. Altere-os nesse local. Essa é a configuração padrão para todos os idiomas.
Diferentes anexos para este idioma Somente os e-mails enviados neste idioma contêm esses arquivos.

A escolha de anexos diferentes para esse idioma começa a partir da lista do idioma principal; portanto, substituir um PDF constitui uma alteração. Se remover todos os arquivos, os e-mails nesse idioma serão enviados sem anexos, enquanto o idioma principal mantém os seus próprios. Ao voltar para a opção “Igual ao idioma principal”, esse idioma passará a seguir o idioma principal novamente.

A configuração como idioma principal faz com que cada idioma continue enviando exatamente o que enviava anteriormente; assim, ao promover uma tradução, os anexos de ninguém são alterados.

Os limites de tamanho e os modos “Anexar” e “Vincular” são os mesmos da língua principal; consulte Anexos e imagens.

Rodapé de marketing por idioma

Um layout de marketing termina com a frase de cancelamento de inscrição e os dados da sua empresa. Uma tradução pode conter sua própria redação: o cartão de rodapé de marketing na página de tradução oferece as opções “Igual ao layout” ou “Textos personalizados para este idioma”. Um campo vazio utiliza, por padrão, o texto do layout. O funcionamento do rodapé e a localização dos textos válidos para toda a loja por idioma estão descritos em E-mails de marketing e cancelamentos de inscrição.

Etapa 3: Indique ao Shopify Flow qual idioma deve ser enviado

Na ação “Enviar e-mail transacional”, defina “Idioma” como a variável do Shopify Flow que contém o idioma do seu cliente:

Gatilho Idioma
Pedido criado, Pedido pago {{order.customerLocale}}
Criado pelo cliente {{customer.locale}}
Processamento do atendimento de pedidos {{fulfillment.order.customerLocale}}

Para um fluxo de trabalho que atenda a apenas um mercado, digite um código fixo, como de.

Este campo é opcional. Os fluxos de trabalho que você criou anteriormente continuam funcionando sem alterações: na ausência de um campo “Idioma”, eles enviam o idioma principal, exatamente como sempre fizeram.

A ação “Enviar e-mail transacional” no Shopify Flow, com os campos “Responder para”, “Nome do remetente”, “Idioma” definido como order.customerLocale e “Variáveis”
A ação em Shopify Flow: “Language” utiliza o idioma do cliente, neste caso, {{order.customerLocale}}. Os campos “Reply-To” e “From name” também são definidos por etapa.

Qual versão o cliente recebe

O aplicativo procura a melhor correspondência, nesta ordem:

  1. O texto exato. O site fr-CA envia sua tradução de fr-ca.
  2. O idioma de origem. Os endereços de-CH e de-AT enviam sua tradução de. Uma tradução em alemão abrange a Alemanha, a Áustria e a Suíça.
  3. Uma variante regional. pt envia sua tradução de pt-br.
  4. Caso contrário, o idioma principal. O próprio layout é enviado.

Não há diferença entre maiúsculas e minúsculas, nem quanto ao separador: de-DE, de-de e de_DE são a mesma coisa.

E se a língua não existir?

Não ocorre nenhum problema. O e-mail é enviado no idioma principal quando:

  • o idioma do cliente não possui tradução (um cliente japonês, e o senhor traduziu para o alemão e o francês),
  • o campo “Idioma” estiver vazio ou a variável “Shopify Flow” não tiver nenhum valor para esse cliente,
  • o valor não é, de forma alguma, uma língua.

O envio nunca é rejeitado e nunca falha devido ao campo “Idioma”. A única verificação ocorre durante a criação do fluxo de trabalho: se você digitar um valor fixo que não seja um código de idioma, como english, o Shopify Flow exibe uma sugestão para usar um código como de, fr ou pt-BR. As variáveis do fluxo são sempre aceitas.

Um layout para cada idioma

Às vezes, uma tradução completa é mais do que o necessário: o e-mail é o mesmo para todos, exceto por uma frase. Para isso, todo modelo de e-mail possui a opção {{ language }}.

{{ language }} é o idioma que sua etapa do Shopify Flow enviou, em letras minúsculas (de, fr, de-at). Quando a etapa não envia nenhum idioma, é utilizado o idioma principal do layout. Isso se aplica ao assunto, ao texto de pré-visualização e ao corpo da mensagem, tanto no construtor visual quanto em layouts de rich text/HTML, e também dentro de uma tradução.

{% if language == "de" %}
  <p>Retouren aus Deutschland gehen an unser Lager in Hamburg.</p>
{% else %}
  <p>International returns are refunded within 10 working days.</p>
{% endif %}

No construtor visual, insira isso em um bloco de HTML/Código. Em um layout de rich text/HTML, altere o corpo para HTML.

Shopify frequentemente inclui uma região junto com o idioma, como de-AT ou en-GB. O {{ language }} mantém essa forma (de-at); portanto, compare apenas as duas primeiras letras quando se referir a “qualquer alemão”:

{% assign lang = language | slice: 0, 2 %}
{% if lang == "de" %}Hallo{% elsif lang == "fr" %}Bonjour{% else %}Hello{% endif %}

{{ language }} é o que a etapa solicitou, e não a tradução que foi encontrada. Para um cliente japonês, é exibido ja, mesmo que o idioma principal tenha sido enviado; portanto, um layout sem nenhuma tradução ainda pode reagir a isso. O cartão “Variáveis do sistema” no editor exibe o valor atual e permite copiá-lo com um clique. Em um layout que ainda não possui um idioma principal, ele permanece vazio até que uma etapa do Shopify Flow envie um idioma.

Um layout HTML cujo corpo utiliza a condição “se o idioma for ‘de’”, ao lado do cartão “Variáveis do sistema”, que lista a variável de idioma
{{ language }} em um layout: um parágrafo para os clientes alemães e outro para todos os demais. O cartão “Variáveis do sistema” exibe seu valor atual.

Faça um teste antes de colocar em produção

  • A função “Enviar e-mail de teste” exibirá um seletor de idioma assim que o layout tiver traduções. Envie para si mesmo uma mensagem em cada idioma.
  • O teste utiliza suas variáveis de teste, e não dados reais. A execução real do fluxo de trabalho constitui a verificação final; consulte Verificando a configuração do seu e-mail.
  • Para testar toda a cadeia, execute o fluxo de trabalho para um pedido cujo cliente tenha o idioma para o qual o senhor traduziu.

Verifique o que foi enviado

O histórico registra o idioma de cada e-mail. Ao abrir um evento: a opção “Idioma”, na seção “Detalhes do evento”, exibe a tradução que foi enviada ou o idioma principal do layout. A opção “Reenviar” reenvia o e-mail no mesmo idioma.

Um registro de histórico de um e-mail enviado, com status, duração e o idioma alemão na seção “Detalhes do evento”
Um evento no histórico: a seção “Detalhes do evento”, na coluna “Idioma”, indica qual versão foi publicada.

Alterar o idioma principal

Sua loja foi criada em inglês e, atualmente, a maioria dos clientes é alemã? Abra a tradução em alemão e clique em “Definir como idioma principal”. O alemão passa a ser o layout principal e o inglês, uma tradução: os dois trocam de lugar e nada se perde. A partir de então, os clientes sem uma tradução correspondente e os e-mails sem idioma definido receberão o conteúdo em alemão. Você pode desfazer essa ação no histórico de versões.

A caixa de diálogo “Tornar o alemão o idioma principal”, explicando que os dois idiomas trocam de lugar
Definir como idioma principal: a tradução e o layout trocam de lugar. Nada se perde, e essa ação pode ser revertida a partir do histórico de versões.

Remover um idioma

Abra a tradução e clique em “Excluir” seguido do nome da tradução; por exemplo, “Excluir alemão”. Os clientes que utilizam esse idioma passarão a receber as mensagens no idioma principal a partir do próximo e-mail. A tradução permanece no histórico de versões do layout e pode ser restaurada. Consulte Histórico de versões do layout.

Caso algo não esteja conforme o esperado

Um cliente recebeu o idioma principal em vez do seu próprio. Abra o e-mail no Histórico e verifique o campo Idioma. “Idioma principal do layout” significa que não foi encontrada nenhuma tradução correspondente: o campo Idioma da etapa do Shopify Flow está vazio, a variável não possuía valor para esse cliente ou não há tradução disponível para esse idioma. Verifique primeiro a etapa; a tabela na Etapa 3 apresenta a variável correta para cada gatilho.

A opção “Adicionar idioma” está desativada. O layout ainda não possui um idioma principal. Escolha primeiro o “Idioma principal deste layout” na parte superior da caixa de diálogo.

O idioma de que preciso não consta na lista. A lista contém os idiomas mais comuns. Qualquer código de idioma válido pode ser adicionado por meio da API.

Alterei o layout, mas o e-mail em alemão ainda exibe o texto antigo. As traduções são cópias. Faça a alteração também na versão em alemão.

Alterei os anexos, mas um idioma ainda envia o arquivo antigo. Em um layout de rich text/HTML, esse idioma está configurado como “Anexos diferentes para este idioma”, portanto, mantém sua própria lista. Abra a tradução e altere o arquivo ali, ou mude a configuração para “Igual ao idioma principal”. Em um layout visual, substitua o arquivo no bloco “Anexos” desse idioma.

Não estou vendo o campo “Idioma” na ação do Shopify Flow. A etapa foi adicionada antes desta atualização, e o Shopify Flow mantém os campos com os quais a etapa foi criada. Exclua a etapa “Enviar e-mail transacional” e adicione-a novamente: o campo “Idioma” aparecerá então entre “Nome do remetente” e “Variáveis (JSON)”.

Por meio da API

As traduções podem ser lidas e editadas em GET e PUT /api/v1/email-templates/:id/translations/:locale; uma tradução passa a ser o idioma principal em POST /api/v1/email-templates/:id/translations/:locale/promote; e as ferramentas do MCP são list_template_translations, set_template_translation e promote_template_translation. Para um layout de texto rico/HTML, o campo attachments da tradução é uma lista independente, ou null para o idioma principal; marketingTexts contém os textos do rodapé de um layout de marketing para esse idioma. Qualquer código de idioma válido é aceito, com um limite de 30 idiomas por layout. Consulte Referência da API REST e Conecte um assistente de IA (MCP).

Relacionado