GT ClassMethodsTranslation

translateMany

Referencia de API del método translateMany de GT para traducciones en lote

Descripción general

El método translateMany traduce de forma eficiente varios elementos de contenido en una sola solicitud a la API. Está optimizado para el procesamiento por lotes y ofrece un mejor rendimiento que realizar múltiples llamadas individuales a translate.

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

const result = await gt.translateMany([
  { source: '¡Hola, mundo!' },
  { source: 'Bienvenido a nuestra app' },
  { source: 'Haz clic aquí para continuar' }
], { targetLocale: 'es' });

Referencias

Parámetros

Prop

Type

Descripción de parámetros

ParámetroDescripción
sourcesMatriz de objetos Entry que contienen el contenido de origen y metadatos opcionales por elemento
globalMetadataMetadatos globales aplicados a todas las entradas, incluido el targetLocale requerido

Estructura del objeto Entry

Cada Entry en el array sources puede contener:

interface Entry {
  source: Content;           // Contenido que se va a traducir
  targetLocale?: string;     // Sobrescribir el target locale global
  context?: string;          // Contexto de traducción para esta Entry
  tags?: string[];          // Etiquetas para la categorización
  // ... otras propiedades de EntryMetadata
}

Valores de retorno

Promise<TranslateManyResult>

El resultado incluye las entradas traducidas y cualquier información de errores:

interface TranslateManyResult {
  translations: Array<TranslationResult | TranslationError>;
  metadata: {
    totalRequests: number;
    successCount: number;
    errorCount: number;
    processingTime: number;
  };
}

Comportamiento

Metadatos globales vs. por elemento

  • Los metadatos globales se aplican a todas las entradas como valores predeterminados
  • Los metadatos por elemento reemplazan la configuración global para entradas específicas
  • El locale de destino puede establecerse de forma independiente por entrada

Estrategia de gestión de errores

  • Los fallos de traducción individuales no detienen todo el lote
  • Cada resultado indica de forma independiente si fue exitoso o fallido
  • Se admiten escenarios de éxito parcial

Resolución de locales

  • El locale de destino global se usa como valor predeterminado para todas las entradas
  • Los locales de destino definidos por entrada sobrescriben la configuración global
  • Todos los locales se resuelven mediante un mapeo personalizado si está configurado

Ejemplos

const menuItems = await gt.translateMany([
  { source: 'Inicio' },
  { source: 'Acerca de' },
  { source: 'Productos' },
  { source: 'Contacto' }
], {
  targetLocale: 'fr',
  context: 'Elementos del menú de navegación'
});

menuItems.translations.forEach((result, index) => {
  if ('translation' in result) {
    console.log(`Elemento ${index}: ${result.translation}`);
  } else {
    console.error(`Elemento ${index} falló: ${result.error}`);
  }
});

Notas

  • Traduce varios elementos en una sola solicitud a la API
  • Los fallos de traducción en una Entry no afectan a las demás
  • Los resultados mantienen el mismo orden que las Entry de entrada
  • Los metadatos globales se combinan con los metadatos por Entry (los de cada Entry tienen prioridad)

Próximos pasos

¿Qué te ha parecido esta guía?

translateMany