|
Документация
Заказать демоПлатформа
ПлатформаMCPCLIAPIПроцессы
Руководства
Журнал изменений

Локализация

  • Обзор
  • API локализации
  • Локализация веб-приложений
  • Локализация мобильных приложений
  • iOS и String Catalogs
  • Android и strings.xml
  • Локализация email-писем
  • Статический контент, например .md и .json
  • Next.js с Markdoc
  • Rails с i18n

Процессы

  • Настройка движка с MCP
  • Jira Triage
  • CI/CD

Локализация email-писем

CLI и API локализации Lingo.dev поддерживают два сценария локализации email-писем: перевод файлов шаблонов на этапе сборки с выпуском отдельных шаблонов для каждой локали или перевод контента во время выполнения перед отправкой. В обоих случаях используется настроенный движок локализации, который автоматически применяет правила глоссария, тональность бренда и выбранную модель.

Выберите подход#

ПодходОптимально дляКак это работает
На этапе сборки (CLI)Файлов шаблонов: react-email, MJML, HTMLПереводите файлы в репозитории и развёртывайте отдельные шаблоны для каждой локали
Во время выполнения (API)Динамического контента, шаблонов с рендерингом на стороне ESPВызывайте API локализации перед отправкой и передавайте переведённый контент вашему почтовому провайдеру

Какой подход выбрать?

Если шаблоны писем хранятся в репозитории как файлы (HTML, MJML или React-компоненты), используйте локализацию на этапе сборки. Если контент писем генерируется динамически или хранится у вашего провайдера email-рассылок, выбирайте локализацию во время выполнения.

Что понадобится#

Каждый перевод проходит через движок локализации — конфигурацию, которая определяет, какие модель LLM, глоссарий, тональность бренда и инструкции будут применяться. Создайте его в панели Lingo.dev и сгенерируйте API key.

Локализация на этапе сборки#

CLI переводит файлы шаблонов писем напрямую. Настройте бакет под формат ваших шаблонов, запустите CLI и получите файлы шаблонов для каждой локали рядом с исходными шаблонами.

Шаблоны react-email — это React-компоненты, которые рендерятся в HTML. Вынесите переводимые строки в JSON-файлы ресурсов с помощью i18n-библиотеки, например react-i18next, а затем переведите эти JSON-файлы через 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"]
    }
  }
}

Во время рендеринга передайте локаль в компонент письма и загрузите соответствующий JSON-файл. Функция react-email render() создаст HTML для нужной локали, готовый к отправке.

Запустите перевод командой:

bash
npx lingo.dev@latest run

Локализация во время выполнения#

Если контент писем динамический — персонализированные уведомления, сводки пользовательского контента или маркетинговые тексты из CMS, — переводите его во время выполнения перед отправкой. Этот сценарий основан на подходе, описанном в руководстве по 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),
  });
}

Рекомендации#

ОбластьРекомендация
Темы писемНе превышайте 50 символов. Используйте глоссарий, чтобы названия брендов не переводились.
Превью-текстПереводите отдельно от основного текста — почтовые клиенты показывают его независимо.
Тональность брендаНастройте тон для каждой локали в движке локализации. Маркетинговым письмам на японском нужен иной регистр, чем на немецком.
RTL-языкиПроверяйте итоговое отображение в почтовых клиентах для арабского, иврита и персидского. Обработка HTML dir="rtl" отличается от клиента к клиенту.
Блокировка ключейИспользуйте locked keys для URL, названий продуктов и юридических идентификаторов, которые не должны переводиться.

Что дальше#

API перевода
Подробное руководство по локализации во время выполнения через API
Тональность бренда
Настройте тон и формальность для каждой целевой локали
Глоссарии
Управляйте тем, какие термины переводятся, а какие остаются без изменений
Рабочие процессы CI/CD
Автоматизируйте перевод шаблонов писем при каждом push

Эта страница была полезной?

Max PrilutskiyMax Prilutskiy·Обновлено 4 месяца назад·3 минуты чтения