# General Translation Platform: setConfig
URL: https://generaltranslation.com/ja/docs/platform/core/reference/gt-class/set-config.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: 既存の GT インスタンスの設定を更新します。setConfig の API リファレンス。

新しいインスタンスを作成せずに、作成済みの [GT](/docs/platform/core/reference/gt-class/constructor) インスタンスの API 認証情報、ロケール、その他の設定を変更します。

## 概要 [#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]

* **まずロケールを標準化し、その後に検証します。** 指定された各ロケールコード (`sourceLocale`、`targetLocale`、および `locales` 内の各エントリ) は、まず正規の BCP 47 形式に標準化されたうえで検証されます。**保存される値は、渡した生の文字列ではなく、標準化・正規化後の形式です**。無効なコードがあると、`setConfig` は例外をスローします。
* **Custom mapping は `sourceLocale` / `targetLocale` には適用されますが、`locales` には適用されません。** `sourceLocale` と `targetLocale` は `customMapping` **ありで**検証されるため、カスタム alias も受け付けられます。`locales` の各エントリは mapping **なしで**検証されるため、`customMapping` の alias が `locales` 内に含まれていると拒否されます。
* **設定のマージ。** 新しい値は、コンストラクタに渡した設定にマージされます。ただし、`customMapping` はマージされず、既存の mapping を完全に置き換えます。
* **環境変数は再読み取りされません。** `setConfig` の呼び出し時に、環境変数 (`GT_API_KEY`、`GT_DEV_API_KEY`、`GT_PROJECT_ID`) が再読み取りされることはありません。
* **アトミックではありません。** 途中で検証に失敗した場合 (たとえば 2 つ目のロケールで失敗した場合) 、それ以前のプロパティはすでに設定されていることがあります。

## パラメータ [#parameters]

`setConfig` は、[コンストラクタ](/docs/platform/core/reference/gt-class/constructor) と同じプロパティを持つ必須の [`GTConstructorParams`](/docs/platform/core/reference/types/gt-constructor-params) オブジェクトを受け取ります。

| パラメータ                              | 説明                               | 型                                                                     | 任意 | デフォルト |
| ---------------------------------- | -------------------------------- | --------------------------------------------------------------------- | -- | ----- |
| [`apiKey`](#api-key)               | 翻訳サービス用の本番用の API キー。             | `string`                                                              | はい | —     |
| [`devApiKey`](#dev-api-key)        | 開発用 API キー。                      | `string`                                                              | はい | —     |
| [`projectId`](#project-id)         | 一意のプロジェクト ID。                    | `string`                                                              | はい | —     |
| [`sourceLocale`](#source-locale)   | 翻訳のデフォルトのソースロケール。                | `string`                                                              | はい | —     |
| [`targetLocale`](#target-locale)   | 翻訳のデフォルトのターゲットロケール。              | `string`                                                              | はい | —     |
| [`locales`](#locales)              | サポートされているロケールコード。                | `string[]`                                                            | はい | —     |
| [`baseUrl`](#base-url)             | カスタムの API ベース URL。               | `string`                                                              | はい | —     |
| [`customMapping`](#custom-mapping) | カスタムのロケールコードのマッピングとプロパティのオーバーライド。 | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | はい | —     |

`params` オブジェクト自体は必須ですが、含まれる各プロパティはすべて任意です。変更したい設定だけを渡してください。

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

**型** `string` · **任意**

翻訳サービスの本番用の API キー。

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

**型** `string` · **任意**

開発用 API キー。開発環境では `apiKey` より優先されます。

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

**型** `string` · **任意**

一意のプロジェクト ID。

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

**型** `string` · **任意**

翻訳のデフォルトのソースロケールです。正規の形式に標準化され、その正規化された形式で保存されたうえで、`customMapping` も含めて検証されます (そのため、ここではカスタムの alias も使用できます) 。

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

**型** `string` · **任意**

翻訳のデフォルトのターゲットロケールです。正規の形式に標準化され、その正規化済みの形式で保存された後、任意の `customMapping` を考慮して検証されます (そのため、ここではカスタム alias も使用できます) 。

### `locales` [#locales]

**型** `string[]` · **任意**

サポートされているロケールコードの配列です。各コードは 正規の形式に標準化され、その正規化済みの形式で保存されたうえで、`customMapping` **を使わずに** 検証されます。したがって、`sourceLocale`/`targetLocale` では有効な `customMapping` の alias であっても、`locales` 内に含まれている場合は拒否されます。

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

**Type** `string` · **任意**

カスタムの API ベース URL。

### `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]

* 設定の変更は、以降のメソッド呼び出しにただちに反映されます。
* すべてのロケールコードは、保存前に正規の形式へ標準化され (保存される値は正規化後の形式です) 、その後に検証されます。
* `sourceLocale` と `targetLocale` は `customMapping` を使って検証され、`locales` の各エントリはそれを使わずに検証されます。
* `setConfig` を呼び出しても、環境変数は再読み込みされません。
* カスタムマッピングは既存のマッピングを完全に置き換えます (マージはされません) 。
* この更新は **アトミックではありません** — 検証が途中で失敗した場合、先に処理されたプロパティはすでに設定されている可能性があります。
* このメソッドは同期的に動作し、`void` を返します。

## Sitemap

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