|
Dokumentace
Rezervovat demoPlatforma
PlatformaMCPCLIAPIWorkflows
Návody
Changelog

Lokalizace

  • Přehled
  • Translation API
  • Lokalizace webových aplikací
  • Lokalizace mobilních aplikací
  • iOS se String Catalogs
  • Android a strings.xml
  • Lokalizace e-mailů
  • Statický obsah (např. .md, .json)
  • Next.js s Markdoc
  • Rails s i18n

Workflowy

  • Nastavení engine pomocí MCP
  • Jira Triage
  • CI/CD

Lokalizace e-mailů

Lingo.dev CLI a localization API podporují dva způsoby lokalizace e-mailů: překlad souborů šablon při buildu, abyste mohli nasadit šablony pro každý jazyk, nebo překlad obsahu za běhu před odesláním. Obojí prochází přes nakonfigurovaný lokalizační engine, který automaticky použije pravidla glosáře, hlas značky a výběr modelu.

Vyberte si přístup#

PřístupNejvhodnější proJak to funguje
Build-time (CLI)Soubory šablon – JSON řetězce pro React-emailPřeložte soubory v repozitáři a nasaďte šablony pro každý jazyk
Runtime (API)Dynamický obsah, šablony renderované v ESPPřed odesláním zavolejte localization API a předejte přeložený obsah svému e-mailovému providerovi

Který přístup zvolit?

Pokud máte překládatelný obsah e-mailů v repozitáři jako resource soubory, použijte přístup při buildu. Pokud se obsah e-mailů generuje dynamicky nebo je uložený u vašeho poskytovatele e-mailových služeb, použijte runtime přístup.

Co budete potřebovat#

Každý překlad prochází přes lokalizační engine — konfiguraci, která určuje, jaký model LLM, glosář, hlas značky a pravidla se použijí. Vytvořte si ho v dashboardu Lingo.dev a pak nainstalujte a autentizujte CLI:

bash
npm install -g @lingo.dev/cli
lingo login

CLI vyžaduje Node 22+. V CI nastavte LINGO_API_KEY místo spouštění lingo login.

Lokalizace při buildu#

CLI překládá obsah e-mailů z JSON resource souborů. Vyčleňte překládatelný text do JSON, namiřte na něj CLI a získejte soubory pro jednotlivé jazyky vedle zdrojových souborů.

Šablony react-email jsou React komponenty, které se renderují do HTML. Vyčleňte přeložitelné řetězce do JSON resource souborů pomocí i18n knihovny, například react-i18next, a pak přeložte JSON soubory pomocí CLI.

Spusťte lingo init pro vygenerování konfigurace a lingo link pro připojení organizace a engine. Výsledný soubor .lingo/config.json vypadá takto:

json
{
  "orgId": "org_abc123",
  "engineId": "eng_abc123",
  "sourceLocale": "en",
  "targetLocales": ["es", "fr", "de", "ja"],
  "files": [{ "pattern": "emails/locales/en.json" }]
}

Jazyk je součástí cesty: CLI nahradí zdrojový jazyk ve vzoru každým cílovým jazykem, takže emails/locales/en.json vytvoří emails/locales/es.json, emails/locales/fr.json a další. Soubor .lingo/config.json commitněte do repozitáře.

Při prvním spuštění přeložte všechny jazyky, při dalších pak překládejte jen to, co se změnilo:

bash
lingo push --backfill-missing   # first run / new locale
lingo push                      # delta on later runs

Při renderování předejte jazyk své e-mailové komponentě a načtěte odpovídající JSON soubor. Funkce react-email render() pak vytvoří HTML pro daný jazyk připravené k odeslání.

Kdykoli si chcete stáhnout výsledky z posledního push běhu, použijte lingo pull. Pokud chcete ověřit, že jsou překlady aktuální, aniž by se zapisovaly změny (například v CI), použijte lingo check.

Lokalizace za běhu#

Když je obsah e-mailů dynamický – personalizované notifikace, souhrny obsahu vytvořeného uživateli nebo marketingové texty uložené v CMS – přeložte ho za běhu před odesláním. Tento přístup vychází ze vzoru popsaného v průvodci Translation API.

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),
  });
}

Osvědčené postupy#

OblastDoporučení
Předměty e-mailůDržte se pod 50 znaky. Pomocí glosáře uzamkněte názvy značek, aby se nepřekládaly.
Preview textPřekládejte ho odděleně od těla e-mailu – e-mailoví klienti ho zobrazují samostatně.
Hlas značkyNastavte tone pro každý jazyk v lokalizačním engine. Marketingové e-maily v japonštině vyžadují jiný rejstřík než v němčině.
RTL jazykyOtestujte vyrenderovaný výstup v e-mailových klientech pro arabštinu, hebrejštinu a perštinu. Zpracování HTML dir="rtl" se napříč klienty liší.
Uzamykání klíčůPoužijte locked keys pro URL, názvy produktů a právní identifikátory, které by se neměly překládat.

Další kroky#

Translation API
Kompletní průvodce lokalizací za běhu přes API
Brand Voices
Nastavte tón a formálnost pro každý cílový jazyk
Glossaries
Mějte pod kontrolou, které termíny se překládají a které zůstávají beze změny
GitHub App
Automatizujte překlad e-mailových šablon při každém pull requestu

Byla tato stránka užitečná?

Max PrilutskiyMax Prilutskiy·Aktualizováno před 7 dny·4 min čtení