# General Translation Platform: querySourceFile URL: https://generaltranslation.com/es/docs/platform/core/reference/gt-class-methods/translation/query-source-file.mdx --- title: querySourceFile description: Recupera los metadatos del archivo fuente y la información relacionada con las traducciones. Referencia de la API para querySourceFile. --- Recupera información completa sobre un archivo fuente y todas sus traducciones con General Translation. Esto incluye los metadatos del archivo, el estado de la traducción en cada configuración regional y las marcas de tiempo de creación, finalización, aprobación y publicación. ## Resumen general [#overview] Llama a `querySourceFile` con una consulta que identifique el archivo. Devuelve los metadatos del archivo fuente, además de una entrada de traducción para cada configuración regional. ```typescript 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(`Source file: ${result.sourceFile.fileName}`); console.log(`Available in ${result.translations.length} locales`); ``` Firma: ```typescript querySourceFile( data: FileQuery, options?: CheckFileTranslationsOptions ): Promise ``` *Nota: `querySourceFile` requiere un `apiKey` (o `devApiKey`) y un `projectId` en la instancia de GT.* ## Cómo funciona [#how-it-works] * **Estado completo de la traducción.** Devuelve el archivo fuente y el estado de la traducción para cada configuración regional de destino. * **Ciclo de vida de las marcas de tiempo.** Las marcas de tiempo de la traducción siguen el orden `createdAt` → `completedAt` → `approvedAt` → `publishedAt`. Una marca de tiempo con valor `null` significa que esa etapa aún no se ha alcanzado. * **Configuraciones regionales configuradas.** La lista `locales` del archivo fuente incluye todas las configuraciones regionales de destino configuradas para la traducción. ## Parámetros [#parameters] | Parámetro | Descripción | Tipo | Opcional | Predeterminado | | --------------------- | ----------------------------------------------------------------- | ------------------------------ | -------- | -------------- | | [`data`](#data) | Consulta de archivo que especifica qué archivo se debe recuperar. | `FileQuery` | No | — | | [`options`](#options) | Configuración de la solicitud. | `CheckFileTranslationsOptions` | Sí | — | ### `data` [#data] **Tipo** `FileQuery` · **Obligatorio** Identifica el archivo que se va a consultar: | Campo | Descripción | Tipo | Opcional | | ----------- | ------------------------------------------------------ | -------- | -------- | | `fileId` | Identificador único del archivo que se va a consultar. | `string` | No | | `versionId` | ID de la versión específica del archivo. | `string` | Sí | | `branchId` | ID de la rama específica. | `string` | Sí | ### `options` [#options] **Tipo** `CheckFileTranslationsOptions` · **Opcional** | Campo | Descripción | Tipo | Opcional | | --------- | ------------------------------------------------- | -------- | -------- | | `timeout` | Tiempo de espera de la solicitud en milisegundos. | `number` | Sí | ## Devuelve [#returns] **Tipo** `Promise` Se resuelve con un `FileQueryResult` que contiene la información del archivo fuente y el estado de la traducción para todas las configuraciones regionales: ```typescript type FileQueryResult = { sourceFile: { id: string; fileId: string; versionId: string; sourceLocale: string; fileName: string; fileFormat: string; dataFormat: string | null; createdAt: string; updatedAt: string; locales: string[]; }; translations: { locale: string; completedAt: string | null; approvedAt: string | null; publishedAt: string | null; createdAt: string | null; updatedAt: string | null; }[]; }; ``` Propiedades del archivo fuente: | Propiedad | Descripción | Tipo | | -------------- | ------------------------------------------------------------ | ---------------- | | `id` | ID interno de la base de datos. | `string` | | `fileId` | Identificador único del archivo. | `string` | | `versionId` | Identificador de la versión. | `string` | | `sourceLocale` | Configuración regional del idioma de origen. | `string` | | `fileName` | Nombre original del archivo. | `string` | | `fileFormat` | Formato del archivo (JSON, MD, MDX, entre otros). | `string` | | `dataFormat` | Formato de los datos dentro del archivo (ICU, I18NEXT, JSX). | `string \| null` | | `createdAt` | Marca de tiempo ISO de creación del archivo. | `string` | | `updatedAt` | Marca de tiempo ISO de la última actualización. | `string` | | `locales` | Lista de locales de destino de este archivo. | `string[]` | Propiedades de la traducción: | Propiedad | Descripción | Tipo | | ------------- | ---------------------------------------------------------------- | ---------------- | | `locale` | Código de configuración regional de destino. | `string` | | `completedAt` | Marca de tiempo ISO de finalización de la traducción. | `string \| null` | | `approvedAt` | Marca de tiempo ISO de aprobación de la traducción. | `string \| null` | | `publishedAt` | Marca de tiempo ISO de publicación de la traducción. | `string \| null` | | `createdAt` | Marca de tiempo ISO de creación del trabajo de traducción. | `string \| null` | | `updatedAt` | Marca de tiempo ISO de la última actualización de la traducción. | `string \| null` | ## Ejemplos [#examples] ```typescript title="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('=== Source File Info ==='); console.log(`Name: ${result.sourceFile.fileName}`); console.log(`Format: ${result.sourceFile.fileFormat}`); console.log(`Source Locale: ${result.sourceFile.sourceLocale}`); console.log(`Created: ${new Date(result.sourceFile.createdAt).toLocaleString()}`); console.log(`Updated: ${new Date(result.sourceFile.updatedAt).toLocaleString()}`); console.log('\n=== Translation Status ==='); result.translations.forEach((translation) => { console.log(`${translation.locale}:`); console.log( ` Created: ${translation.createdAt ? new Date(translation.createdAt).toLocaleString() : 'Not started'}` ); console.log( ` Completed: ${translation.completedAt ? new Date(translation.completedAt).toLocaleString() : 'In progress'}` ); console.log( ` Published: ${translation.publishedAt ? new Date(translation.publishedAt).toLocaleString() : 'Not published'}` ); }); return result; } const fileInfo = await getFileInfo('file-123', 'version-456'); ``` ## Notas [#notes] * Devuelve el archivo fuente y el estado de traducción de todas las configuraciones regionales de destino. * Las marcas de tiempo de la traducción siguen el ciclo de vida `createdAt` → `completedAt` → `approvedAt` → `publishedAt`; los valores `null` indican una etapa a la que todavía no se ha llegado. * El array `locales` del archivo fuente muestra todas las configuraciones regionales de destino configuradas para la traducción. * Usa este método para generar informes detallados, hacer seguimiento del progreso y gestionar archivos en distintos flujos de trabajo.