GT ClassMethodsTranslation

translateMany

Справочник по API метода GT translateMany для пакетного перевода

Обзор

Метод translateMany эффективно переводит несколько элементов контента в одном запросе к API. Он оптимизирован для пакетной обработки и обеспечивает более высокую производительность, чем несколько отдельных вызовов translate.

const gt = new GT({
  apiKey: 'your-api-key',
  projectId: 'your-project-id'
});

const result = await gt.translateMany([
  { source: 'Привет, мир!' },
  { source: 'Добро пожаловать в наше приложение' },
  { source: 'Нажмите здесь, чтобы продолжить' }
], { targetLocale: 'es' });

Справочные материалы

Параметры

Prop

Type

Описание параметров

ПараметрОписание
sourcesМассив объектов Entry, содержащих исходный контент и необязательные метаданные для каждого элемента
globalMetadataГлобальные метаданные, применяемые ко всем элементам, включая обязательный targetLocale

Структура объекта Entry

Каждый элемент массива sources может содержать:

interface Entry {
  source: Content;           // Контент для перевода
  targetLocale?: string;     // Переопределяет глобальную целевую локаль
  context?: string;          // Контекст перевода для этой записи
  tags?: string[];          // Теги для категоризации
  // ... другие свойства EntryMetadata
}

Возврат

Promise<TranslateManyResult>

Результат включает переведённые записи и сведения об ошибках:

интерфейс TranslateManyResult {
  translations: Array<TranslationResult | TranslationError>;
  metadata: {
    totalRequests: number;
    successCount: number;
    errorCount: number;
    processingTime: number;
  };
}

Поведение

Глобальные и покомпонентные метаданные

  • Глобальные метаданные применяются ко всем записям по умолчанию
  • Покомпонентные метаданные переопределяют глобальные настройки для конкретных записей
  • Целевую локаль можно переопределять для каждой записи

Стратегия обработки ошибок

  • Отдельные сбои перевода не останавливают обработку всего пакета
  • Для каждого результата отдельно фиксируется успех или ошибка
  • Частичная успешная обработка полностью поддерживается

Разрешение локали

  • Глобальная целевая локаль используется по умолчанию для всех записей
  • Локали, заданные на уровне записи, переопределяют глобальную настройку
  • Все локали вычисляются по пользовательскому отображению, если оно настроено

Примеры

const menuItems = await gt.translateMany([
  { source: 'Главная' },
  { source: 'О компании' },
  { source: 'Продукты' },
  { source: 'Контакты' }
], {
  targetLocale: 'fr',
  context: 'Пункты меню навигации'
});

menuItems.translations.forEach((result, index) => {
  if ('translation' in result) {
    console.log(`Элемент ${index}: ${result.translation}`);
  } else {
    console.error(`Не удалось перевести элемент ${index}: ${result.error}`);
  }
});

Примечания

  • Перевод нескольких элементов в одном API‑запросе
  • Сбой перевода в одной записи не влияет на остальные
  • Результаты сохраняют тот же порядок, что и во входных данных
  • Глобальные метаданные объединяются с метаданными отдельных записей (метаданные записей имеют приоритет)

Дальше

Насколько полезно это руководство?

translateMany