enqueueFiles
Référence de l’API pour la méthode enqueueFiles, qui met en file d’attente des tâches de traduction de files
Vue d’ensemble
La méthode enqueueFiles place en file d’attente des tâches de traduction pour des fichiers précédemment téléversés via la General Translation API.
Cette méthode prend des références de fichiers et crée des tâches de traduction pour les locales cibles spécifiées.
const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key' });
const result = await gt.enqueueFiles(fileRefs, {
sourceLocale: 'en',
targetLocales: ['es', 'fr', 'de']
});Vous ne pouvez mettre des fichiers en file d’attente pour traduction qu’après leur téléversement.
Références
Paramètres
| Nom | Type | Description |
|---|---|---|
files | FileUploadRef[] | Tableau de références de fichiers provenant de fichiers précédemment téléversés |
options | EnqueueOptions | Options de configuration pour la tâche de traduction |
EnqueueOptions
| Nom | Type | Description |
|---|---|---|
sourceLocale? | string | Locale source pour la traduction (par défaut : l’instance sourceLocale) |
targetLocales? | string[] | Tableau de locales cibles pour la traduction (par défaut : l’instance targetLocale) |
publish? | boolean | Publier automatiquement les traductions une fois terminées |
requireApproval? | boolean | Exiger une approbation des traductions avant leur publication |
modelProvider? | string | Fournisseur de modèle d’IA à utiliser pour la traduction |
force? | boolean | Forcer la retraduction même si des traductions existent déjà |
timeout? | number | Délai d’attente de la requête, en millisecondes |
Renvoie
Promise<EnqueueFilesResult> - Contient des informations sur le job et des détails de traitement.
type EnqueueFilesResult = {
translations: CompletedFileTranslationData[];
data: Record<string, { fileName: string; versionId: string }>;
locales: string[];
message: string;
}| Propriété | Type | Description |
|---|---|---|
translations | CompletedFileTranslationData[] | Tableau des données de tâches de traduction |
data | Record<string, { fileName: string; versionId: string }> | Association des identifiants de fichier à leurs métadonnées |
locales | string[] | Liste des locales cibles pour les tâches de traduction |
message | string | Message d’état renvoyé par l’API |
Exemple
// (1) Créer une instance GT
const targetLocales = ['es', 'fr', 'de'];
const gt = new GT({
projectId: 'your-project-id',
apiKey: 'your-api-key',
});
// (2) Téléverser le fichier
const fileUpload = {
content: fileContents,
fileName: filePath,
fileFormat: 'JSON',
locale: 'en',
};
const files = [ { source: fileUpload } ];
const { uploadedFiles } = await gt.uploadSourceFiles(
files,
{ sourceLocale: 'en' }
);
// (3) Mettre en file d'attente le job de traduction du fichier
const enqueueResult = await gt.enqueueFiles(
uploadedFiles,
{
sourceLocale: 'en',
targetLocales: targetLocales,
});
// (4) Attendre la fin de toutes les traductions
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) Télécharger le fichier
const result = await gt.downloadFileBatch(translationIds);Remarques
- Le contenu des files doit d’abord être téléversé à l’aide de
uploadSourceFiles - Les tâches de traduction sont asynchrones ; utilisez
checkFileTranslationspour en suivre l’avancement
Prochaines étapes
- Voir
uploadSourceFilespour envoyer des files avant l’ajout à la file d’attente - Voir
checkFileTranslationspour suivre la progression de la traduction - Voir
downloadTranslatedFilepour récupérer les traductions terminées
Comment trouvez-vous ce guide ?