# gt-next: General Translation Next.js SDK: コンパイラ
URL: https://generaltranslation.com/ja/docs/next/concepts/compiler.mdx
---
title: コンパイラ
description: gt-next の Rust ベースの SWC プラグイン
---
gt-next には、一般的な翻訳エラーを検出し、パフォーマンスを最適化するためのビルド時解析を行う、Rust ベースの SWC プラグインが含まれています。
## 機能
### 動的コンテンツの検出
翻訳コンポーネント内でラップされていない動的コンテンツを検出します。
```jsx
// ❌ 無効 - 動的コンテンツがラップされていない
Hello {userName}
// ✅ 有効 - 動的コンテンツがvariable componentでラップされている
Hello {userName}
```
### 関数呼び出しの検証
翻訳関数に渡された非リテラル引数を検出します。
```jsx
const gt = useGT();
// ❌ 無効 - テンプレートリテラルと文字列連結
gt(`Hello ${name}`)
gt("Hello " + name)
// ✅ 有効 - 変数置換を使った文字列リテラル
gt("Hello, {name}!", { name })
```
### コンパイル時のハッシュ生成
runtime パフォーマンスを向上させるため、翻訳ハッシュを事前に計算します。
```jsx
// 入力
Hello world
// 出力(有効時)
Hello world
```
## 設定
`next.config.js` で SWC プラグインを設定します。
```javascript
import { withGTConfig } from 'gt-next/config';
export default withGTConfig(nextConfig, {
locales: ['en', 'es'],
swcPluginOptions: {
logLevel: 'silent', // 警告出力を制御する
compileTimeHash: false, // ハッシュ生成を有効にする
},
});
```
### オプション
* **`logLevel`**: 警告の出力レベルを制御します
* `'silent'` - 警告を表示しません (本番環境でのデフォルト)
* `'error'` - ビルドエラーとして表示します
* `'warn'` - 警告として表示します (開発環境でのデフォルト)
* `'info'` - info レベルのメッセージを表示します
* `'debug'` - すべてのデバッグ情報を表示します
* **`compileTimeHash`**: コンパイル時のハッシュ生成を有効にします
* `false` - 無効 (デフォルト)
* `true` - パフォーマンス向上のため、ビルド時にハッシュを生成します
## 制限事項
SWC プラグインはファイルを個別に処理するため、再エクスポートされたコンポーネントに関する違反は検出できません。
```jsx
// ファイルA: export { T as Translate } from 'gt-next'
// ファイルB: import { Translate } from './A'
Hello {name} // 検出されません
```