# 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} // 検出されません ```