# gt-next: General Translation Next.js SDK: getGT
URL: https://generaltranslation.com/ja/docs/next/api/strings/get-gt.mdx
---
title: getGT
description: 文字列を翻訳する getGT() 関数の API リファレンス
---
## 概要
`getGT` 関数は、ビルド時に文字列を翻訳するための非同期関数です。
```jsx
const gt = await getGT();
{ gt('This text will be translated') }
;
```
**ビルド時翻訳:**
`getGT` による翻訳は、アプリのデプロイ前のビルド時に実行されます。
翻訳済み文字列に変数を渡すことはできますが、翻訳できるのはビルド時点で判明している内容に限られます。
## リファレンス
### パラメータ
なし
### 戻り値
指定されたコンテンツを翻訳するコールバック関数 `gt` を返す Promise。
```jsx
Promise<(content: string, options?: InlineTranslationOptions) => string>
```
| 名前 | 型 | 説明 |
| ---------- | ----------------------------------------------------------------------------- | ---------------------------- |
| `content` | `string` | 翻訳対象の文字列コンテンツ。 |
| `options?` | [`InlineTranslationOptions`](/docs/next/api/types/inline-translation-options) | `gt` の動作をカスタマイズするための翻訳オプション。 |
***
## 挙動
### 本番環境
CD プロセスでは、`gt` 関数内のコンテンツはすべて、アプリケーションのデプロイ前に翻訳されます。
これにより、すべてのロケールで高速に読み込めるようになりますが、翻訳できるのはビルド時に確定しているコンテンツに限られます。
生成された翻訳は、設定に応じて、(1) CDN に保存されるか、(2) アプリのビルド出力に保存されます。
その後、翻訳済みコンテンツがユーザーに配信されます。
翻訳が見つからない場合は、元のコンテンツにフォールバックします。
必ず[こちらのデプロイガイド](/docs/next/tutorials/quickdeploy)に従ってください。
### 開発
開発中は、`gt` 関数が必要に応じてコンテンツを翻訳します。
これは、アプリが各言語でどのように表示されるかを試す際に役立ちます。
この動作を有効にするには、環境変数に Dev API キーを追加してください。
開発中にオンデマンド翻訳を行う際は、遅延が発生します。
これは、コンテンツを明示的にオンデマンドで翻訳している場合
つまり、[`tx`](/docs/next/api/strings/tx) または [``](/docs/next/api/components/tx) を使用している場合を除き、本番ビルドでは発生しません。
***
## 例
### 基本的な使い方
`getGT` を使って文字列を翻訳できます。
```javascript copy
import { getGT } from 'gt-next/server';
export default async function TranslateGreeting() {
const gt = await getGT();
return (
{gt('Hello, Alice!')}
);
}
```
注: "Alice" はユーザーの優先言語に翻訳されます。
### 変数を使う [#variables]
辞書の翻訳には変数を渡せます。
```javascript copy
import { getGT } from 'gt-next/server';
export default async function TranslateGreeting() {
const gt = await getGT();
return (
{gt('Hello, {name}!', { name: 'Alice' })}
);
}
```
注: "Alice" は変数のため、ユーザーが設定した優先言語には翻訳されません。
### ページのメタデータを翻訳する [#metadata]
Next.js の `generateMetadata` 内で `getGT` を使用して、ページタイトル、説明文、Open Graph タグを翻訳します。
```javascript copy
import { getGT } from 'gt-next/server';
import { Metadata } from 'next';
export async function generateMetadata(): Promise {
const gt = await getGT();
return {
title: gt('My App'),
description: gt('A fast, modern web application'),
openGraph: {
title: gt('My App'),
description: gt('A fast, modern web application'),
},
};
}
```
### ICU メッセージ形式を使う
`gt-next` は ICU メッセージ形式に対応しているため、変数の書式設定もできます。
```javascript copy
import { getGT } from 'gt-next/server';
export default async function TranslateGreeting() {
const gt = await getGT();
return (
{gt('There are {count, plural, =0 {no items} =1 {one item} other {{count} items}} in the cart', { count: 10 })}
);
}
```
ICU メッセージ形式は、変数を柔軟に整形できる強力な仕組みです。
詳しくは、[ICU メッセージ形式のドキュメント](https://unicode-org.github.io/icu/userguide/format_parse/messages/)を参照してください。
***
## 注意事項
* `getGT` 関数は、文字列を翻訳するサーバー側の関数です。
* `getGT` による文字列の翻訳は、runtime ではなくビルド時に行われます (開発時を除く) 。
## 次のステップ
* ビルド時のクライアントサイド文字列翻訳については、[`useGT`](/docs/next/api/strings/use-gt)を参照してください。
* runtime 翻訳については、[`tx`](/docs/next/api/strings/tx)と[``](/docs/next/api/components/tx)を参照してください。