# General Translation Platform: setConfig
URL: https://generaltranslation.com/es/docs/platform/core/reference/gt-class/set-config.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Actualiza la configuración de una instancia existente de GT. Referencia de la API de setConfig.

Cambia las credenciales de la API, las configuraciones regionales y otros ajustes de una instancia de [GT](/docs/platform/core/reference/gt-class/constructor) después de crearla, sin crear una nueva.

## Descripción general [#overview]

Llama a `setConfig` para modificar una instancia en el mismo documento. Los nuevos valores se combinan con la configuración pasada al constructor y se aplican a todas las llamadas posteriores a métodos.

```typescript
const gt = new GT();

gt.setConfig({
  apiKey: 'your-new-api-key',
  projectId: 'your-project-id',
  sourceLocale: 'en',
  targetLocale: 'es',
});
```

Firma:

```typescript
setConfig(params: GTConstructorParams): void
```

*Nota: `setConfig` es síncrona y devuelve `void`; actualiza la instancia en el mismo documento.*

## Cómo funciona [#how-it-works]

* **Primero se estandariza la configuración regional y luego se valida.** Cada código de configuración regional proporcionado (`sourceLocale`, `targetLocale` y cada entrada de `locales`) primero se estandariza a su forma canónica de BCP 47 y después se valida. Los **valores almacenados son las formas estandarizadas/normalizadas**, no las cadenas originales que pasaste. `setConfig` lanza un error si los códigos no son válidos.
* **El mapeo personalizado se aplica a `sourceLocale`/`targetLocale`, pero no a `locales`.** `sourceLocale` y `targetLocale` se validan **con** `customMapping`, por lo que se acepta un alias personalizado para ellos. Cada entrada de `locales` se valida **sin** el mapeo, por lo que se rechaza un alias de `customMapping` si aparece dentro de `locales`.
* **Combinación de configuración.** Los valores nuevos se combinan con la configuración pasada al constructor. Sin embargo, `customMapping` reemplaza por completo cualquier mapeo existente en lugar de combinarse.
* **No se vuelven a leer las variables de entorno.** Las variables de entorno (`GT_API_KEY`, `GT_DEV_API_KEY`, `GT_PROJECT_ID`) no se vuelven a leer al llamar a `setConfig`.
* **No es atómico.** Si la validación falla a mitad del proceso (por ejemplo, en la segunda configuración regional), es posible que las propiedades anteriores ya se hayan establecido.

## Parámetros [#parameters]

`setConfig` acepta un objeto [`GTConstructorParams`](/docs/platform/core/reference/types/gt-constructor-params) obligatorio con las mismas propiedades que el [constructor](/docs/platform/core/reference/gt-class/constructor):

| Parámetro                          | Descripción                                                                                | Tipo                                                                  | Opcional | Predeterminado |
| ---------------------------------- | ------------------------------------------------------------------------------------------ | --------------------------------------------------------------------- | -------- | -------------- |
| [`apiKey`](#api-key)               | clave de API de producción para el servicio de traducción.                                 | `string`                                                              | Sí       | —              |
| [`devApiKey`](#dev-api-key)        | clave de API de desarrollo.                                                                | `string`                                                              | Sí       | —              |
| [`projectId`](#project-id)         | Identificador único del proyecto.                                                          | `string`                                                              | Sí       | —              |
| [`sourceLocale`](#source-locale)   | Configuración regional de origen predeterminada para las traducciones.                     | `string`                                                              | Sí       | —              |
| [`targetLocale`](#target-locale)   | Configuración regional de destino predeterminada para las traducciones.                    | `string`                                                              | Sí       | —              |
| [`locales`](#locales)              | Códigos de configuración regional compatibles.                                             | `string[]`                                                            | Sí       | —              |
| [`baseUrl`](#base-url)             | URL base personalizada de la API.                                                          | `string`                                                              | Sí       | —              |
| [`customMapping`](#custom-mapping) | Mapeos personalizados de códigos de configuración regional y sobrescritura de propiedades. | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Sí       | —              |

El objeto `params` en sí es obligatorio, aunque todas sus propiedades son opcionales; pasa solo la configuración que quieras cambiar.

### `apiKey` [#api-key]

**Tipo** `string` · **Opcional**

Clave API de producción para el servicio de traducción.

### `devApiKey` [#dev-api-key]

**Tipo** `string` · **Opcional**

Clave de API de desarrollo. Tiene prioridad sobre `apiKey` en entornos de desarrollo.

### `projectId` [#project-id]

**Tipo** `string` · **Opcional**

Identificador único del proyecto.

### `sourceLocale` [#source-locale]

**Tipo** `string` · **Opcional**

Configuración regional de origen predeterminada para las traducciones. Se estandariza a su forma canónica y se guarda en esa forma normalizada; luego se valida **con** cualquier `customMapping` (por lo que aquí se acepta un alias personalizado).

### `targetLocale` [#target-locale]

**Tipo** `string` · **Opcional**

Configuración regional de destino predeterminada para las traducciones. Se estandariza a su forma canónica y se almacena en esa forma normalizada; luego se valida **con** cualquier `customMapping` (por lo que aquí también se acepta un alias personalizado).

### `locales` [#locales]

**Tipo** `string[]` · **Opcional**

array de códigos de configuración regional compatibles. Cada código se estandariza a su forma canónica y se almacena en esa forma normalizada; luego, se valida **sin** `customMapping`, por lo que un alias de `customMapping` válido para `sourceLocale`/`targetLocale` se rechaza si aparece dentro de `locales`.

### `baseUrl` [#base-url]

**Tipo** `string` · **Opcional**

URL base personalizada de la API.

### `customMapping` [#custom-mapping]

**Tipo** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Opcional**

Mapeos personalizados de códigos de configuración regional y sobrescrituras de propiedades. A diferencia de las demás configuraciones, un nuevo `customMapping` sustituye por completo el mapeo existente en lugar de combinarse con él.

## Devuelve [#returns]

**Tipo** `void`

El método actualiza la configuración de la instancia en el mismo documento y no devuelve ningún valor.

## Ejemplos [#examples]

```typescript
const gt = new GT({
  sourceLocale: 'en',
  targetLocale: 'es',
});

// Cambiar la configuración regional de destino de español a francés
gt.setConfig({
  targetLocale: 'fr',
});
```

## Notas [#notes]

* Los cambios de configuración surten efecto de inmediato en las llamadas posteriores al método.
* Cada código de configuración regional se estandariza a su forma canónica antes de almacenarse (el valor almacenado es la forma normalizada) y luego se valida.
* `sourceLocale` y `targetLocale` se validan con `customMapping`; cada entrada de `locales` se valida sin él.
* Las variables de entorno no se vuelven a leer al llamar a `setConfig`.
* Los mapeos personalizados reemplazan por completo los mapeos existentes (no se combinan).
* La actualización **no es atómica**: si la validación falla a mitad del proceso, es posible que algunas propiedades anteriores ya se hayan establecido.
* El método es síncrono y devuelve `void`.

## Sitemap

See the full [sitemap](https://generaltranslation.com/sitemap.md) for all pages.
