# generaltranslation: General Translation Core SDK: translate URL: https://generaltranslation.com/es/docs/core/class/methods/translation/translate.mdx --- title: translate description: Referencia de la API del método translate de GT --- ## Resumen El método `translate` es la función principal de traducción de la biblioteca GT. Traduce contenido desde la configuración regional de origen a una configuración regional de destino especificada mediante servicios de traducción con IA. ```typescript const gt = new GT({ apiKey: 'your-api-key', projectId: 'your-project-id' }); const result = await gt.translate('Hello, world!', 'es'); console.log(result); // "¡Hola, mundo!" ``` El método admite varios tipos de contenido, como texto sin formato, formato de mensajes ICU y mensajes de estilo i18next, con metadatos opcionales para mejorar la precisión de la traducción. **Autenticación obligatoria:** El método `translate` requiere que tanto `apiKey` (o `devApiKey`) como `projectId` estén configurados en la instancia de GT. *** ## Referencia ### Parámetros ### TranslateManyEntry El parámetro `source` acepta una cadena simple o un objeto: ```typescript type TranslateManyEntry = string | { source: Content; metadata?: EntryMetadata }; ``` ### TranslateOptions El parámetro `options` puede ser una cadena con una configuración regional (abreviatura de `targetLocale`) o un objeto: ```typescript type TranslateOptions = { targetLocale: string; sourceLocale?: string; modelProvider?: string; }; ``` ### Descripción de los parámetros | Parámetro | Descripción | | --------- | ------------------------------------------------------------------------------------------------------------------------------------------------------- | | `source` | el contenido que se va a traducir. Una cadena simple o un objeto con `source` (Content) y `metadata` (EntryMetadata) opcional. | | `options` | Una cadena de configuración regional de destino (p. ej., `'es'`) o un objeto de opciones con `targetLocale`, `sourceLocale` opcional y `modelProvider`. | | `timeout` | Tiempo de espera opcional de la solicitud en milisegundos. | ### Devuelve ```typescript Promise ``` * **TranslationResult**: Contiene el contenido traducido y los metadatos * **TranslationError**: Contiene información sobre el error si la traducción falla *** ## Comportamiento ### Detección del tipo de contenido El método detecta automáticamente el tipo de contenido según el parámetro `source`: * **Cadena**: Se interpreta como texto sin formato o como formato de mensaje ICU * **Elementos JSX**: Se maneja como contenido JSX de estilo React * **Objetos**: Se procesa como formatos de mensaje estructurados ### Resolución de la configuración regional * La configuración regional de destino se valida conforme al estándar BCP-47 * Se aplican mapeos personalizados de configuración regional si se configuraron * Se usan códigos canónicos de configuración regional en las solicitudes a la API ### Abreviatura de las opciones Puedes pasar una cadena en el parámetro `options` como abreviatura de `{ targetLocale: string }`: ```typescript // Estos son equivalentes: await gt.translate('Hello', 'es'); await gt.translate('Hello', { targetLocale: 'es' }); ``` *** ## Ejemplos ### Traducción sencilla de cadena ```typescript const result = await gt.translate('Welcome to our application', 'fr'); ``` ### Con un objeto de opciones ```typescript const result = await gt.translate('Welcome to our application', { targetLocale: 'fr', sourceLocale: 'en', }); ``` ### Con metadatos de origen ```typescript const result = await gt.translate( { source: '{count, plural, other {{count} items}}', metadata: { dataFormat: 'ICU', context: 'Item count display' } }, { targetLocale: 'es' } ); ``` ### Con tiempo de espera ```typescript const result = await gt.translate('Hello, world!', 'es', 5000); ``` *** ## Notas * Traduce una cadena a una configuración regional de destino y devuelve una promesa * Usa `translateMany` internamente con una sola entrada ## Próximos pasos * **[Traducir varios elementos con translateMany](/docs/core/class/methods/translation/translate-many)** * **[Conocer las opciones de EntryMetadata](/docs/core/types/entry-metadata)** * **[Explorar el tipo TranslationResult](/docs/core/types/translation-result)**