|
Documentação
Marcar uma demonstraçãoPlataforma
PlataformaMCPCLIAPIWorkflows
Guias
Changelog

Localização

  • Visão geral
  • API de Tradução
  • Localização de aplicações web
  • Localização de Apps Mobile
  • iOS com String Catalogs
  • Android com strings.xml
  • Localização de emails
  • Conteúdo Estático (ex.: .md, .json)
  • Next.js com Markdoc
  • Rails com i18n

Workflows

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

Localização de emails

A CLI e a API de localização do Lingo.dev suportam dois modelos para a localização de emails: traduzir ficheiros de template no momento do build para publicar templates por idioma, ou traduzir conteúdo em runtime antes do envio. Em ambos os casos, tudo passa por um motor de localização configurado, com regras de glossário, voz da marca e seleção de modelo aplicadas automaticamente.

Escolha a abordagem certa#

AbordagemMais indicado paraComo funciona
Build-time (CLI)Ficheiros de template — react-email, MJML, HTMLTraduza os ficheiros no seu repositório e faça deploy de templates por idioma
Runtime (API)Conteúdo dinâmico, templates processados pelo ESPChame a API de localização antes do envio e passe o conteúdo traduzido ao seu fornecedor de email

Que abordagem deve escolher?

Se os seus templates de email estiverem no repositório sob a forma de ficheiros (HTML, MJML ou componentes React), use a abordagem de build-time. Se o conteúdo do email for gerado dinamicamente ou estiver armazenado no seu fornecedor de serviços de email, use a abordagem de runtime.

Pré-requisitos#

Cada tradução passa por um motor de localização — a configuração que determina que modelo LLM, glossário, voz da marca e instruções sã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 ficheiros de template de email. Configure um bucket compatível com o formato do seu template, execute a CLI e obtenha ficheiros de template por idioma ao lado dos templates de origem.

Os templates react-email são componentes React que geram HTML. Extraia as strings traduzíveis para ficheiros de recursos JSON com uma biblioteca de i18n como react-i18next e, depois, traduza os ficheiros 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"]
    }
  }
}

No momento da renderização, passe o idioma ao seu componente de email e carregue o ficheiro JSON correspondente. A função react-email render() gera HTML específico para cada idioma, pronto a enviar.

Execute as traduções com:

bash
npx lingo.dev@latest run

Localização em runtime#

Quando o conteúdo do email é dinâmico — notificações personalizadas, resumos de conteúdo gerado pelo utilizador ou copy de marketing armazenada num CMS — traduza-o em runtime antes do envio. Isto 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
AssuntosMantenha-os abaixo dos 50 caracteres. Use um glossário para evitar a tradução de nomes de marca.
Texto de pré-visualizaçãoTraduza-o separadamente do corpo — os clientes de email apresentam-no de forma independente.
Voz da marcaConfigure o tom por idioma no motor de localização. Emails de marketing em japonês exigem um registo diferente dos emails em alemão.
Idiomas RTLTeste o resultado renderizado em clientes de email para árabe, hebraico e persa. O tratamento de HTML dir="rtl" varia de cliente para cliente.
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 através da API
Vozes da marca
Defina o tom e a formalidade para cada idioma de destino
Glossários
Controle que termos são traduzidos e quais devem permanecer inalterados
Workflows de CI/CD
Automatize a tradução de templates de email a cada push

Esta página foi útil?

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