# General Translation Platform: setConfig
URL: https://generaltranslation.com/ru/docs/platform/core/reference/gt-class/set-config.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: Обновляет конфигурацию существующего экземпляра GT. API-справочник для setConfig.

Измените учетные данные API, локали и другие параметры существующего экземпляра [GT](/docs/platform/core/reference/gt-class/constructor) после его создания, не создавая новый.

## Обзор [#overview]

Вызовите `setConfig`, чтобы изменить экземпляр на месте. Новые значения объединяются с конфигурацией, переданной в конструктор, и применяются ко всем последующим вызовам методов.

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

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

Сигнатура:

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

*Примечание: `setConfig` выполняется синхронно и возвращает `void`; она обновляет экземпляр на месте.*

## Как это работает [#how-it-works]

* **Заданные идентификаторы локалей.** Написание локалей сохраняется без изменений. Все переданные поля локалей, включая `locales`, проверяются с учётом действующего пользовательского сопоставления. При недопустимых кодах выбрасывается исключение. Возвращаемые коды локалей формируются по [правилам конструктора](/docs/platform/core/reference/gt-class/constructor#how-it-works).
* **Смена учётных данных.** Используйте этот метод, чтобы сменить учётные данные или настройки проекта. Прямое присваивание свойств для таких изменений не поддерживается.
* **Слияние конфигурации.** Новые значения объединяются с конфигурацией, переданной в конструктор. Однако `customMapping` полностью заменяет существующее сопоставление, а не объединяется с ним.
* **Без повторного чтения переменных окружения.** Переменные окружения (`GT_API_KEY`, `GT_DEV_API_KEY`, `GT_PROJECT_ID`) не перечитываются при вызове `setConfig`.
* **Неудачные обновления.** Если обновление завершится ошибкой, часть настроек может оказаться уже изменённой.

## Параметры [#parameters]

`setConfig` принимает обязательный объект [`GTConstructorParams`](/docs/platform/core/reference/types/gt-constructor-params) с теми же свойствами, что и [конструктор](/docs/platform/core/reference/gt-class/constructor):

| Параметр                           | Описание                                                                | Тип                                                                   | необязательно | По умолчанию |
| ---------------------------------- | ----------------------------------------------------------------------- | --------------------------------------------------------------------- | -------------- | ------------ |
| [`apiKey`](#api-key)               | API-ключ проекта для сервиса перевода.                                  | `string`                                                              | Да             | —            |
| [`devApiKey`](#dev-api-key)        | Альтернативный API-ключ проекта, используется, если `apiKey` не задан.  | `string`                                                              | Да             | —            |
| [`projectId`](#project-id)         | Уникальный идентификатор проекта.                                       | `string`                                                              | Да             | —            |
| [`sourceLocale`](#source-locale)   | Локаль-источник для переводов по умолчанию.                             | `string`                                                              | Да             | —            |
| [`targetLocale`](#target-locale)   | Целевая локаль для переводов по умолчанию.                              | `string`                                                              | Да             | —            |
| [`locales`](#locales)              | Поддерживаемые коды локалей.                                            | `string[]`                                                            | Да             | —            |
| [`baseUrl`](#base-url)             | Пользовательский базовый URL-адрес API.                                 | `string`                                                              | Да             | —            |
| [`customMapping`](#custom-mapping) | Пользовательские сопоставления кодов локалей и переопределения свойств. | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | Да             | —            |

Сам объект `params` обязателен, хотя все его свойства необязательны — передавайте только те настройки, которые хотите изменить.

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

**Тип** `string` · **необязательно**

API-ключ проекта для сервиса перевода.

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

**Тип** `string` · **необязательно**

Устаревший алиас `apiKey`, сохранённый для обратной совместимости. Используется, когда `apiKey` не задан, независимо от среды.

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

**Тип** `string` · **Необязательно**

Уникальный идентификатор проекта.

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

**Тип** `string` · **Необязательно**

Локаль-источник по умолчанию для переводов. Её написание сохраняется без изменений и проверяется с учётом действующего `customMapping`, включая алиасы.

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

**Тип** `string` · **Необязательно**

Целевая локаль по умолчанию для переводов. Её написание сохраняется без изменений, а сама локаль проверяется с учётом действующего `customMapping`, включая алиасы.

### `locales` [#locales]

**Тип** `string[]` · **Необязательно**

Массив идентификаторов поддерживаемых локалей. Каждый код сохраняется без изменений и проверяется с учётом действующего `customMapping`; пользовательские алиасы допускаются.

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

**Тип** `string` · **Необязательно**

Пользовательский базовый URL-адрес API.

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

**Тип** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **Необязательно**

Пользовательские сопоставления кодов локалей и переопределения свойств. В отличие от других настроек, новый `customMapping` полностью заменяет существующее сопоставление, а не объединяется с ним.

## Возвращает [#returns]

**Тип** `void`

Метод обновляет конфигурацию экземпляра на месте и ничего не возвращает.

## Примеры [#examples]

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

// Переключить целевую локаль с испанского на французский
gt.setConfig({
  targetLocale: 'fr',
});
```

## Примечания [#notes]

* Изменения конфигурации сразу вступают в силу для последующих вызовов метода.
* Заданные идентификаторы локалей сохраняются без изменений и проверяются с учётом действующего пользовательского сопоставления, включая записи в `locales`.
* Пустые строки или `undefined` не сбрасывают учётные данные.
* При вызове `setConfig` переменные окружения не перечитываются.
* Пользовательские сопоставления полностью заменяют существующие (слияние не выполняется).
* Если обновление завершится ошибкой, часть настроек к этому моменту уже может быть изменена.
* Метод синхронный и возвращает `void`.

## Sitemap

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