Envie e-mails na língua do seu cliente

Um cliente em Munique não deve receber uma confirmação de pedido em inglês, e não deve ser necessário recorrer a três modelos e três fluxos de trabalho para evitar isso. Um único modelo de e-mail pode incluir todos os idiomas em que comercializa os seus produtos. A etapa Shopify Flow indica qual o idioma que o cliente fala, e a aplicação envia a versão correspondente. Todos os restantes clientes recebem o modelo no seu idioma principal.

Este guia aborda a transição de um layout num único idioma para e-mails no idioma dos seus clientes e aborda o que acontece em todos os casos extremos: idiomas desconhecidos, variantes regionais, edições posteriores, testes e resolução de problemas.

Como funciona

  • Um layout tem uma língua principal. Trata-se do próprio layout, a versão de que dispõe atualmente.
  • Pode adicionar traduções: alemão, francês, até 30 por layout. Cada uma tem o seu próprio tema, texto de pré-visualização e conteúdo.
  • No Shopify Flow, a ação «Enviar e-mail transacional» possui um campo «Idioma». Defina-o para o idioma do cliente, por exemplo, {{order.customerLocale}}.
  • Quando o e-mail é enviado, a aplicação seleciona a tradução correspondente. Caso não exista nenhuma, é enviada a versão no idioma principal. Um e-mail nunca é bloqueado devido ao seu idioma.

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

Passo 1: Adicionar um idioma

  1. Abra o modelo na secção «Modelos de e-mail».
  2. Clique em «Adicionar idioma» na parte superior da página.
  3. Selecione o idioma na secção «Idioma» para o adicionar e clique em «Adicionar idioma».

O novo idioma começa por ser uma cópia do seu layout guardado e abre-se imediatamente no editor. Traduza o assunto, o texto de pré-visualização e o conteúdo e, em seguida, guarde.

Com um fornecedor de IA ligado, pode optar por «Traduzir com IA» em vez de uma cópia. Todo o texto é traduzido; as tags Liquid, tais como {{ variables.order_name }}, as ligações e o design permanecem exatamente como estão. Nada é enviado antes de o ter revisto e guardado. 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: selecione o idioma. Começa por ser uma cópia do layout, pronto a ser traduzido.

Disposições que criou antes de as línguas existirem

Um layout criado antes da introdução desta funcionalidade ainda não tem uma língua principal. Nunca perguntámos em que língua está escrito e não fazemos suposições. Na primeira vez que adicionar uma língua a um layout deste tipo, a caixa de diálogo apresenta uma pergunta adicional: «Língua principal deste layout».

  • Nada está pré-selecionado. Escolha a língua em que o modelo está escrito hoje: alemão para um modelo em alemão.
  • A língua a adicionar e o botão «Adicionar língua» permanecem desativados até que tenha efetuado a sua escolha.
  • Esta pergunta é-lhe apresentada uma vez por cada layout. Os layouts que criar a partir de agora selecionam o idioma na página de criação.

É importante que isto esteja correto: os clientes cujo idioma não tenha tradução recebem o idioma principal, e as traduções são comparadas com este.

A caixa de diálogo «Adicionar idioma» num layout criado antes da existência dos idiomas: o idioma principal deste layout aparece em primeiro lugar e é obrigatório; em seguida, o idioma a adicionar
Um layout que criou antes de existirem idiomas pergunta, em primeiro lugar, em que idioma está escrito. Nada está pré-selecionado e a opção «Adicionar idioma» permanece desativada até que tenha efetuado a sua escolha.

Passo 2: Traduzir no mesmo editor

A tradução abre-se no editor que já conhece: o construtor visual para os layouts do construtor, texto formatado ou HTML para os restantes. A mudança de idioma não altera o ecrã, apenas o conteúdo.

  • Altere a selecção de idioma: na barra acima da área de trabalho no construtor visual, na parte superior do cartão «Conteúdo do e-mail» num layout de texto rico/HTML.
  • A entrada marcada com (layout) é a língua principal.
A versão em alemão de um formato de texto rico: o mesmo ecrã, nome e descrição em modo de leitura, assunto e corpo do texto em alemão
Ao mudar de idioma, o ecrã permanece tal como está. O nome e a descrição são partilhados e estão em modo de leitura aqui; o assunto, o texto de pré-visualização e o corpo do e-mail pertencem ao idioma.
O editor visual que apresenta a versão em alemão de uma confirmação de pedido
O construtor visual funciona da mesma forma: selecione a língua na barra situada acima da área de trabalho.

