# gt-node: General Translation Node.js SDK: クイックスタート URL: https://generaltranslation.com/ja/docs/node/quickstart.mdx --- title: クイックスタート description: General Translationの`gt-node`ライブラリをインストールして、最初のNode.jsサービスを翻訳します。 related: links: - /docs/node/guides/translating-strings - /docs/node/guides/detecting-locale - /docs/node/guides/configuring - /docs/node/guides/storing-translations --- `gt-node`は、Node.jsのサーバーやサービスで文字列を翻訳するためのライブラリです。初期化は一度だけ行い、受信した各リクエストにロケールを紐付けて、handler内で文字列を翻訳します。 ExpressやFastifyのAPIなどのバックエンドサービスでは`gt-node`を使用してください。Reactアプリでは[`gt-react`](/docs/react/react-quickstart)、Next.jsでは[`gt-next`](/docs/react/nextjs-quickstart)を使用してください。 *注: `gt-node`を使用するにはNode.js 18以降が必要です。リクエストごとのロケールの紐付けには、`node:async_hooks`の`AsyncLocalStorage`を使用します。* ## gt-node でできること [#what-it-does] `gt-node` では、次のことができます。 * ハンドラー内で使うローカルな文字列向けの、[`getGT`](/docs/node/reference/functions/get-gt) による**文字列翻訳**。 * 共有定数やエラー向けの、[`msg`](/docs/node/reference/functions/msg) と [`getMessages`](/docs/node/reference/functions/get-messages) による**登録済みメッセージ**。 * 動的コンテンツ向けの、[`tx`](/docs/node/reference/functions/tx) による**ランタイム翻訳**。 * [`withGT`](/docs/node/reference/functions/with-gt) による**リクエスト単位のロケール**のバインディングと、リクエストのロケールを検出するためのヘルパー。 ## クイックスタート [#quickstart] ライブラリをインストールし、初期化して、リクエストごとにロケールをバインドし、文字列を翻訳します。 ### 1. `gt-node` をインストール 依存関係として `gt-node` を、開発依存関係として [`gt` CLI](/docs/cli/quickstart) をインストールします。 ```bash npm install gt-node && npm install gt --save-dev ``` ```bash yarn add gt-node && yarn add --dev gt ``` ```bash bun add gt-node && bun add --dev gt ``` ```bash pnpm add gt-node && pnpm add --save-dev gt ``` ### 2. ライブラリを初期化する 起動時に、リクエストを処理する前に [`initializeGT`](/docs/node/reference/functions/initialize-gt) を一度だけ呼び出します。ロケールと認証情報を渡してください。`gt-node` は `gt.config.json` や環境変数を自動的には読み込みません。 ```ts title="server.js" import { initializeGT } from 'gt-node'; initializeGT({ defaultLocale: 'en', locales: ['en', 'es', 'fr'], projectId: process.env.GT_PROJECT_ID, }); ``` ### 3. リクエストのロケールをバインドする 各リクエストを `withGT` でラップし、翻訳関数が対象のロケールを認識できるようにします。検出には、`Accept-Language` header から判定する [`getRequestLocale`](/docs/node/reference/functions/get-request-locale) を使用します。 ```ts title="server.js" import express from 'express'; import { withGT, getRequestLocale } from 'gt-node'; const app = express(); app.use((req, res, next) => withGT(getRequestLocale(req), () => next())); ``` ### 4. 文字列を翻訳する ハンドラー内で `getGT` を await し、リクエストのロケールに対応する翻訳関数を取得してから、文字列を翻訳します。値の埋め込みには ICU プレースホルダーを使用します。 ```ts title="server.js" import { getGT } from 'gt-node'; app.get('/api/greeting', async (req, res) => { const gt = await getGT(); res.json({ message: gt('Hello, {name}!', { name: 'Alice' }) }); }); ``` ### 5. 翻訳を生成する 本番環境にデプロイする前に CLI を実行し、ランタイムで翻訳を利用できるようにします。 ```bash npx gt translate ``` `getGT`、`msg`、`tx` の使い分けについては [文字列の翻訳](/docs/node/guides/translating-strings) を、認証情報と配信については [gt-node の設定](/docs/node/guides/configuring) を参照してください。 ## Next steps - /docs/node/guides/translating-strings - /docs/node/guides/detecting-locale - /docs/node/guides/configuring - /docs/node/guides/storing-translations