# 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 de texto o un objeto: ```typescript type TranslateManyEntry = string | { source: Content; metadata?: EntryMetadata }; ``` ### TranslateOptions El parámetro `options` puede ser una cadena de configuración regional (forma abreviada 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` opcional (EntryMetadata). | | `options` | Una cadena con la configuración regional de destino (por ejemplo, `'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 del error si la traducción falla *** ## Funcionamiento ### Detección del tipo de contenido El método detecta automáticamente el tipo de contenido en función del parámetro `source`: * **Cadena**: Se trata como texto sin formato o como formato de mensajes ICU * **Elementos JSX**: Se manejan como contenido JSX al estilo de React * **Objetos**: Se procesan como formatos de mensajes estructurados ### Determinación de la configuración regional * La configuración regional de destino se valida conforme al estándar BCP-47 * Se aplican asignaciones personalizadas de configuración regional si están configuradas * Se usan códigos de configuración regional estándar para las solicitudes a la API ### Forma abreviada de las opciones Puedes pasar una cadena en el parámetro `options` como forma abreviada de `{ targetLocale: string }`: ```typescript // Estos son equivalentes: await gt.translate('Hello', 'es'); await gt.translate('Hello', { targetLocale: 'es' }); ``` *** ## Ejemplos ### Traducción de una cadena simple ```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 dada a la configuración regional de destino y devuelve una promesa * Usa `translateMany` internamente con una sola entrada ## Siguientes pasos * **[Traduce varios elementos con translateMany](/docs/core/class/methods/translation/translate-many)** * **[Más información sobre las opciones de EntryMetadata](/docs/core/types/entry-metadata)** * **[Explora el tipo TranslationResult](/docs/core/types/translation-result)**