enqueueFiles
Referencia de API del método enqueueFiles para encolar trabajos de traducción de files
Descripción general
El método enqueueFiles pone en cola trabajos de traducción para files previamente cargados en la General Translation API.
Este método toma referencias de files y crea trabajos de traducción para las locales de destino especificadas.
const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' });
const result = await gt.enqueueFiles(fileRefs, {
sourceLocale: 'en',
targetLocales: ['es', 'fr', 'de']
});Solo puedes poner en cola files para traducción después de haberlas subido.
Referencias
Parámetros
| Name | Type | Descripción |
|---|---|---|
files | FileUploadRef[] | Arreglo de referencias a files cargados previamente |
options | EnqueueOptions | options de configuración para el trabajo de traducción |
EnqueueOptions
| Nombre | Tipo | Descripción |
|---|---|---|
sourceLocale? | string | Locale de origen para la traducción (por defecto: el sourceLocale de la instancia) |
targetLocales? | string[] | Matriz de locales de destino para la traducción (por defecto: el targetLocales de la instancia) |
publish? | boolean | Si publicar automáticamente las traducciones al completarse |
requireApproval? | boolean | Si las traducciones requieren aprobación antes de publicarse |
modelProvider? | string | Proveedor de modelo de IA específico a usar para la traducción |
force? | boolean | Forzar la retraducción aunque ya existan traducciones |
timeout? | number | Tiempo de espera de la solicitud en milisegundos |
Devuelve
Promise<EnqueueFilesResult> - Contiene información de la tarea y detalles del procesamiento.
type EnqueueFilesResult = {
translations: CompletedFileTranslationData[];
data: Record<string, { fileName: string; versionId: string }>;
locales: string[];
message: string;
}| Propiedad | Tipo | Descripción |
|---|---|---|
translations | CompletedFileTranslationData[] | Matriz de datos de trabajos de traducción |
data | Record<string, { fileName: string; versionId: string }> | Mapa de identificadores de archivo a metadatos de archivo |
locales | string[] | Lista de locales de destino para los trabajos de traducción |
message | string | Mensaje de estado de la API |
Ejemplo
// (1) Crear una instancia de GT
const targetLocales = ['es', 'fr', 'de'];
const gt = new GT({
projectId: 'your-project-id',
apiKey: 'your-api-key',
});
// (2) Cargar el archivo
const fileUpload = {
content: fileContents,
fileName: filePath,
fileFormat: 'JSON',
locale: 'en',
};
const files = [ { source: fileUpload } ];
const { uploadedFiles } = await gt.uploadSourceFiles(
files,
{ sourceLocale: 'en' }
);
// (3) Encolar el trabajo de traducción del archivo
const enqueueResult = await gt.enqueueFiles(
uploadedFiles,
{
sourceLocale: 'en',
targetLocales: targetLocales,
});
// (4) Esperar a que se completen todas las traducciones
let translationIds = [];
const statusQuery = Object.values(enqueueResult.data).flatMap(({fileName, versionId}) => {
return targetLocales.map((locale) => ({locale, fileName, versionId}));
});
while (true) {
const status = await gt.checkFileTranslations(statusQuery);
if (status.translations.length === statusQuery.length) {
translationIds = status.translations.map(translation => translation.id);
break;
}
await new Promise(resolve => setTimeout(resolve, 1000));
}
// (5) Descargar el archivo
const result = await gt.downloadFileBatch(translationIds);Notas
- Primero debes cargar el contenido de los files usando
uploadSourceFiles. - Los trabajos de traducción son asíncronos; usa
checkFileTranslationspara supervisar el progreso.
Próximos pasos
- Consulta
uploadSourceFilespara subir files antes de agregarlos a la cola - Consulta
checkFileTranslationspara supervisar el progreso de la traducción - Consulta
downloadTranslatedFilepara descargar las traducciones finalizadas
¿Qué te parece esta guía?