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
- Abra o modelo na secção «Modelos de e-mail».
- Clique em «Adicionar idioma» na parte superior da página.
- 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.

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.

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.


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.

Que versão é que um cliente recebe?
A aplicação procura a correspondência mais adequada, nesta ordem:
- A tradução exata. O site
fr-CAapresenta a sua tradução defr-ca. - A língua de base. Os endereços
de-CHede-ATpermitem-lhe enviar a sua tradução emde. Uma tradução em alemão abrange a Alemanha, a Áustria e a Suíça. - Uma variante regional.
ptenvia a sua tradução dept-br. - 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.

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.

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.

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
- Criar um layout de e-mail - layouts, o editor visual e texto formatado / HTML.
- Crie, edite e traduza layouts com IA - traduza um layout utilizando o seu próprio fornecedor de IA.
- Predefinições de cabeçalho e rodapé - os textos de uma predefinição em todas as línguas.
- Anexos e imagens - ficheiros, limites e o modo «Anexar/Ligar».
- E-mails de marketing e cancelamentos de subscrição - link para cancelar a subscrição e textos do rodapé por idioma.
- Variáveis e Líquido - variáveis, condições e filtros.
- Histórico de versões do layout - todos os ficheiros guardados de todas as línguas, com a opção de restauração.
- Histórico e resolução de problemas - o que foi enviado e porquê.

