# node: getTranslations URL: https://generaltranslation.com/ja/docs/node/api/get-translations.mdx --- title: getTranslations description: 辞書の翻訳関数 getTranslations の API リファレンス --- ## 概要 `getTranslations` は、[辞書](/docs/next/guides/dictionaries) のエントリを解決する翻訳関数 `t` を返します。 これを使うと、事前定義された文字列を辞書のキーで翻訳できます。 ```js import { getTranslations } from 'gt-node'; const t = await getTranslations(); t('greeting.hello'); // "Hello!" ``` **リクエストコンテキストが必要です:** `getTranslations` は、使用するロケールを識別できるよう、[`withGT`](/docs/node/api/with-gt) のコールバック内で呼び出す必要があります。 ## リファレンス ### パラメータ なし。 ### 戻り値 翻訳関数 `t` を返す Promise: ```ts Promise ``` `t` 関数は、辞書のキーと省略可能な補間オプションを受け取ります。 | Name | Type | Description | | ---------- | ------------------------------ | ------------------ | | `id` | `string` | 辞書エントリへのドット区切りのパス。 | | `options?` | `DictionaryTranslationOptions` | 補間に使用する変数。 | **戻り値:** `string` — 翻訳されたテキスト (またはソース言語のフォールバックテキスト) 。 キーがソース辞書に存在しない場合、`t()` はエラーをスローします。 キーがソース辞書に存在していても、現在のロケールの翻訳がない場合、`t()` はソーステキストを返します。 ### `t.obj()` 単一の文字列ではなく、辞書内のサブツリー全体をオブジェクトとして返します。 ```ts t.obj(id: string): DictionaryObjectTranslation ``` | 名前 | 型 | 説明 | | ---- | -------- | -------------------- | | `id` | `string` | 辞書のサブツリーへのドット区切りのパス。 | **戻り値:** 辞書の構造に一致する入れ子のオブジェクト。利用可能な箇所には翻訳済みの値が入り、それ以外の箇所にはソース言語のフォールバックが入ります。 *** ## セットアップ ### 自動 (推奨) プロジェクトのルートディレクトリに `dictionary.json` ファイルを作成します。 ```json title="dictionary.json" { "greeting": { "hello": "Hello!" }, "user": { "welcome": "Welcome, {name}!" } } ``` `npx gtx translate` を実行すると、CLI が `dictionary.json` を自動的に検出し、設定したロケール向けに翻訳します。 次に、辞書を使って GT を初期化します。 ```ts import { initializeGT } from 'gt-node'; import dictionary from './dictionary.json'; initializeGT({ dictionary, defaultLocale: 'en-US', locales: ['en-US', 'es', 'fr'], }); ``` ### カスタム辞書ローダー 翻訳済みの辞書を独自に管理している場合は、[`initializeGT`](/docs/node/api/initialize-gt) に `loadDictionary` 関数を渡してください。 ```ts import { initializeGT } from 'gt-node'; import dictionary from './dictionary.json'; initializeGT({ dictionary, loadDictionary: async (locale) => { const dict = await import(`./locales/${locale}.json`); return dict.default; }, }); ``` `loadDictionary` で読み込んだ翻訳は、GT が生成した翻訳より優先されます。 *** ## 使用例 ### 基本的な使い方 ```ts import { getTranslations } from 'gt-node'; const t = await getTranslations(); t('greeting.hello'); // "Hello!" ``` ### 変数の補間 ```ts const t = await getTranslations(); t('user.welcome', { name: 'Alice' }); // "Welcome, Alice!" ``` ### `t.obj()` でオブジェクトを検索 ```ts const t = await getTranslations(); const errors = t.obj('errors'); // { notFound: "ページが見つかりません", unauthorized: "アクセスが拒否されました" } ``` *** ## 注記 * `getTranslations` は、インラインの `msg()` 文字列に使用される [`getMessages`](/docs/node/api/get-messages) の辞書ベースの対応機能です。 * Next.js での同等の機能については、[`gt-next` の `getTranslations`](/docs/next/api/dictionary/get-translations) を参照してください。