# 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)**