Anexos por idioma

Uma fatura alemã em formato PDF, uma ficha de condições francesa: os anexos podem variar consoante o idioma.

Layouts visuais. Os anexos são blocos de anexos no modelo, e cada idioma tem o seu próprio modelo. Um novo idioma começa por ser uma cópia, pelo que inclui os mesmos blocos de anexos; basta substituir o ficheiro na versão alemã para que apenas os e-mails em alemão o incluam.

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

Escolha O que é enviado
Igual ao idioma principal Os anexos da língua principal. Altere-os nessa secção. Esta é a configuração predefinida para todas as línguas.
Diferentes anexos para esta língua Apenas os e-mails enviados neste idioma contêm estes ficheiros.

A seleção de anexos diferentes para este idioma começa a partir da lista do idioma principal; assim, substituir um ficheiro PDF constitui uma alteração. Se remover todos os ficheiros, os e-mails nesse idioma serão enviados sem anexos, enquanto o idioma principal mantém os seus próprios. Se voltar a selecionar a opção «Igual ao idioma principal», esse idioma voltará a seguir o idioma principal.

A definição como língua principal faz com que cada língua continue a enviar exatamente o que enviava anteriormente, pelo que a promoção de uma tradução nunca altera os anexos de ninguém.

Os limites de tamanho e os modos «Anexar» e «Ligar» são os mesmos que para a língua principal; consulte Anexos e imagens.

Rodapé de marketing por idioma

Um layout de marketing termina com a frase de cancelamento da subscrição e os dados da sua empresa. Uma tradução pode incluir a sua própria redação: o cartão do rodapé de marketing na página de tradução oferece as opções «Igual ao modelo» ou «Textos personalizados para este idioma». Um campo vazio recorre ao texto do modelo. Para saber como funciona o rodapé e onde se encontram os textos aplicáveis a toda a loja por idioma, consulte E-mails de marketing e cancelamentos de subscrição.

Passo 3: Indique ao Shopify Flow qual a língua que pretende que seja enviada

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 Língua
Pedido criado, Pedido pago {{order.customerLocale}}
Criado pelo cliente {{customer.locale}}
Processamento do serviço de processamento de encomendas {{fulfillment.order.customerLocale}}

Para um fluxo de trabalho que sirva apenas um mercado, introduza um código fixo, como de.

Este campo é opcional. Os fluxos de trabalho que criou anteriormente continuam a funcionar sem alterações: na ausência de uma opção de idioma, enviam o idioma principal, tal como sempre fizeram.

A ação «Enviar e-mail transacional» em Shopify Flow, com os campos «Responder a», «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 variam consoante o passo.

Que versão é que um cliente recebe?

A aplicação procura a correspondência mais adequada, nesta ordem:

  1. A tradução exata. O site fr-CA apresenta a sua tradução de fr-ca.
  2. A língua de base. Os endereços de-CH e de-AT permitem-lhe enviar a sua tradução em de. Uma tradução em alemão abrange a Alemanha, a Áustria e a Suíça.
  3. Uma variante regional. pt envia a sua tradução de pt-br.
  4. Caso contrário, a língua principal. O próprio layout é enviado.

Não importa se as letras são maiúsculas ou minúsculas, nem o separador: de-DE, de-de e de_DE são o mesmo.

E se a língua não existir?

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

  • o idioma do cliente não tem tradução (um cliente japonês, e o senhor traduziu para alemão e francês),
  • o campo «Idioma» está vazio, ou a variável «Shopify Flow» não tem qualquer valor para esse cliente,
  • o valor não é, de forma alguma, uma língua.

O envio nunca é rejeitado nem falha devido ao campo «Idioma». A única verificação ocorre durante a criação do fluxo de trabalho: se introduzir um valor fixo que não seja um código de idioma, como english, Shopify Flow apresenta uma sugestão para utilizar um código como de, fr ou pt-BR. As variáveis do fluxo são sempre aceites.

Um layout para cada língua

Por vezes, uma tradução completa é mais do que o necessário: o e-mail é o mesmo para todos, com exceção de uma frase. Para isso, todos os modelos de e-mail incluem a função {{ language }}.

{{ language }} é o idioma que a sua etapa do Shopify Flow enviou, em minúsculas (de, fr, de-at). Quando a etapa não envia nenhum, é utilizado o idioma principal do layout. Funciona no assunto, no texto de pré-visualização e no corpo do e-mail, tanto no construtor visual como em layouts de texto rico/HTML, bem como no interior 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 isto num bloco HTML / Código. Num layout de texto rico / HTML, altere o corpo para HTML.

