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‑запросе
- Сбой перевода в одной записи не влияет на остальные
- Результаты сохраняют тот же порядок, что и во входных данных
- Глобальные метаданные объединяются с метаданными отдельных записей (метаданные записей имеют приоритет)
Дальше
- Узнайте о переводе отдельных строк с помощью translate
- Изучите типы Entry и EntryMetadata
- Разберитесь в структуре TranslateManyResult
Насколько полезно это руководство?