# 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) を参照してください。