Shopify muitas vezes inclui uma região junto com o idioma, como de-AT ou en-GB. O {{ language }} mantém a região (de-at); por isso, 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, é apresentado ja, mesmo que tenha sido enviado o idioma principal; assim, um layout sem qualquer tradução pode ainda assim reagir a isso. O cartão «Variáveis do Sistema» no editor apresenta-o com o seu valor atual e permite copiá-lo com um clique. Num layout que ainda não tenha um idioma principal, permanece em branco até que uma etapa do Shopify Flow envie um idioma.

Um layout HTML cujo corpo utiliza a condição «if language equals de», ao lado do cartão «Variáveis do sistema» que apresenta a variável de idioma
{{ language }} num layout: um parágrafo para os clientes alemães e outro para todos os restantes. O cartão «Variáveis do sistema» apresenta o seu valor atual.

Faça um teste antes de colocar o sistema em funcionamento

  • A função «Enviar e-mail de teste» dispõe de um seletor de idioma assim que o layout tiver traduções. Envie a si próprio um e-mail em cada idioma, uma vez.
  • O teste utiliza as suas variáveis de teste, e não dados reais. A execução real do fluxo de trabalho constitui a verificação final; consulte Verificar 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 traduziu.

Verifique o que foi enviado

O histórico regista o idioma de cada e-mail. Ao abrir um evento: a secção «Idioma», em «Detalhes do evento», apresenta a tradução que foi enviada ou o idioma principal do modelo. A opção «Reenviar» reenvia o e-mail no mesmo idioma.

Um registo histórico de um e-mail enviado, com o estado, a duração e o idioma «alemão» na secção «Detalhes do registo»
Um evento em «Histórico»: a secção «Idioma» nos detalhes do evento indica qual a versão que foi publicada.

Alterar o idioma principal

A sua loja começou 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 idioma principal e o inglês torna-se uma tradução: os dois trocam de lugar e nada se perde. A partir daí, os clientes sem uma tradução correspondente e os e-mails sem idioma definido passarão a receber o conteúdo em alemão. Pode reverter esta alteração a partir do histórico de versões.

A caixa de diálogo «Definir o alemão como língua principal», na qual se explica que as duas línguas trocam de lugar
Definir como idioma principal: a tradução e o layout trocam de lugar. Não se perde nada e esta ação pode ser desfeita a partir do histórico de versões.

Remover um idioma

Abra a tradução e clique em «Eliminar», seguido do nome da mesma; por exemplo, «Eliminar 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.

Se algo não estiver 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 tinha valor para esse cliente ou não existe nenhuma tradução 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 tem um idioma principal. Selecione primeiro o «Idioma principal deste layout» na parte superior da caixa de diálogo.

A língua de que necessito não consta da lista. A lista inclui as línguas mais comuns. Qualquer código de língua válido pode ser adicionado através da API.

Alterei o layout, mas o e-mail em alemão continua a apresentar o texto antigo. As traduções são cópias. Por favor, efetue a alteração também na versão em alemão.

Alterei os anexos, mas um dos idiomas continua a enviar o ficheiro antigo. Num layout de texto rico/HTML, esse idioma está definido como «Anexos diferentes para este idioma», pelo que mantém a sua própria lista. Abra a tradução e altere o ficheiro nessa tradução, ou altere a definição para «Igual ao idioma principal». Num layout visual, substitua o ficheiro no bloco «Anexos» desse idioma.

Não vejo o campo «Idioma» na ação do Shopify Flow. O passo foi adicionado antes desta atualização, e o Shopify Flow mantém os campos com que um passo foi criado. Elimine o passo «Enviar e-mail transacional» e adicione-o novamente: o campo «Idioma» fica então entre «Nome do remetente» e «Variáveis (JSON)».

Através da API

As traduções podem ser lidas e editadas em GET e PUT /api/v1/email-templates/:id/translations/:locale; uma tradução torna-se o idioma principal através de POST /api/v1/email-templates/:id/translations/:locale/promote; e as ferramentas 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 constitui a sua própria lista, ou null para o idioma principal; marketingTexts contém os textos do rodapé de um layout de marketing para esse idioma. É aceite qualquer código de idioma válido, até um máximo de 30 idiomas por layout. Consulte Referência da API REST e Ligar um assistente de IA (MCP).

Relacionado