# 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` の各環境変数からそれらの値を取得します。
* **ロケールコードは標準化してから検証されます。** 指定された各ロケールコード (`sourceLocale`、`targetLocale`、および `locales` 内のすべてのエントリ) は、まず正規の形式に標準化されたうえで検証されます。**保存される値は、渡した生の文字列ではなく、標準化／正規化後の形式です。** 無効なコードがある場合、コンストラクタは例外をスローします。
* **Custom mapping は `sourceLocale`/`targetLocale` には適用されますが、`locales` には適用されません。** `sourceLocale` と `targetLocale` は [`customMapping`](/docs/platform/core/reference/types/custom-mapping) **を適用したうえで** 検証されるため、カスタム エイリアス を指定できます。一方、`locales` の各エントリは mapping **を適用せずに** 検証されるため、`locales` 内に `customMapping` の エイリアス が含まれていると無効になります。
* **Custom mapping の優先順位。** [`customMapping`](/docs/platform/core/reference/types/custom-mapping) を使うと、ロケール エイリアス を定義したり、標準の BCP 47 検証や標準のロケールプロパティ (name、emoji など) を上書きしたりできます。Custom mappings は標準の 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)        | 開発時に優先される開発用 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 操作に必要です。

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

**型** `string` · **省略可能** · **デフォルト** `GT_DEV_API_KEY` 環境変数

開発用 API キー。開発環境では `apiKey` より優先されます。指定しない場合は、`GT_DEV_API_KEY` 環境変数から読み取られます。

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

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

プロジェクト ID です。指定されていない場合は、`GT_PROJECT_ID` 環境変数から読み取られます。すべての API 操作で必要です。

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

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

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

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

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

`es` などの、翻訳先の既定の `targetLocale` です。標準の 正規の形式 に正規化され、その正規化済みの形式で保存された後、`customMapping` とあわせて検証されます (そのため、ここではカスタム エイリアス も使用できます) 。

### `locales` [#locales]

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

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

### `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 操作には `apiKey` (または `devApiKey`) と `projectId` が必要です。
* コンストラクタは、すべてのロケールコードを 正規の形式 に標準化し (保存される値は正規化後の形式です) 、その後で検証を行い、無効なコードに対してはエラーをスローします。
* `sourceLocale` と `targetLocale` は `customMapping` を使って検証され、`locales` の各エントリはそれを使わずに検証されます。
* Custom mappings は、標準の BCP 47 の検証やプロパティより優先されます。

*注: `GT` クラスは `GTRuntime` を継承しています。9.0 では、翻訳、書式設定、ロケールヘルパーは `GTRuntime` にあり、ファイル workflow のメソッド (upload、enqueue、download など) は `GT` にあります。コンストラクタと [`setConfig`](/docs/platform/core/reference/gt-class/set-config) はどちらも `GTRuntime` で定義されているため、継承を通じて利用するぶんには使い方は変わりません。*

## Sitemap

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