Навіщо він існує
Платформі потрібна багатомовна подача контенту без дублювання або розгалуження базової моделі контенту. Підтримка перекладу створює мовні варіанти на рівні документів, пов’язані з їхніми вихідними документами, зберігаючи первинну схему та структуру вмісту.
Використовуйте це, коли
- перекладаєте один або кілька компонентів кількома мовами
- відстежуєте прогрес масового завдання перекладу
- повторюєте невдалі переклади
- вручну виправляєте машинні переклади
- читаєте перекладений контент у додатку документації або вебсайту
- створюєте мовні представлення документів у CMS
Що входить
- масовий вибір компонентів і мов у CMS
- асинхронні завдання перекладу з відстеженням прогресу
- переклад документів на базі TensorZero
- автоматичне пропускання перекладів, які вже актуальні
- дедуплікація однакових активних завдань перекладу
- відновлення прогресу активного завдання після навігації в CMS
- елементи керування повторним запуском для невдалих перекладів
- сталі налаштування цільової мови
- ручне виправлення перекладу через кінцеву точку patch
- мовно-орієнтоване отримання документів
- хеші джерела для виявлення застарілих перекладів
- колонки та індекси бази даних із підтримкою перекладів
Основний робочий процес
- Відкрийте сторінку «Компоненти» та виберіть Надіслати на переклад.
- Виберіть один або кілька компонентів і цільові мови.
- Перегляньте приблизну кількість перекладів і поставте пакет у чергу.
- Менеджер перекладів завантажує опубліковані вихідні документи та пропускає переклади, хеш джерела яких уже актуальний.
- Решта перекладів обробляється асинхронно через TensorZero.
- Відстежуйте переклади в черзі, завершені, пропущені та невдалі в CMS.
- Повторно запускайте невдалі переклади за потреби.
- Вручну коригуйте перекладений контент, коли машинно згенерований результат потребує правок.
- Читайте перекладені варіанти через схеми та API документів із підтримкою мов.
Завдання перекладу
Надсилання пакета створює завдання перекладу. Завдання фіксує:
- вибрані компоненти та мови
- оброблені вихідні документи
- заплановані переклади
- переклади, пропущені через те, що вони вже актуальні
- завершені переклади
- невдалі переклади
- поточний стан завдання
Надсилання того самого вибору, поки еквівалентне завдання активне, відновлює з’єднання з наявним завданням замість створення дубліката роботи.
CMS локально зберігає ідентифікатор активного завдання, щоб прогрес можна було відновити після навігації. Стан завдання перекладу наразі тримається в пам’яті менеджера перекладів і очищується під час перезапуску сервісу. Розгорніть сервіс як один екземпляр або використовуйте липке маршрутизування, щоб запити на надсилання завдань і отримання статусу потрапляли до одного процесу.
Виявлення застарілих перекладів
Кожен перекладений документ зберігає хеш опублікованого вмісту вихідного документа на момент перекладу.
Коли надсилається інший пакет перекладу:
- збіг хешів означає, що переклад актуальний і його можна пропустити
- різні хеші означають, що джерело змінилося й переклад слід відтворити заново
Це робить масовий переклад безпечним для повторного запуску без повторного перекладу незмінного контенту.
Кінцеві точки API
POST /translation — поставити в чергу переклади для одного або кількох компонентівGET /translation-jobs/{job_id} — переглянути статус і прогрес завдання перекладуPATCH /translations — вручну виправити перекладений контент
Системні інтерфейси
- діалогове вікно масового перекладу в CMS
- елементи керування статусом і відновленням завдань перекладу в CMS
- API менеджера перекладів і фонові виконавці
- інтеграція перекладу з TensorZero
- мовні представлення документів у CMS
- завантаження контенту з урахуванням мови в додатку документації
- збереження перекладів і відстеження хешів джерела