# generaltranslation: General Translation Core SDK: Descripción general
URL: https://generaltranslation.com/es/docs/core.mdx
---
title: Descripción general
description: Descripción general de la biblioteca generaltranslation
---
## Introducción
La biblioteca `generaltranslation` es la biblioteca principal de i18n de GT y contiene funciones utilitarias y clases para la traducción y el formato.
Suele usarse con paquetes de frameworks como `gt-next` y `gt-react`, pero también puede utilizarse como biblioteca autónoma.
import Video from '@/components/Video';
```typescript title="index.ts"
import { GT } from 'generaltranslation';
const gt = new GT({
apiKey: 'your-api-key',
projectId: 'your-project-id',
sourceLocale: 'en',
targetLocale: 'es',
});
// Traducir contenido
const result = await gt.translate('Hello, world!', 'es');
// "¡Hola, mundo!"
// Formatear números, fechas y monedas
const formattedPrice = gt.formatNum(29.99, { style: 'currency', currency: 'USD' });
const formattedDate = gt.formatDateTime(new Date());
// "$29.99"
// "9/25/2025"
// Trabajar con configuraciones regionales
const localeProps = gt.getLocaleProperties('fr-CA');
const isValid = gt.isValidLocale('de');
// { language: "fr", region: "CA", ... }
// true
```
***
## Instalación
```bash
npm install generaltranslation
```
```bash
yarn add generaltranslation
```
```bash
bun add generaltranslation
```
```bash
pnpm add generaltranslation
```
***
## Ejemplos
Hay dos tipos principales de traducción: traducción de cadenas y traducción de archivos.
### Setup
Para habilitar la traducción, debes proporcionar un ID del proyecto y una clave de API.
Consulta el método [`constructor`](/docs/core/class/constructor) para más información.
```typescript
const gt = new GT({
apiKey: 'your-api-key',
projectId: 'your-project-id',
targetLocale: 'es',
});
```
### Traducción de cadenas
Consulta el método [`translate`](/docs/core/class/methods/translation/translate) para más información.
```typescript
try {
const result = await gt.translate('Hello, world!');
console.log(result); // "¡Hola, mundo!"
} catch (error) {
console.error('La traducción falló:', error.message);
}
```
### Traducción de archivos
Los archivos se traducen mediante trabajos.
Puedes iniciar un trabajo al cargar un archivo.
Al cargar muchos archivos, se iniciarán muchos trabajos.
Consulta los métodos [`uploadSourceFiles`](/docs/core/class/methods/translation/upload-source-files)
y [`queryFileData`](/docs/core/class/methods/translation/query-file-data) para obtener más información.
```typescript
// Archivos para cargar
const files = [
{
source: {
fileName: 'src/components/Button.tsx',
fileFormat: 'TSX',
locale: 'en',
content: '...',
},
},
];
// Cargar archivos fuente
await gt.uploadSourceFiles(files);
```
***
## Índice
### Clase GT
Clase principal para las funciones de traducción y configuración regional:
* **[Constructor](/docs/core/class/constructor)** - Inicializa una instancia de GT con la configuración
* **[setConfig](/docs/core/class/set-config)** - Actualiza la configuración de la instancia de GT
#### Métodos de traducción
* **[translate](/docs/core/class/methods/translation/translate)** - Funcionalidad principal de traducción
* **[translateMany](/docs/core/class/methods/translation/translate-many)** - Traducción por lotes
* **[setupProject](/docs/core/class/methods/translation/setup-project)** - Inicialización del proyecto
* **[checkJobStatus](/docs/core/class/methods/translation/check-job-status)** - Comprobación del progreso del trabajo
* **[getProjectData](/docs/core/class/methods/translation/get-project-data)** - Obtención de información del proyecto
* **[uploadSourceFiles](/docs/core/class/methods/translation/upload-source-files)** - Carga de archivos para traducir
* **[uploadTranslations](/docs/core/class/methods/translation/upload-translations)** - Carga de traducciones existentes
* **[enqueueFiles](/docs/core/class/methods/translation/enqueue-files)** - Puesta en cola de archivos para su procesamiento
* **[queryFileData](/docs/core/class/methods/translation/query-file-data)** - Consulta del estado de la traducción
* **[downloadFile](/docs/core/class/methods/translation/download-file)** - Descarga de un solo archivo
* **[downloadFileBatch](/docs/core/class/methods/translation/download-file-batch)** - Descarga de varios archivos
* **[querySourceFile](/docs/core/class/methods/translation/query-source-file)** - Consulta de información del archivo fuente
#### Métodos de formato
* **[formatMessage](/docs/core/class/methods/formatting/format-message)** - Formato de texto internacionalizado
* **[formatNum](/docs/core/class/methods/formatting/format-num)** - Formato de números
* **[formatDateTime](/docs/core/class/methods/formatting/format-date-time)** - Formato de fecha y hora
- **[formatRelativeTime](/docs/core/class/methods/formatting/format-relative-time)** - Formato de tiempo relativo con unidad explícita
- **[formatRelativeTimeFromDate](/docs/core/class/methods/formatting/format-relative-time-from-date)** - Formato de tiempo relativo a partir de un objeto Date
- **[formatCutoff](/docs/core/class/methods/formatting/format-cutoff)** - Formato de truncado de texto
- **[formatListToParts](/docs/core/class/methods/formatting/format-list-to-parts)** - Formato de listas en partes
#### Métodos de configuración regional
* **[getLocaleName](/docs/core/class/methods/locales/get-locale-name)** - Obtener el nombre para mostrar de la configuración regional
* **[getLocaleProperties](/docs/core/class/methods/locales/get-locale-properties)** - Obtener información completa de la configuración regional
* **[getLocaleDirection](/docs/core/class/methods/locales/get-locale-direction)** - Obtener la dirección del texto de la configuración regional
* **[getLocaleEmoji](/docs/core/class/methods/locales/get-locale-emoji)** - Obtener el emoji de bandera de la configuración regional
* **[getRegionProperties](/docs/core/class/methods/locales/get-region-properties)** - Obtener información y propiedades de la región
* **[isValidLocale](/docs/core/class/methods/locales/is-valid-locale)** - Validar el código de configuración regional
* **[resolveAliasLocale](/docs/core/class/methods/locales/resolve-alias-locale)** - Convertir configuraciones regionales canónicas en alias
* **[resolveCanonicalLocale](/docs/core/class/methods/locales/resolve-canonical-locale)** - Convertir alias de configuración regional a la forma canónica
* **[standardizeLocale](/docs/core/class/methods/locales/standardize-locale)** - Estandarizar el formato del código de configuración regional
* **[isSameDialect](/docs/core/class/methods/locales/is-same-dialect)** - Comprobar si las configuraciones regionales representan el mismo dialecto
* **[isSameLanguage](/docs/core/class/methods/locales/is-same-language)** - Comprobar si las configuraciones regionales representan el mismo idioma
* **[isSupersetLocale](/docs/core/class/methods/locales/is-superset-locale)** - Comprobar relaciones jerárquicas entre configuraciones regionales
* **[determineLocale](/docs/core/class/methods/locales/determine-locale)** - Determinar la configuración regional que mejor coincida con las preferencias
* **[requiresTranslation](/docs/core/class/methods/locales/requires-translation)** - Determinar si se necesita traducción
### Funciones de utilidad
#### Funciones de formato
* **[formatMessage](/docs/core/functions/formatting/format-message)** - Formato de texto autónomo
* **[formatNum](/docs/core/functions/formatting/format-num)** - Formato autónomo de números
* **[formatDateTime](/docs/core/functions/formatting/format-date-time)** - Formato autónomo de fecha/hora
* **[formatRelativeTime](/docs/core/functions/formatting/format-relative-time)** - Formato autónomo de tiempo relativo
* **[formatRelativeTimeFromDate](/docs/core/functions/formatting/format-relative-time-from-date)** - Formato autónomo de tiempo relativo a partir de una Date
* **[formatCutoff](/docs/core/functions/formatting/format-cutoff)** - Formato autónomo de recorte de texto
* **[formatListToParts](/docs/core/functions/formatting/format-list-to-parts)** - Formato autónomo de listas por partes
#### Funciones de configuración regional
* **[getLocaleName](/docs/core/functions/locales/get-locale-name)** - Utilidad autónoma para el nombre de la configuración regional
* **[getLocaleProperties](/docs/core/functions/locales/get-locale-properties)** - Propiedades autónomas de la configuración regional
* **[getLocaleDirection](/docs/core/functions/locales/get-locale-direction)** - Utilidad autónoma para la dirección del texto
* **[getLocaleEmoji](/docs/core/functions/locales/get-locale-emoji)** - Utilidad autónoma para emoji
* **[getRegionProperties](/docs/core/functions/locales/get-region-properties)** - Utilidad autónoma para las propiedades de la región
* **[isValidLocale](/docs/core/functions/locales/is-valid-locale)** - Validación autónoma de la configuración regional
* **[resolveAliasLocale](/docs/core/functions/locales/resolve-alias-locale)** - Resolución autónoma de alias de configuración regional
* **[standardizeLocale](/docs/core/functions/locales/standardize-locale)** - Estandarización autónoma de la configuración regional
* **[isSameDialect](/docs/core/functions/locales/is-same-dialect)** - Comparación autónoma de dialectos
* **[isSameLanguage](/docs/core/functions/locales/is-same-language)** - Comparación autónoma de idiomas
* **[isSupersetLocale](/docs/core/functions/locales/is-superset-locale)** - Verificación autónoma de la jerarquía de la configuración regional
* **[determineLocale](/docs/core/functions/locales/determine-locale)** - Negociación autónoma de la configuración regional
* **[requiresTranslation](/docs/core/functions/locales/requires-translation)** - Verificación autónoma de requisitos de traducción
### Tipos e interfaces
Definiciones de TypeScript:
* **[GTConstructorParams](/docs/core/types/gt-constructor-params)** - Opciones de configuración
* **[LocaleProperties](/docs/core/types/locale-properties)** - Información detallada de la configuración regional
* **[TranslationResult](/docs/core/types/translation-result)** - Tipos de respuesta de traducción
* **[TranslateManyResult](/docs/core/types/translate-many-result)** - Respuesta de traducción por lotes
* **[FileToTranslate](/docs/core/types/file-to-translate)** - Configuración de traducción de archivos
* **[EnqueueFilesOptions](/docs/core/types/enqueue-files-options)** - Opciones de encolado de archivos
* **[Entry](/docs/core/types/Entry)** - Estructura de entrada de traducción
* **[EntryMetadata](/docs/core/types/entry-metadata)** - Metadatos de la entrada
* **[Content](/docs/core/types/Content)** - Definiciones del tipo de contenido
* **[Variable](/docs/core/types/Variable)** - Estructura de la variable
* **[VariableType](/docs/core/types/variable-type)** - Definiciones del tipo de variable
* **[JsxElement](/docs/core/types/jsx-element)** - Tipo de elemento JSX
* **[JsxChild](/docs/core/types/jsx-child)** - Tipo de hijo JSX
* **[JsxChildren](/docs/core/types/jsx-children)** - Tipo de hijos JSX
* **[DataFormat](/docs/core/types/data-format)** - Especificaciones del formato de datos
* **[CustomMapping](/docs/core/types/custom-mapping)** - Configuración de mapeo personalizado
***
## Próximos pasos
* **[Empieza a usar la clase GT](/docs/core/class/constructor)**
* **[Explora los métodos de traducción](/docs/core/class/methods/translation/translate)**
* **[Conoce las utilidades de configuración regional](/docs/core/class/methods/locales/get-locale-name)**
* **[Consulta las opciones de formato](/docs/core/class/methods/formatting/format-message)**
* **[Explora las funciones autónomas](/docs/core/functions/formatting/format-message)**
Para ver el uso específico de cada framework, consulta la documentación de [Next.js](/docs/next) o [React](/docs/react).