Inicio rápido
Guía de inicio rápido de la biblioteca generaltranslation
Descripción general
Esta guía te mostrará los fundamentos para usar la biblioteca generaltranslation. Veremos la traducción de cadenas y de archivos.
Traduce tu primera cadena
1. Obtén tus variables de entorno
El primer paso es crear un GT_PROJECT_ID y un GT_API_KEY.
Es completamente gratuito y te dará acceso a los servicios de traducción.
Ve a la página de API Keys y haz clic en Create API Key.
Elige un nombre para tu clave de API y haz clic en Create.

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 y pasa de forma segura tu GT_PROJECT_ID y GT_API_KEY.
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 para traducir tu cadena.
Pasa la cadena que quieres traducir y el locale de destino.
const { translation } = await gt.translate('Hello, world!', 'es'); // Spanish
console.log(translation); // "¡Hola, mundo!"Si quieres consultar un código de configuración regional (locale), revisa la página de locales compatibles.
Traduce tu primer archivo
Esta guía asume que ya seguiste los pasos 1 y 2 de la guía Traduce tu primera cadena
y que cuentas con un GT_PROJECT_ID, GT_API_KEY y una instancia de la clase GT.
Supongamos que quieres traducir un archivo llamado en.json al español.
{
  "hello": "Hola",
  "world": "Mundo"
}Para traducir un archivo, sigue estos cuatro pasos:
- Sube el archivo
- Pon el archivo en cola para traducción
- Consulta el estado del archivo (opcional)
- Descarga el archivo traducido.
¿Por qué no con una sola llamada?
Normalmente, las personas querrán traducir muchos archivos a la vez. Al dividirlo en cuatro pasos claros, se ofrece a los usuarios mucha más flexibilidad en cómo pueden usar la API.
1. Sube el archivo
La carga de archivos devuelve una lista de referencias mediante el método uploadSourceFiles.
Esto te permite después poner el archivo en cola para traducción, comprobar su estado y descargar la versión traducida.
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) Subir el archivo
const { uploadedFiles } = await gt.uploadSourceFiles(
  files,
  {
    sourceLocale: 'en'
  }
);Esto devolverá una lista de referencias de archivos:
[
  {
    fileId: '41726368696562616c64204d6342616c64792074686973206973206a6f6b652e',
    versionId: '427269616e204c6f75206d6f7265206c696b65204c696f6e2042726f20686121',
    fileName: '/Users/demo/en.json',
    fileFormat: 'JSON'
  }
]2. Pon en cola el archivo para traducción
El siguiente paso es seleccionar los locales de destino para la traducción con el método enqueueFiles.
En este caso, traduciremos al español.
const fileUploadRef = {
  fileId: uploadedFiles[0].fileId,
  versionId: uploadedFiles[0].versionId,
  fileName: uploadedFiles[0].fileName,
  fileFormat: uploadedFiles[0].fileFormat,
};
const enqueueResult = await gt.enqueueFiles(
  [fileUploadRef],
  {
  sourceLocale: 'en',
  targetLocales: ['es'],
});Esto devolverá una lista de referencias de archivos:
{
  translations: [],
  data: {
    '41726368696562616c64204d6342616c64792074686973206973206a6f6b652e': {
      fileName: '/Users/demo/en.json',
      versionId: '427269616e204c6f75206d6f7265206c696b65204c696f6e2042726f20686121'
    }
  },
  locales: [ 'es' ],
  message: 'Creando 1 traducción.'
}3. Comprobar el estado del archivo
Bien, ahora que el archivo se ha subido, ¿cómo sabemos cuándo está listo para descargar?
Podemos usar el método checkFileTranslations para comprobar el estado del archivo.
const status = await gt.checkFileTranslations([{
  versionId: uploadedFiles[0].versionId,
  fileName: uploadedFiles[0].fileName,
  locale: 'es'
}]);Si el archivo aún se está traduciendo, no habrá traducciones correspondientes en la salida.
{
  translations: [
    {
      locale: 'es',
      metadata: {},
      fileId: '41726368696562616c64204d6342616c64792074686973206973206a6f6b652e',
      fileName: '/Users/demo/en.json',
      versionId: '427269616e204c6f75206d6f7265206c696b65204c696f6e2042726f20686121',
      id: 'skl44z0ieuvdcomw38zb5chv',
      isReady: true,
      downloadUrl: '/v2/project/translations/files/skl44z0ieuvdcomw38zb5chv/download'
    }
  ]
}4. Descarga el archivo traducido
Por último, podemos descargar el archivo traducido con el método downloadTranslatedFile.
const { translation } = await gt.downloadTranslatedFile({
  fileId: uploadedFiles[0].fileId,
  locale: 'es',
  versionId: uploadedFiles[0].versionId,
});Esto devolverá el contenido del archivo ya traducido:
{
  "hello": "Hola",
  "world": "Mundo"
}¿Qué te ha parecido esta guía?

