# generaltranslation: General Translation Core SDK: Inicio rápido URL: https://generaltranslation.com/es/docs/core/quickstart.mdx --- title: Inicio rápido description: Guía de inicio rápido para la biblioteca generaltranslation --- ## Descripción general Esta guía te mostrará los conceptos básicos de uso de la biblioteca generaltranslation. Veremos la traducción de cadenas y de archivos. *** ## Traduce tu primera cadena ### 1. Obtén tus variables de entorno Lo primero es crear un `GT_PROJECT_ID` y una `GT_API_KEY`. Es completamente gratis y te dará acceso a los servicios de traducción. Ve a la página de [`API Keys`](https://dash.generaltranslation.com/api-keys) y haz clic en `Create API Key`. Elige un nombre para tu clave de API y haz clic en `Create`. ![Página de la clave de API](https://assets.gtx.dev/core/quickstart/core-quickstart-1.png) General Translation ofrece límites gratuitos muy generosos para apoyar proyectos personales, desarrolladores independientes y a la comunidad. ### 2. Inicializa la clase GT Inicializa la clase [`GT`](/docs/core/class/constructor) y pasa de forma segura tu `GT_PROJECT_ID` y `GT_API_KEY`. ```typescript title="src/index.ts" import { GT } from 'generaltranslation'; const gt = new GT({ projectId: 'your-project-id', apiKey: 'your-api-key', }); ``` ### 3. Traduce tu primera cadena Llama al método [`translate`](/docs/core/class/methods/translation/translate) para traducir tu cadena. Pasa la cadena que quieres traducir y la configuración regional de destino. ```typescript title="src/index.ts" const result = await gt.translate('Hello, world!', 'es'); // Español if (result.success) { console.log(result.translation); // "¡Hola, mundo!" } else { console.error(`La traducción falló: ${result.error}`); } ``` Si quieres buscar un código de configuración regional, consulta la página de [configuraciones regionales admitidas](/docs/platform/supported-locales). *** ## Traduce tu primer archivo Esta guía asume que ya seguiste los pasos 1 y 2 de la guía [Traduce tu primera cadena](/docs/core/quickstart#translate-your-first-string) y que tienes un `GT_PROJECT_ID`, `GT_API_KEY` y una instancia de la clase `GT`. Supongamos que quieres traducir al español un archivo llamado `en.json`. ```json title="en.json" { "hello": "Hello", "world": "World" } ``` Para traducir un archivo, debes seguir estos cuatro pasos: 1. Carga el archivo 2. Añade el archivo a la cola de traducción 3. Consulta el estado del archivo (opcional) 4. Descarga el archivo traducido. #### ¿Por qué no hacer una sola llamada? Normalmente, querrás traducir muchos archivos a la vez. Dividir el proceso en cuatro pasos claros te da mucha más flexibilidad a la hora de usar la API. ### 1. Carga el archivo Al cargar archivos, se devuelve una lista de referencias de archivos con el método [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files). Esto te permite luego poner el archivo en cola para su traducción, consultar su estado y descargarlo traducido. ```typescript title="src/index.ts" import fs from 'fs'; import path from 'path'; import { FileUpload } from 'generaltranslation'; // (i) Leer el contenido de un archivo const filePath = path.join(process.cwd(), 'en.json'); const fileContents = fs.readFileSync(filePath, 'utf8'); // (ii) Formatear el contenido del archivo const fileUpload: FileUpload = { content: fileContents, fileName: filePath, fileFormat: 'JSON', locale: 'en', }; const files = [ { source: fileUpload } ]; // (iii) Cargar el archivo const { uploadedFiles } = await gt.uploadSourceFiles( files, { sourceLocale: 'en' } ); ``` Esto devolverá una lista de referencias a archivos: ```ts title="Output" [ { fileId: '41726368696562616c64204d6342616c64792074686973206973206a6f6b652e', versionId: '427269616e204c6f75206d6f7265206c696b65204c696f6e2042726f20686121', branchId: '123456789', fileName: '/Users/demo/en.json', fileFormat: 'JSON' } ] ``` ### 2. Encola el archivo para traducirlo El siguiente paso es seleccionar las configuraciones regionales de destino para la traducción mediante el método [`enqueueFiles`](/docs/core/class/methods/translation/enqueue-files). En este caso, traduciremos al español. ```typescript title="src/index.ts" const fileUploadRef = { fileId: uploadedFiles[0].fileId, versionId: uploadedFiles[0].versionId, branchId: uploadedFiles[0].branchId, fileName: uploadedFiles[0].fileName, fileFormat: uploadedFiles[0].fileFormat, }; const enqueueResult = await gt.enqueueFiles( [fileUploadRef], { sourceLocale: 'en', targetLocales: ['es'], }); ``` Esto devolverá un resultado con información sobre la tarea: ```ts title="Output" { jobId: 'job-123456', locales: [ 'es' ], message: 'Creating 1 translation(s).' } ``` ### 3. Comprueba el estado del archivo Bien, ahora que el archivo se ha cargado, ¿cuándo sabemos que está listo para descargar? Podemos usar el método [`queryFileData`](/docs/core/class/methods/translation/query-file-data) para comprobar el estado del archivo. ```typescript title="src/index.ts" const { fileId, versionId, branchId } = uploadedFiles[0]; const status = await gt.queryFileData({ translatedFiles: [{ fileId, versionId, branchId, locale: 'es' }] }); ``` Si el archivo aún se está traduciendo, `completedAt` será `null`. Cuando termine, contendrá una marca de tiempo. ```ts title="Output" { translatedFiles: [ { fileId: '41726368696562616c64204d6342616c64792074686973206973206a6f6b652e', versionId: '427269616e204c6f75206d6f7265206c696b65204c696f6e2042726f20686121', branchId: '123456789', locale: 'es', completedAt: '2024-01-15T12:00:00Z', ... } ] } ``` ### 4. Descarga el archivo traducido Por último, puedes descargar el archivo traducido con el método [`downloadFile`](/docs/core/class/methods/translation/download-file). ```typescript title="src/index.ts" const { fileId, branchId } = uploadedFiles[0]; const content = await gt.downloadFile({ fileId, branchId, locale: 'es', }); ``` Esto devolverá el contenido traducido del archivo: ```ts title="Output" { "hello": "Hola", "world": "Mundo" } ```