# gt-next: General Translation Next.js SDK: useGT
URL: https://generaltranslation.com/ja/docs/next/api/strings/use-gt.mdx
---
title: useGT
description: useGT の文字列翻訳関数の API リファレンス
---
{/* 自動生成: 直接編集せず、代わりに content/docs-templates/ 内の template を編集してください。 */}
## 概要
`useGT` は、ビルド時に文字列を翻訳するための Hook です。
```jsx
const gt = useGT();
{gt('This text will be translated')}
;
```
**ビルド時翻訳:** `useGT` による翻訳は、アプリのデプロイ前、ビルド時に実行されます。翻訳後の文字列に変数を渡すことはできますが、翻訳できるのはビルド時点で判明しているコンテンツに限られます。
## リファレンス
### パラメータ
なし
### 戻り値
指定したコンテンツを翻訳するコールバック関数 `gt`。
```jsx
(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` 関数がコンテンツを on-demand で翻訳します。
これは、アプリがさまざまな言語でどのように表示されるかを試しながら確認するのに便利です。
この動作を有効にするには、環境に Dev API キーを追加してください。
開発環境では、on-demand 翻訳時に遅延が発生します。
本番ビルドでは、コンテンツが明示的に on-demand で翻訳されている場合を除き、この遅延は発生しません。
***
## 例
### 基本的な使い方
`useGT` を使って文字列を翻訳できます。
```jsx copy
import { useGT } from 'gt-next';
export default function TranslateGreeting() {
const gt = useGT();
return {gt('Hello, Alice!')}
;
}
```
注: "Alice" はユーザーの優先言語に翻訳されます。
### 変数の使用 [#variables]
辞書内の翻訳文に変数を渡せます。
```jsx copy
import { useGT } from 'gt-next';
export default function TranslateGreeting() {
const gt = useGT();
return {gt('Hello, {name}!', { name: 'Alice' })}
;
}
```
注意: "Alice" は変数のため、ユーザーの優先言語には翻訳されません。
### ICU メッセージ形式を使う
`gt-next` は ICU メッセージ形式に対応しており、変数の書式設定もできます。
```jsx copy
import { useGT } from 'gt-next';
export default function TranslateGreeting() {
const gt = useGT();
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/)を参照してください。
### `gt-next` からインポートする
`"use client"` ディレクティブを使用している場合は、`gt-next` ではなく `gt-next` からインポートする必要があります。
```jsx copy
'use client';
import { useGT } from 'gt-next';
export default function TranslateGreeting() {
const gt = useGT();
return {gt('Hello, Alice!')}
;
}
```
***
## 注記
* `useGT` 関数は、文字列を翻訳する Hook です。
* `useGT` による文字列の翻訳は、開発時を除き、runtime 前のビルドプロセス中に行われます。