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
| Nom | Type | Description | 
|---|---|---|
| data | FileQuery | Objet de requête de fichier indiquant quel fichier récupérer | 
| options? | CheckFileTranslationsOptions | Configuration facultative de la requête | 
FileQuery
| Nom | Type | Description | 
|---|---|---|
| fileId | string | Identifiant unique du fichier à interroger | 
| versionId? | string | Identifiant de version facultatif pour la version spécifique du fichier | 
CheckFileTranslationsOptions
| Nom | Type | Description | 
|---|---|---|
| timeout? | number | Dé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é | Type | Description | 
|---|---|---|
| id | string | ID interne de la base de données | 
| fileId | string | Identifiant unique du fichier | 
| versionId | string | Identifiant de version | 
| sourceLocale | string | Locale de la langue source | 
| fileName | string | Nom de fichier d’origine | 
| fileFormat | string | Format du fichier (JSON, MD, MDX, etc.) | 
| dataFormat | string | null | Format des données dans le fichier (ICU, I18NEXT, JSX) | 
| createdAt | string | Horodatage ISO de la création du fichier | 
| updatedAt | string | Horodatage ISO de la dernière mise à jour | 
| approvalRequiredAt | string | null | Horodatage ISO de la demande d’approbation | 
| locales | string[] | Liste des locales cibles pour ce fichier | 
Propriétés de traduction
| Propriété | Type | Description | 
|---|---|---|
| locale | string | Code de locale cible | 
| completedAt | string | null | Horodatage ISO de l’achèvement de la traduction | 
| approvedAt | string | null | Horodatage ISO de l’approbation de la traduction | 
| publishedAt | string | null | Horodatage ISO de la publication de la traduction | 
| createdAt | string | null | Horodatage ISO de la création de la tâche de traduction | 
| updatedAt | string | null | Horodatage ISO de la dernière mise à jour de la traduction | 
Exemple
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 : createdAt→completedAt→approvedAt→publishedAt
- Des horodatages à null indiquent que cette étape n’a pas encore été atteinte
- Le tableau localesdans 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
- Consultez checkFileTranslationspour vérifier rapidement l’état de traductions spécifiques
- Consultez downloadTranslatedFilepour télécharger les traductions terminées
- Consultez enqueueFilespour lancer des jobs de traduction pour des fichiers
- Consultez getProjectDatapour obtenir des informations au niveau du projet
Que pensez-vous de ce guide ?

