Descripción general
Descripción general de la biblioteca generaltranslation
Introducción
La biblioteca generaltranslation es la biblioteca central de i18n de GT y contiene funciones y clases para traducción y formateo.
Se usa con mayor frecuencia junto con paquetes de framework como gt-next y gt-react, pero también puede usarse como biblioteca independiente.
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.formatCurrency(29.99, 'USD');
const formattedDate = gt.formatDateTime(new Date());
// "$29.99"
// "9/25/2025"
// Trabajar con locales
const localeProps = gt.getLocaleProperties('fr-CA');
const isValid = gt.isValidLocale('de');
// { language: "fr", region: "CA", ... }
// trueInstalación
npm install generaltranslationyarn add generaltranslationbun add generaltranslationpnpm add generaltranslationEjemplos
Existen dos tipos principales de traducción: traducción de cadenas y traducción de archivos.
Configuración
Para activar la traducción, debes proporcionar un id de proyecto y una clave de API.
Consulta el método constructor para obtener más información.
const gt = new GT({
  apiKey: 'your-api-key',
  projectId: 'your-project-id',
  targetLocale: 'es',
});Traducción de strings
Consulta el método translate para obtener más información.
try {
  const result = await gt.translate('Hello, world!');
  console.log(result); // "¡Hola, mundo!"
} catch (error) {
  console.error('Error en la traducción:', error.message);
}Traducción de archivos
Los archivos se traducen como tareas. Inicias una tarea al cargar un archivo. Cargar muchos archivos iniciará muchas tareas.
Consulta los métodos uploadSourceFiles
y checkFileTranslations para obtener más información.
// Archivos a subir
const files = [
  {
    source: {
      fileName: 'src/components/Button.tsx',
      fileFormat: 'TSX',
      locale: 'en',
      content: '...',
    },
  },
];
// Subir archivos de origen
await gt.uploadSourceFiles(files);Tabla de contenidos
Clase GT
Clase principal para la traducción y el manejo de locales:
- Constructor - Inicializa la instancia de GT con una configuración
- setConfig - Actualiza la configuración de la instancia de GT
Métodos de traducción
- translate - Funcionalidad de traducción principal
- translateMany - Traducción en lote
- setupProject - Inicialización del proyecto
- shouldSetupProject - Comprobar si es necesario configurar el proyecto
- checkSetupStatus - Verificar el estado de configuración del proyecto
- getProjectData - Obtener datos del proyecto
- uploadSourceFiles - Cargar archivos para traducción
- enqueueFiles - Encolar archivos para su procesamiento
- checkFileTranslations - Comprobar el estado de las traducciones
- downloadTranslatedFile - Descargar un archivo traducido
- downloadFileBatch - Descargar varios archivos traducidos
- querySourceFile - Consultar información del archivo fuente
Métodos de formato
- formatMessage - Formato de texto internacionalizado
- formatNum - Formato de números
- formatDateTime - Formato de fecha y hora
Métodos de locale
- getLocaleName - Obtener el nombre de visualización del locale
- getLocaleProperties - Obtener información completa del locale
- getLocaleDirection - Obtener la dirección del texto del locale
- getLocaleEmoji - Obtener el emoji de bandera del locale
- getRegionProperties - Obtener información y propiedades de la región
- isValidLocale - Validar el código de configuración regional
- resolveAliasLocale - Convertir locales canónicos en alias
- resolveCanonicalLocale - Convertir locales alias a su forma canónica
- standardizeLocale - Estandarizar el formato del código de configuración regional
- isSameDialect - Comprobar si los locales representan el mismo dialecto
- isSameLanguage - Comprobar si los locales representan el mismo idioma
- isSupersetLocale - Comprobar relaciones de jerarquía entre locales
- determineLocale - Encontrar el mejor locale coincidente según las preferencias
- requiresTranslation - Determinar si se requiere traducción
Funciones de utilidad
Funciones de formato
- formatMessage - Formato de texto autónomo
- formatNum - Formato numérico autónomo
- formatDateTime - Formato de fecha y hora autónomo
Funciones de locale
- getLocaleName - Utilidad autónoma para el nombre del locale
- getLocaleProperties - Propiedades del locale autónomas
- getLocaleDirection - Utilidad autónoma para la dirección del texto
- getLocaleEmoji - Utilidad autónoma de emoji
- getRegionProperties - Utilidad autónoma de propiedades de región
- isValidLocale - Validación de locale autónoma
- resolveAliasLocale - Resolución de alias de locale autónoma
- standardizeLocale - Estandarización de locale autónoma
- isSameDialect - Comparación de dialectos autónoma
- isSameLanguage - Comparación de idiomas autónoma
- isSupersetLocale - Comprobación de jerarquía de locale autónoma
- determineLocale - Negociación de locale autónoma
- requiresTranslation - Comprobación autónoma de requisitos de traducción
Tipos e interfaces
Definiciones de TypeScript:
- GTConstructorParams - Opciones de configuración
- LocaleProperties - Información de locale completa
- TranslationResult - Tipos de respuesta de traducción
- TranslateManyResult - Respuesta de traducción en lote
- FileToTranslate - Configuración de traducción de archivos
- EnqueueFilesOptions - Opciones de encolado de archivos
- Entry - Estructura de la entrada de traducción
- EntryMetadata - Información de metadatos de la entrada
- Content - Definiciones de tipos de contenido
- Variable - Estructura de Variable
- VariableType - Definiciones de tipos de Variable
- JsxElement - Tipo de elemento JSX
- JsxChild - Tipo de hijo JSX
- JsxChildren - Tipo de hijos JSX
- DataFormat - Especificaciones del formato de datos
- CustomMapping - Configuración de asignación personalizada
Próximos pasos
- Empieza con la clase GT
- Explora los métodos de traducción
- Conoce las utilidades de locale
- Consulta las opciones de formato
- Explora las funciones autónomas
Para el uso específico del framework, consulta la documentación de Next.js o React.
¿Qué te ha parecido esta guía?

