# node: getMessages URL: https://generaltranslation.com/ja/docs/node/api/get-messages.mdx --- title: getMessages description: getMessages 関数の API リファレンス --- ## 概要 `getMessages` 関数は、事前に登録されたメッセージ用のリゾルバを返す非同期関数です。 [`msg`](/docs/node/api/strings/msg) (`gt-node` からインポート) と組み合わせて使用し、文字列をビルド時に登録して、runtime でその翻訳を解決します。 ```js import { msg, getMessages } from 'gt-node'; // build time(またはモジュールスコープ)で登録 const greeting = msg('Hello, world!'); // runtimeで解決 const m = await getMessages(); const translated = m(greeting); ``` **リクエストコンテキストが必要です:** `getMessages` は、どのロケールを使用するかを判断できるよう、[`withGT`](/docs/node/api/with-gt) のコールバック内で呼び出す必要があります。 ## リファレンス ### パラメータ なし。 ### 戻り値 メッセージ解決関数 `m` に解決される `Promise`: ```ts Promise<(encodedMsg: string | null | undefined, options?: InlineResolveOptions) => string | null | undefined> ``` | 名前 | 型 | 説明 | | ------------ | ----------------------------- | ----------------------------------------------------------------------------------- | | `encodedMsg` | `string \| null \| undefined` | `msg()` が返すエンコード済みのメッセージ文字列です。`null`/`undefined` が渡された場合は、`null`/`undefined` を返します。 | | `options?` | `InlineResolveOptions` | 解決後のメッセージに補間する、省略可能な変数値です。 | *** ## 例 ### 基本的な使い方 ```js title="messages.js" import { msg } from 'gt-node'; // モジュールスコープでメッセージを登録する export const GREETING = msg('Hello, world!'); export const WELCOME = msg('Welcome, {name}!'); ``` ```js title="handler.js" import { withGT, getMessages } from 'gt-node'; import { GREETING, WELCOME } from './messages'; function handleRequest(locale: string) { return withGT(locale, async () => { const m = await getMessages(); return { greeting: m(GREETING), welcome: m(WELCOME, { name: 'Alice' }), }; }); } ``` ### 変数を使う 値を補間するには、2番目の引数に変数を渡します。 ```js title="handler.js" import { msg, getMessages, withGT } from 'gt-node'; const ORDER_STATUS = msg('Order {orderId} is {status}.'); function getOrderMessage(locale: string, orderId: string, status: string) { return withGT(locale, async () => { const m = await getMessages(); return m(ORDER_STATUS, { orderId, status }); }); } ``` *** ## 注記 * `msg` は文字列をビルド時翻訳用に登録します。`getMessages` はそれを runtime で解決します。 * このパターンは、モジュールスコープ (定数、列挙型、エラーメッセージなど) で定義され、per-request で翻訳する必要がある文字列に有効です。 * `null` または `undefined` が `m` に渡された場合は、それぞれ `null` または `undefined` を返します。 ## 次のステップ * インライン文字列を直接翻訳するには、[`getGT`](/docs/node/api/get-gt)を参照してください。 * ロケールのコンテキストを設定するには、[`withGT`](/docs/node/api/with-gt)を参照してください。