# generaltranslation: General Translation Core SDK: translate
URL: https://generaltranslation.com/ja/docs/core/class/methods/translation/translate.mdx
---
title: translate
description: GT の translate メソッドの API リファレンス
---
## 概要
`translate` メソッドは、GT ライブラリの主要な翻訳関数です。
AI を活用した翻訳サービスを使用して、コンテンツをソースロケールから指定したターゲットロケールへ翻訳します。
```typescript
const gt = new GT({
apiKey: 'your-api-key',
projectId: 'your-project-id'
});
const result = await gt.translate('Hello, world!', 'es');
console.log(result); // "¡Hola, mundo!"
```
このメソッドは、プレーンテキスト、ICUメッセージ形式、i18next形式のメッセージなど、複数のコンテンツタイプをサポートしており、翻訳精度を向上させるための任意のメタデータも指定できます。
**認証が必要です:**
`translate` メソッドを使用するには、GT インスタンスで `apiKey` (または `devApiKey`) と `projectId` の両方を設定する必要があります。
***
## リファレンス
### パラメータ
### TranslateManyEntry
`source` パラメータには、通常の文字列またはオブジェクトを指定できます。
```typescript
type TranslateManyEntry = string | { source: Content; metadata?: EntryMetadata };
```
### TranslateOptions
`options` パラメータには、ロケールを表す文字列 (`targetLocale` の省略形) またはオブジェクトを指定できます。
```typescript
type TranslateOptions = {
targetLocale: string;
sourceLocale?: string;
modelProvider?: string;
};
```
### パラメータの説明
| パラメータ | 説明 |
| --------- | -------------------------------------------------------------------------------------------------- |
| `source` | 翻訳する内容。通常の文字列、または `source` (Content) と省略可能な `metadata` (EntryMetadata) を含むオブジェクト。 |
| `options` | ターゲットロケール文字列 (例: `'es'`) 、または `targetLocale`、省略可能な `sourceLocale`、`modelProvider` を含むオプションオブジェクト。 |
| `timeout` | 省略可能なリクエストのタイムアウト (ミリ秒単位) 。 |
### 戻り値
```typescript
Promise
```
* **TranslationResult**: 翻訳されたコンテンツとメタデータが含まれます
* **TranslationError**: 翻訳に失敗した場合のエラー情報が含まれます
***
## 動作
### コンテンツタイプの検出
このメソッドは、`source` パラメータに応じてコンテンツタイプを自動的に判別します。
* **String**: プレーンテキストまたは ICU メッセージ形式として扱われます
* **JSX Elements**: React スタイルの JSX コンテンツとして処理されます
* **Objects**: 構造化されたメッセージ形式として処理されます
### ロケールの決定
* ターゲットロケールは BCP-47 に準拠して検証されます
* 設定されている場合は、カスタムのロケールマッピングが適用されます
* API リクエストには標準ロケールコードが使用されます
### Options の省略記法
`options` パラメータには、`{ targetLocale: string }` の省略記法として文字列を渡せます。
```typescript
// これらは同等です:
await gt.translate('Hello', 'es');
await gt.translate('Hello', { targetLocale: 'es' });
```
***
## 使用例
### シンプルな文字列の翻訳
```typescript
const result = await gt.translate('Welcome to our application', 'fr');
```
### オプションオブジェクトを使う場合
```typescript
const result = await gt.translate('Welcome to our application', {
targetLocale: 'fr',
sourceLocale: 'en',
});
```
### ソースメタデータ付き
```typescript
const result = await gt.translate(
{ source: '{count, plural, other {{count} items}}', metadata: { dataFormat: 'ICU', context: 'Item count display' } },
{ targetLocale: 'es' }
);
```
### タイムアウトあり
```typescript
const result = await gt.translate('Hello, world!', 'es', 5000);
```
***
## 注記
* 指定された文字列をターゲットロケールに翻訳し、Promise を返します
* 内部的には、単一のエントリを使って `translateMany` を使用します
## 次のステップ
* **[translateMany を使って複数の項目を翻訳する](/docs/core/class/methods/translation/translate-many)**
* **[EntryMetadata のオプションについて学ぶ](/docs/core/types/entry-metadata)**
* **[TranslationResult 型を確認する](/docs/core/types/translation-result)**