Translator

Переводит локализованный контент Payload CMS 3.x через подключаемые провайдеры перевода (OpenAI в комплекте).

Сообщество 26 1,3 тыс./нед MIT v0.16.0

Установка

pnpm add @focus-reactive/payload-plugin-translator

Описание

Плагин обходит все локализованные поля на любой глубине вложенности (groups, arrays, blocks, tabs, Lexical rich text), отправляет текст провайдеру перевода и записывает результат в целевую локаль. Встроенный провайдер OpenAI доступен из коробки, но архитектура провайдеров построена на интерфейсе `TranslationProvider`, так что можно подключить другие сервисы. Перевод доступен на трех уровнях, которые включаются опцией `levels`: попап на странице редактирования документа, массовый перевод в дашборде коллекции и индивидуальный контроль для отдельных полей через `withFieldTranslation`. По умолчанию включены уровни документа и коллекции. Полевой контроль подтягивает контент из выбранной исходной локали в текущую, пишет прямо в состояние формы с поддержкой undo и работает только с полями `text`, `textarea` и `richText` (для rich text происходит перемонтирование редактора Lexical). Выполнение перевода идет через настраиваемый runner: по умолчанию асинхронный Payload Jobs runner, либо синхронный. Опция `targetSelection` определяет, переводить одну локаль или несколько за раз. Стратегии позволяют перезаписывать существующий контент или пропускать локали, где перевод уже есть. Опциональная обертка `withAutoTranslate` автоматически ставит переводы в очередь при изменении контента в исходной локали: дебаунсит частые правки и игнорирует сохранения, где не изменилось ничего переводимого. Дополнительно: опциональная коллекция provenance, которая записывает исходное состояние для каждого перевода; серверные lifecycle-колбеки (`onQueued`, `onCompleted`, `onFailed`); access guard для эндпоинтов и настраиваемый `basePath` (по умолчанию `/translate`). Для работы плагина в конфиге Payload должна быть включена локализация. Для перевода отдельных полей нужен сохраненный документ. Поля внутри локализованных контейнеров `blocks` или `array` нельзя сопоставить по позиции, поэтому полевой контроль в этих случаях ничего не делает и выводит уведомление: переводите документ целиком. Автоперевод только ставит задачи в очередь, поэтому на serverless-платформах вроде Vercel нужен рабочий job runner или внешний cron.

О пакете

Имя пакета
@focus-reactive/payload-plugin-translator
Последняя версия
0.16.0
Размер
834 кБ
Лицензия
MIT
Загрузок в неделю
1,3 тыс.
Последняя публикация
12 окт. 2026 г.

Ещё от focusreactive

Профиль автора

Collaborative Comments

Добавляет комментарии на уровне документов и полей в админку Payload, с упоминаниями, email-уведомлениями, разрешением, мультитенантностью и фильтрацией по локали.

JSON Form Builder

Редактирует json-поле Payload как обычные админ-поля и строит форму в выдвижной панели без миграций.

A/B Testing

Плагин A/B тестирования для Payload CMS v3 и Next.js: варианты страниц в той же коллекции и маршрутизация трафика на edge-уровне.

Visual Editing

Плагин для Payload CMS 3.x добавляет на фронтенд оверлеи редактирования: клик по элементу открывает нужное поле в админке.

Create Ideal CMS

Интерактивный CLI для развёртывания монорепозитория Payload CMS с предустановленными плагинами @focus-reactive.

Netlify Deploy

Добавляет в Payload кнопку Publish, которая запускает сборку сайта на Netlify и публикует его прямо из админки.

Похожие плагины

Ещё в категории «ИИ»