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 rendimiento superior al de 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ámetro | Descripción |
|---|---|
sources | Matriz de objetos Entry que contienen el contenido de origen y metadatos opcionales por elemento |
globalMetadata | Metadatos globales aplicados a todas las entradas, incluido el targetLocale obligatorio |
Estructura del objeto Entry
Cada elemento del arreglo sources puede contener:
interface Entry {
source: Content; // El contenido que se traducirá
targetLocale?: string; // Sobrescribir el locale de destino global
context?: string; // Contexto de traducción para esta entrada
tags?: string[]; // Etiquetas para la categorización
// ... otras propiedades de EntryMetadata
}Valores de retorno
Promesa<TranslateManyResult>El resultado incluye entradas traducidas y cualquier información sobre errores:
interface TranslateManyResult {
translations: Array<ResultadoDeTraducción | TranslationError>;
metadata: {
totalRequests: number;
successCount: number;
errorCount: number;
processingTime: number;
};
}Comportamiento
Metadatos globales vs por elemento
- Los metadatos globales se aplican a todas las Entry como valores predeterminados
- Los metadatos por elemento reemplazan la configuración global para Entry específicas
- El locale de destino se puede especificar por Entry
Estrategia de manejo de errores
- Los fallos de traducción individuales no detienen el lote completo
- Cada resultado indica de forma independiente si fue exitoso o fallido
- Los escenarios de éxito parcial están totalmente admitidos
Resolución de locales
- El locale de destino global se usa como valor predeterminado para todas las Entry
- Los locales de destino por Entry reemplazan 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(`Error en el elemento ${index}: ${result.error}`);
}
});Notas
- Traduce varios elementos en una única solicitud a la API
- Los errores de traducción en una entrada no afectan a las demás
- Los resultados mantienen el mismo orden que las entradas de origen
- Los metadatos globales se combinan con los metadatos por entrada (estos últimos tienen prioridad)
Próximos pasos
- Aprende sobre traducciones individuales con translate
- Explora los tipos Entry y EntryMetadata
- Entiende la estructura de TranslateManyResult
¿Qué te parece esta guía?