# General Translation Platform: コンストラクタ
URL: https://generaltranslation.com/ja/docs/platform/core/reference/gt-class/constructor.mdx
Docs index: https://generaltranslation.com/llms.txt
Description: API キー、プロジェクトの設定、デフォルトロケール、ロケールマッピングを使用して `GT` インスタンスを初期化します。コンストラクタの API リファレンスです。

新しい `GT` インスタンスを作成します。これは、General Translation の翻訳、書式設定、ロケール関連のすべての機能のエントリポイントです。一度だけ呼び出し、アプリケーション全体でそのインスタンスを再利用してください。

## 概要 [#overview]

オプションの設定オブジェクトを指定して、`GT` インスタンスを作成します。ここで設定した認証情報とロケールは、このインスタンスのすべてのメソッド呼び出しでデフォルトとして使用されます。

```typescript
import { GT } from 'generaltranslation';

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

シグネチャ：

```typescript
new GT(params?: GTConstructorParams): GT
```

*注: `apiKey`、`devApiKey`、`projectId` は省略できます。設定されている場合、コンストラクタはそれらの値を `GT_API_KEY`、`GT_DEV_API_KEY`、`GT_PROJECT_ID` 環境変数から読み取ります。*

## 仕組み [#how-it-works]

* **環境変数へのフォールバック。** `apiKey`、`devApiKey`、または `projectId` が渡されない場合、コンストラクタは `GT_API_KEY`、`GT_DEV_API_KEY`、`GT_PROJECT_ID` の各環境変数からそれらの値を取得します。
* **設定したロケールコードの扱い。** `en-US` のような標準コードを使用してください。設定したコードは記述どおりに保持されます。`en-us` など別の表記も受け付けるには、[`customMapping`](/docs/platform/core/reference/types/custom-mapping) でマッピングします: `{ 'en-us': { code: 'en-US' } }`。`sourceLocale`、`targetLocale`、および `locales` 内のすべてのエントリは、カスタム エイリアス を含め、実際に適用されるマッピングに基づいて検証されます。無効なコードを指定すると例外がスローされます。
* **返されるロケールコード。** プロジェクトおよびファイルのレスポンスでは、可能な限り設定した表記とエイリアスが使用されます。設定済みの複数のコードが同じロケールを指す場合は、リクエストで区別しない限り、最初に一致したものが使用されます。別の方言に置き換えられることはありません。ランタイム翻訳の結果には、API 側のロケールコードが使用されます。
* **カスタムマッピング の優先順位。** [`customMapping`](/docs/platform/core/reference/types/custom-mapping) を使うと、ロケール エイリアス を定義したり、標準の BCP 47 検証や標準のロケールプロパティ (name、emoji など) を上書きしたりできます。カスタムマッピング は標準の BCP 47 データより優先されます。

## パラメーター [#parameters]

コンストラクタは、次のプロパティを持つオプションの [`GTConstructorParams`](/docs/platform/core/reference/types/gt-constructor-params) オブジェクトを 1 つ受け取ります (デフォルトは `{}`) 。

| Parameter                          | Description                             | Type                                                                  | 任意 | Default               |
| ---------------------------------- | --------------------------------------- | --------------------------------------------------------------------- | -- | --------------------- |
| [`apiKey`](#api-key)               | 翻訳サービス用のプロジェクト API キー。                  | `string`                                                              | はい | `GT_API_KEY` env      |
| [`devApiKey`](#dev-api-key)        | `apiKey` が未設定の場合に使用される代替のプロジェクト API キー。 | `string`                                                              | はい | `GT_DEV_API_KEY` env  |
| [`projectId`](#project-id)         | プロジェクト ID。                              | `string`                                                              | はい | `GT_PROJECT_ID` env   |
| [`sourceLocale`](#source-locale)   | デフォルトのソースロケール。                          | `string`                                                              | はい | —                     |
| [`targetLocale`](#target-locale)   | デフォルトの対象ロケール。                           | `string`                                                              | はい | —                     |
| [`locales`](#locales)              | サポートされているロケールコード。                       | `string[]`                                                            | はい | —                     |
| [`baseUrl`](#base-url)             | API ベース URL。                            | `string`                                                              | はい | `https://api.gtx.dev` |
| [`customMapping`](#custom-mapping) | カスタムのロケールコードマッピングとプロパティの上書き。            | [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) | はい | —                     |

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

**型** `string` · **任意** · **デフォルト** `GT_API_KEY` env

翻訳サービス用のプロジェクト API キーです。指定されていない場合は、`GT_API_KEY` から読み取られます。API 操作には、API キー (非推奨のエイリアスである `devApiKey` も可) に加えて、プロジェクト ID と対象の操作に対する権限が必要です。

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

**型** `string` · **任意** · **デフォルト** `GT_DEV_API_KEY` 環境変数

互換性のために残されている `apiKey` の非推奨エイリアスです。環境ごとに異なるキーの種類を表すものではありません。`apiKey` が未設定の場合に使用されます。指定しない場合は、`GT_DEV_API_KEY` から読み取られます。

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

**型** `string` · **任意** · **デフォルト** `GT_PROJECT_ID` env

プロジェクト ID です。指定されていない場合は、`GT_PROJECT_ID` から読み取られます。API 操作には、認証情報に加えてこの ID が必要です。

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

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

翻訳のデフォルトのソースロケールです (`en` など) 。設定された表記はそのまま保持され、`customMapping` も含めて検証されます (そのため、カスタムエイリアスも使用できます) 。

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

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

`es` などの、対象ロケールの既定の `targetLocale` です。設定した表記はそのまま保持され、`customMapping` とあわせて検証されるため、カスタムエイリアスも使用できます。

### `locales` [#locales]

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

サポートされているロケール識別子の配列です。各コードはそのまま保持され、適用される `customMapping` に基づいて検証されます。カスタムエイリアスもここで使用できます。

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

**型** `string` · **任意** · **デフォルト** `https://api.gtx.dev`

API ベース URL です。デプロイ環境が別のエンドポイントを使用する場合にのみ上書きしてください。

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

**Type** [`CustomMapping`](/docs/platform/core/reference/types/custom-mapping) · **任意**

カスタムのロケールコードマッピングとプロパティの上書きです。これを使うと、(1) ロケールコードのエイリアスを定義し、(2) 標準の BCP 47 検証を上書きし、(3) 名前や絵文字など、標準の BCP 47 ロケールプロパティを上書きできます。

## 戻り値 [#returns]

**型** `GT`

翻訳、書式設定、ロケールに関するすべてのメソッドを利用できる、新しい `GT` インスタンス。

## 例 [#examples]

```typescript
import { GT } from 'generaltranslation';

// 最小限のセットアップ — 環境変数から認証情報を読み込む
const gt = new GT();
```

```typescript
// APIクレデンシャルを使用する場合
const gt = new GT({
  projectId: 'my-project-id',
  apiKey: 'my-api-key',
  targetLocale: 'fr',
});
```

```typescript
// カスタムロケールエイリアスを使用する場合: `zh` のエイリアスとして `cn` を使用する。
// General Translation API は `cn` をサポートしていないため、custom mapping が必要。
const gt = new GT({
  projectId: 'my-project-id',
  apiKey: 'my-api-key',
  targetLocale: 'es',
  customMapping: {
    cn: { code: 'zh' },
  },
});
```

```typescript
// カスタムマッピングでは、名前や絵文字などのロケールプロパティも上書きできます
const gt = new GT({
  projectId: 'my-project-id',
  apiKey: 'my-api-key',
  targetLocale: 'es',
  customMapping: { 'en-US': { name: 'Mandarin', emoji: '🇫🇷' } },
});
```

## メモ [#notes]

* すべてのパラメータは任意ですが、API 操作には API キーと `projectId` が必要です。
* 設定済みのロケールの表記およびエイリアスはそのまま保持されます。返されるコードは上記のルールに従います。
* すべてのロケールフィールドは、実際に適用されるカスタムマッピングに基づいて検証されます。
* カスタムマッピングは、標準の BCP 47 による検証およびプロパティよりも優先されます。
* インスタンスを再設定するには、プロパティに直接代入するのではなく、[`setConfig`](/docs/platform/core/reference/gt-class/set-config) を使用してください。

*メモ: `GT` は [`GTRuntime`](/docs/platform/core/reference/runtime) を継承しており、ランタイム翻訳、フォーマット、ロケールの機能は `GTRuntime` が提供します。ファイル/プロジェクト管理は引き続き `GT` が担います。*

## Sitemap

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