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

