|
Documentação
Agende uma demoPlataforma
PlataformaMCPCLIAPIWorkflows
Guias
Changelog

Localização

  • Visão geral
  • API de Tradução
  • Localização de apps web
  • Localização de aplicativos mobile
  • iOS com String Catalogs
  • Android com strings.xml
  • Localização de e-mails
  • Conteúdo estático (ex.: .md, .json)
  • Next.js com Markdoc
  • Rails com i18n

Workflows

  • Configuração do engine com MCP
  • Triagem no Jira
  • CI/CD

Localização de e-mails

A CLI e a API de localização do Lingo.dev oferecem duas abordagens para localização de e-mails: traduzir arquivos de template no build para publicar templates por idioma, ou traduzir o conteúdo em tempo de execução antes do envio. Em ambos os casos, tudo passa por um engine de localização configurado, com regras de glossário, voz da marca e seleção de modelo aplicadas automaticamente.

Escolha sua abordagem#

AbordagemIdeal paraComo funciona
Build-time (CLI)Arquivos de template — react-email, MJML, HTMLTraduza os arquivos no seu repositório e faça o deploy de templates por idioma
Runtime (API)Conteúdo dinâmico, templates renderizados pelo ESPChame a API de localização antes do envio e passe o conteúdo traduzido para seu provedor de e-mail

Qual abordagem escolher?

Se seus templates de e-mail ficam no repositório como arquivos (HTML, MJML ou componentes React), use a abordagem de build-time. Se o conteúdo do e-mail é gerado dinamicamente ou armazenado no seu provedor de serviço de e-mail, use a abordagem de runtime.

Pré-requisitos#

Toda tradução passa por um engine de localização — a configuração que define qual modelo de LLM, glossário, voz da marca e instruções serão aplicados. Crie um no dashboard do Lingo.dev e gere uma chave de API.

Localização em build-time#

A CLI traduz diretamente os arquivos de template de e-mail. Configure um bucket compatível com o formato do seu template, execute a CLI e obtenha arquivos de template por idioma ao lado dos templates de origem.

Os templates react-email são componentes React que renderizam em HTML. Extraia as strings traduzíveis para arquivos de recurso JSON usando uma biblioteca de i18n como react-i18next e, depois, traduza os arquivos JSON com a CLI.

json
{
  "$schema": "https://lingo.dev/schema/i18n.json",
  "version": "1.15",
  "locale": {
    "source": "en",
    "targets": ["es", "fr", "de", "ja"]
  },
  "buckets": {
    "json": {
      "include": ["emails/locales/[locale].json"]
    }
  }
}

Na hora da renderização, passe o idioma para o componente de e-mail e carregue o arquivo JSON correspondente. A função react-email render() gera HTML específico por idioma, pronto para envio.

Execute as traduções com:

bash
npx lingo.dev@latest run

Localização em runtime#

Quando o conteúdo do e-mail é dinâmico — como notificações personalizadas, resumos de conteúdo gerado por usuários ou texto de marketing armazenado em um CMS — traduza tudo em tempo de execução antes do envio. Isso segue o padrão descrito no guia da API de Tradução.

javascript
async function sendLocalizedEmail(userId, templateId, content) {
  const user = await db.users.findById(userId);

  const response = await fetch("https://api.lingo.dev/process/localize", {
    method: "POST",
    headers: {
      "X-API-Key": process.env.LINGODOTDEV_API_KEY,
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      engineId: "eng_abc123",
      sourceLocale: "en",
      targetLocale: user.locale,
      data: {
        subject: content.subject,
        preheader: content.preheader,
        body: content.body,
      },
    }),
  });

  const { data } = await response.json();

  await emailProvider.send({
    to: user.email,
    subject: data.subject,
    html: renderTemplate(templateId, data),
  });
}

Boas práticas#

ÁreaRecomendação
AssuntoMantenha abaixo de 50 caracteres. Use um glossário para evitar a tradução de nomes de marca.
Texto de préviaTraduza separadamente do corpo do e-mail — os clientes de e-mail exibem esse texto de forma independente.
Voz da marcaConfigure o tom por idioma no engine de localização. E-mails de marketing em japonês exigem um registro diferente dos em alemão.
Idiomas RTLTeste a saída renderizada em clientes de e-mail para árabe, hebraico e persa. O tratamento de HTML dir="rtl" varia entre clientes.
Bloqueio de chavesUse chaves bloqueadas para URLs, nomes de produtos e identificadores legais que não devem ser traduzidos.

Próximos passos#

API de Tradução
Guia completo para localização em runtime via API
Vozes da marca
Defina tom e formalidade por idioma de destino
Glossários
Controle quais termos são traduzidos e quais permanecem como estão
Workflows de CI/CD
Automatize a tradução de templates de e-mail a cada push

Esta página foi útil?

Max PrilutskiyMax Prilutskiy·Atualizado há 4 meses·4 min de leitura