GT ClassMethodsTranslation

querySourceFile

Référence de l’API pour la méthode querySourceFile permettant d’obtenir des informations sur le fichier source et les traductions

Vue d’ensemble

La méthode querySourceFile récupère des informations détaillées sur un fichier source et l’ensemble de ses traductions associées. Cela inclut les métadonnées du fichier, l’état des traductions pour toutes les locales, ainsi que les horodatages de création, d’achèvement, d’approbation et de publication.

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

const result = await gt.querySourceFile({
  fileId: 'file-123',
  versionId: 'version-456'
});

console.log(`Fichier source : ${result.sourceFile.fileName}`);
console.log(`Disponible dans ${result.translations.length} locales`);

Références

Paramètres

NomTypeDescription
dataFileQueryObjet de requête de fichier indiquant quel fichier récupérer
options?CheckFileTranslationsOptionsConfiguration facultative de la requête

FileQuery

NomTypeDescription
fileIdstringIdentifiant unique du fichier à interroger
versionId?stringIdentifiant de version facultatif pour la version spécifique du fichier

CheckFileTranslationsOptions

NomTypeDescription
timeout?numberDélai d’attente de la requête en millisecondes

Renvoie

Promise<FileQueryResult> - Contient les informations du fichier source et l’état de traduction pour toutes les locales.

type FileQueryResult = {
  sourceFile: {
    id: string;
    fileId: string;
    versionId: string;
    sourceLocale: string;
    fileName: string;
    fileFormat: string;
    dataFormat: string | null;
    createdAt: string;
    updatedAt: string;
    approvalRequiredAt: string | null;
    locales: string[];
  };
  translations: {
    locale: string;
    completedAt: string | null;
    approvedAt: string | null;
    publishedAt: string | null;
    createdAt: string | null;
    updatedAt: string | null;
  }[];
}

Propriétés du fichier source

PropriétéTypeDescription
idstringID interne de la base de données
fileIdstringIdentifiant unique du fichier
versionIdstringIdentifiant de version
sourceLocalestringLocale de la langue source
fileNamestringNom de fichier d’origine
fileFormatstringFormat du fichier (JSON, MD, MDX, etc.)
dataFormatstring | nullFormat des données dans le fichier (ICU, I18NEXT, JSX)
createdAtstringHorodatage ISO de la création du fichier
updatedAtstringHorodatage ISO de la dernière mise à jour
approvalRequiredAtstring | nullHorodatage ISO de la demande d’approbation
localesstring[]Liste des locales cibles pour ce fichier

Propriétés de traduction

PropriétéTypeDescription
localestringCode de locale cible
completedAtstring | nullHorodatage ISO de l’achèvement de la traduction
approvedAtstring | nullHorodatage ISO de l’approbation de la traduction
publishedAtstring | nullHorodatage ISO de la publication de la traduction
createdAtstring | nullHorodatage ISO de la création de la tâche de traduction
updatedAtstring | nullHorodatage ISO de la dernière mise à jour de la traduction

Exemple

index.ts
import { GT } from 'generaltranslation';

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

async function getFileInfo(fileId: string, versionId?: string) {
  const result = await gt.querySourceFile({
    fileId,
    versionId
  });
  
  console.log('=== Informations du fichier source ===');
  console.log(`Nom : ${result.sourceFile.fileName}`);
  console.log(`Format : ${result.sourceFile.fileFormat}`);
  console.log(`Locale source : ${result.sourceFile.sourceLocale}`);
  console.log(`Créé : ${new Date(result.sourceFile.createdAt).toLocaleString()}`);
  console.log(`Mis à jour : ${new Date(result.sourceFile.updatedAt).toLocaleString()}`);
  
  console.log('\n=== Statut des traductions ===');
  result.translations.forEach(translation => {
    console.log(`${translation.locale}:`);
    console.log(`  Créé : ${translation.createdAt ? new Date(translation.createdAt).toLocaleString() : 'Non commencé'}`);
    console.log(`  Terminé : ${translation.completedAt ? new Date(translation.completedAt).toLocaleString() : 'En cours'}`);
    console.log(`  Publié : ${translation.publishedAt ? new Date(translation.publishedAt).toLocaleString() : 'Non publié'}`);
  });
  
  return result;
}

const fileInfo = await getFileInfo('file-123', 'version-456');

Notes

  • Renvoie le fichier source et l’état de traduction pour toutes les locales cibles
  • Les horodatages de traduction suivent le cycle de vie : createdAtcompletedAtapprovedAtpublishedAt
  • Des horodatages à null indiquent que cette étape n’a pas encore été atteinte
  • Le tableau locales dans le fichier source répertorie toutes les locales cibles configurées pour la traduction
  • Utilisez cette méthode pour des rapports détaillés, le suivi de l’avancement et les workflows de gestion de fichiers

Prochaines étapes

Que pensez-vous de ce guide ?

querySourceFile