querySourceFile
Référence de l’API pour la méthode querySourceFile, qui permet d’obtenir des informations sur le fichier source et les traductions
Présentation
La méthode querySourceFile récupère des informations détaillées sur un fichier source et toutes ses traductions associées.
Cela inclut les métadonnées du fichier, l’état des traductions pour toutes les locales, ainsi que les dates/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 en ${result.translations.length} locales`);Références
Paramètres
| Name | Type | Description |
|---|---|---|
data | FileQuery | Objet de requête de fichier indiquant le fichier à récupérer |
options? | CheckFileTranslationsOptions | Configuration facultative de la requête |
FileQuery
| Nom | Type | Description |
|---|---|---|
fileId | string | Identifiant unique du fichier à consulter |
versionId? | string | ID de version facultatif pour cette version précise du fichier |
CheckFileTranslationsOptions
| Nom | Type | Description |
|---|---|---|
timeout? | number | Délai d’attente de la requête, en millisecondes |
Renvoie
Promise<FileQueryResult> — Contient les informations sur le fichier source et l’état de la 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 création du fichier |
updatedAt | string | Horodatage ISO de la dernière mise à jour |
approvalRequiredAt | string | null | Horodatage ISO du moment où l’approbation a été demandée |
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éé le : ${new Date(result.sourceFile.createdAt).toLocaleString()}`);
console.log(`Mis à jour le : ${new Date(result.sourceFile.updatedAt).toLocaleString()}`);
console.log('\n=== Statut de la traduction ===');
result.translations.forEach(translation => {
console.log(`${translation.locale}:`);
console.log(` Créé le : ${translation.createdAt ? new Date(translation.createdAt).toLocaleString() : 'Non démarré'}`);
console.log(` Terminé le : ${translation.completedAt ? new Date(translation.completedAt).toLocaleString() : 'En cours'}`);
console.log(` Publié le : ${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 la progression et les workflows de gestion de fichiers
Prochaines étapes
- Voir
checkFileTranslationspour vérifier rapidement l’état de traductions spécifiques - Voir
downloadTranslatedFilepour télécharger les traductions terminées - Voir
enqueueFilespour lancer des tâches de traduction pour des files - Voir
getProjectDatapour obtenir des informations au niveau du projet
Comment trouvez-vous ce guide ?