GameStringer - 完全ガイド
June 25, 2026 · View on GitHub
目次
- 初期設定
- ストア接続
- ゲームライブラリ
- ゲーム翻訳(自動翻訳)
- パッチャーエンジン
- Unity CSVトランスレーター
- BepInEx + XUnity
- AIパイプライン マルチエージェント
- AIトランスレーター
- OCRトランスレーターとマルチエンジン
- 音声トランスレーター
- バッチ・オフライン翻訳
- ダンガンロンパパッチャー
- 予測ツールとQAチェック
- 用語集、TMとアダプティブMT
- 高度なツール
- セキュリティとリカバリーキー
- トラブルシューティング
- コミュニティチャット(リアルタイム) (v1.5.0 新機能)
フェーズ1:初期設定
初回起動
GameStringerを起動します。初回起動時にプロフィール作成画面が表示されます。
プロフィール作成
- 名前:名前を選択(例:「Mario Gaming」)
- アバター:色/グラデーションを選択
- パスワード:最低4文字
- **「プロフィール作成」**をクリック — 自動認証
インターフェース
- サイドバー(左):セクション間のナビゲーション
- ダッシュボード(中央):ゲーム概要、統計、AIエンジンウィジェット
- Ctrl+K:任意のページにアクセスするグローバルクイック検索
フェーズ2:ストア接続
サポートされているストア
Steam、Epic Games、GOG、Ubisoft Connect、Origin/EA、Battle.net、Itch.io、Rockstar、Amazon Games。
Steam設定(優先)
- https://steamcommunity.com/dev/apikey からAPIキーを取得
- https://steamid.io/ でSteam ID64を確認
- GSで:設定 → APIキーとSteam IDを入力
- Steamプロフィールは公開に設定
GSはSteamファミリーシェアリングのゲームも検出します。
フェーズ3:ゲームライブラリ
- サイドバー → 「ライブラリ」 またはダッシュボード → 「ライブラリを更新」
- 数百のゲームのロードに1〜2分
- ゲームをクリック:詳細、検出されたエンジン、パス、**「ゲームを翻訳」**ボタン
フェーズ4:ゲーム翻訳
サイドバー → 「ゲームを翻訳」(自動翻訳)。GameStringerの中核機能。
ワークフロー
- ゲームを選択 — ライブラリから、または手動パス
- スキャン:エンジン(Unity、Unreal、Godot、RPG Maker、Ren'Pyなど)と翻訳可能なファイルを検出
- スマート自動選択:検出されたエンジンに最適な方法を推奨
- AI翻訳:設定されたAIエンジンで文字列を翻訳
- レビュー:確認、編集、承認
- パッチ適用:自動バックアップ + 適用
Unity向けスマート自動選択
| タイプ | 推奨方法 | 代替手段 |
|---|---|---|
| Unity Mono(BepInExなし) | Unity CSVトランスレーター | BepInEx + XUnity |
| Unity Mono(BepInExあり) | Unity CSVトランスレーター | キャプチャ済み文字列のAI翻訳 |
| Unity IL2CPP | Unity CSVトランスレーター | なし(BepInEx非対応) |
検出されるエンジン
Unity(Mono/IL2CPP)、Unreal Engine、Godot、RPG Maker、Ren'Py、Source Engine、CryEngine、RE Engine、Frostbite、id Tech、Creation Engine、Construct、AGS、Defold、Love2D。
フェーズ5:パッチャーエンジン
サイドバー → パッチャー → パッチャーエンジン。5つの専用パッチャー:
- Unity:Mono用BepInEx + XUnity AutoTranslator
- Unreal Engine:.locresファイル翻訳(UE4/UE5)
- Godot:.pckファイルの抽出/翻訳/再パック(Godot 3/4)
- RPG Maker:MV/MZ用JSON翻訳(ダイアログ、アイテム、スキル)
- Ren'Py:.rpyファイル翻訳(ビジュアルノベル)
フェーズ6:UNITY CSVトランスレーター
Unityゲーム(MonoとIL2CPP両方)の最良の方法。
仕組み
- Unityアセット(resources.assetsなど)をスキャン
- CSVローカライゼーションテーブルを抽出
- AI(Ollamaまたはクラウド)で翻訳
- リサイズインジェクションで翻訳を注入(切り捨てゼロ)
利点
- すべてのUnityゲームで動作(MonoとIL2CPP)
- リサイズにより切り捨てゼロ
- 完全なカバレッジ(画面上のものだけでなく全文字列)
- 外部依存なし
- 自動バックアップ(.backup)と復元
フェーズ7:BEPINEX + XUNITY
Unity Monoゲーム用 — ゲームプレイ中のライブ翻訳。
- GSがUnityゲームを検出しexeを見つける
- **「BepInEx + XUnityをインストール」**をクリック
- ゲームを起動 — XUnityが画面上の文字列をキャプチャ
- 閉じてGSに戻る — キャプチャした文字列をAIで翻訳
制限:IL2CPPでは動作しません(クラッシュの原因)。IL2CPPにはUnity CSVトランスレーターを使用。
フェーズ8:AIパイプライン
Ctrl+Kで**「AI Pipeline」**を検索。高品質のためのマルチステップシステム。
6ステップ
収集 → 翻訳 → QAチェック → 自動修正 → レビュー → スコア
3モード
- Quick:翻訳 + QA(高速)
- Balanced:+ 自動修正(推奨)
- Max Quality:全6ステップ、閾値75、最大3回試行
マルチエージェント
ステップごとに異なるモデルを割り当て(例:翻訳にqwen、レビューにgemma)。4プリセット:Default、Speed、Max Quality、Diversified。
ベンチマーク
スコア、所要時間、文字列あたりmsの実行履歴。プリセット比較。
フェーズ9:AIトランスレーター
サイドバー → 翻訳 → AIトランスレーター。
プロバイダー
- Ollama(ローカル、無料)、OpenAI/GPT-4、Claude、Gemini、DeepL、Lingva
機能
- 単一またはバッチ翻訳
- ソース言語の自動検出
- スタイル:自然、直訳、ゲーミング
- プレースホルダー保持({0}、%s、\n)
- 用語集 + 翻訳メモリ + アダプティブMT統合
フェーズ10:OCRトランスレーター
サイドバー → 翻訳 → OCRトランスレーター。
画面のテキストをリアルタイムで翻訳:
- 手動スクリーンショットまたは選択領域
- 連続ライブOCR
- グローバルホットキー:Ctrl+Shift+T
OCRマルチエンジン
4エンジン:OneOCR(Win11)、PaddleOCR(CJK)、RapidOCR(ONNX)、Tesseract(フォールバック)。
- 自動エンジン検出
- 自動フォールバックチェーン
- 並列比較モード
フェーズ11:音声トランスレーター
サイドバー → 翻訳 → 音声トランスレーター。
- ゲーム内音声認識
- オーディオ → 翻訳テキスト
- リアルタイム字幕オーバーレイ
フェーズ12:バッチ・オフライン翻訳
バッチ
サイドバー → 翻訳 → バッチ。フォルダ全体を翻訳:
- .txt、.json、.csv、.po、.xml、.rpy、.iniをサポート
- ファイルごとのリアルタイム進捗
- 最高品質のためのAIパイプラインオプション
オフライン(Ollama)
サイドバー → 翻訳 → オフライントランスレーター。
- Ollamaによる完全ローカル翻訳
- インターネット接続不要
- 完全なプライバシー — データはPCから出ません
フェーズ13:ダンガンロンパパッチャー
Ctrl+Kで**「Danganronpa」**を検索。
機能
- パッチ適用タブ:Steamゲームを選択、WADファイルを表示、パッチを適用
- WADエクストラクタータブ:35,865文字列を抽出、検索、フィルター、翻訳
- AIバッチ翻訳:文字列を選択 → AIで翻訳 → JSONエクスポート
- 配布可能な.zipエクスポート:パッチ済みWAD + 自動インストーラー + 説明書
- ゲーム内:設定 → Control Hints → "Keyboard and Mouse"
フェーズ14:予測ツールとQAチェック
予測ツール
Ctrl+Kで検索。翻訳前のゲーム分析:
- 文字列と単語数の推定
- プロバイダーごとの推定コスト(DeepL、OpenAI、ローカル)
- 方法ごとの推定時間
- 推奨翻訳チェーン
QAチェック
Ctrl+Kで検索。翻訳後の品質管理:
- プレースホルダー検証
- 数値と値のチェック
- 文字列長の検証
- フォーマットと句読点のチェック
- 文字列ごとの品質スコア
フェーズ15:用語集、TMとアダプティブMT
用語集
Ctrl+Kで検索。ゲームごとのカスタム用語:
- 用語を追加(例:「quest」→「クエスト」)
- カテゴリ:ゲームプレイ、UI、キャラクター、ロア
- AI翻訳に自動統合
スマート用語集
ゲームファイル分析から自動的に用語集を生成。
翻訳メモリ
ダッシュボード → 「TMエントリ」ウィジェット。翻訳メモリ:
- 翻訳ペアを自動保存
- 以前の翻訳を再利用
- Rustバックエンドによるパフォーマンス
アダプティブMT
あなたの修正から学習:
- 保存:原文 → AI → 人間の修正
- トライグラム/単語の類似性で類似修正を検索
- AIプロンプトにフューショット例を注入
- 時間とともに改善
フェーズ16:高度なツール
コンテキストハーベスター
ゲームファイルをスキャンしAI翻訳用のコンテキストを抽出。
翻訳エディター
フィルターと検索機能を備えた高度な文字列レビューエディター。
字幕オーバーレイ
リアルタイム翻訳字幕のゲーム内オーバーレイ。
ROMパッチャー
レトロ翻訳用IPS/BPSパッチの適用と作成(SNES、GBAなど)。
エクスポート形式
翻訳のエクスポート先:PO、XLIFF、CSV、JSON、TMX。
コミュニティハブ
翻訳の共有、投票、コメント、コミュニティ翻訳のダウンロード。
フェーズ17:セキュリティ
リカバリーキー
プロフィール作成時にリカバリーキーが生成されます(12のニーモニック語)。
- コピーまたは.txtでダウンロード
- 安全な場所に保管してください!
パスワード回復
ログイン画面 → 「パスワードを忘れた?」 → 12語を入力 → 新しいパスワード。
フェーズ18:トラブルシューティング
ゲームが見つからない
- インストール済みでSteam/Epicが開いているか確認
- ライブラリを更新しGSを再起動
翻訳が適用されない
- ゲームを完全に再起動
- ファイル書き込み権限を確認
- GSを管理者として実行
AIが応答しない
- インターネット接続を確認(クラウドプロバイダー用)
- Ollama:実行中か確認(サイドバーの緑の点)
- 別のエンジンを試す
パッチ後にゲームがクラッシュ
- 使用したツールで**「バックアップを復元」**をクリック
- Steamでファイルの整合性を検証(右クリック → プロパティ → ローカルファイル)
Unity IL2CPP + BepInEx = クラッシュ
- GSはIL2CPP用のBepInExを自動的にブロック
- 代わりにUnity CSVトランスレーターを使用
Ollamaが遅い・応答しない
- サイドバー:緑の点 = オンライン、赤 = オフライン
- Ollamaマネージャー → インストール済みモデルを確認
- 推奨:速度には7Bモデル、品質には13B+
フェーズ19:コミュニティチャット
(v1.5.0 新機能)
Community Hubに統合されたリアルタイムチャット。Supabase Realtimeで動作。
アクセス方法
- サイドバーからCommunity Hubに移動
- チャットタブまたは右下のチャットアイコンをクリック
- GameStringerプロフィールにログイン済みなら自動接続されます
デフォルトルーム
- 一般:GameStringerコミュニティの自由チャット
- 翻訳:翻訳の議論、ヘルプ、進捗共有
- フィードバック&バグ:バグ報告と改善提案
- お知らせ:公式ニュースとアップデート
機能
- リアルタイムメッセージ:Supabase Realtimeで即時表示
- オンラインプレゼンス:誰がオンラインか確認
- メッセージ返信:クリックで返信
- 編集/削除:自分のメッセージを編集・削除
- カスタムルーム作成:プロジェクトやゲーム専用ルーム
- 自動ログイン:GameStringerプロフィールで自動接続
v1.9.0の新機能
Bethesdaエンジン パッチャー
- 対応ゲーム: Skyrim LE/SE/AE, Fallout 3/NV/4, Oblivion, Starfield
- アーカイブ形式: BSA v103/v104/v105 および BA2 (GNRL + DX10)
- プラグイン: ESP/ESM 解析と翻訳可能レコードの抽出
- ローカライズ文字列: STRINGS, DLSTRINGS, ILSTRINGS
CRIミドルウェア パッチャー
- 対応ゲーム: ペルソナ5 ザ・ロイヤル、龍が如く、テイルズ オブ、ドラゴンボール等
- アーカイブ: CPK + CRILAYLA 解凍
- メッセージ形式: MSG, BMD, FTD
Unity Localization パッケージ
- 公式 Unity Localization パッケージ用のパイプライン (Unity 2021.3+)
- StringTable + SharedTableData, Addressables, Smart Strings
- プレースホルダと複数形のバリデーター
汎用PO エクスポート
- 各パッチャーからの gettext PO エクスポート(メタデータ完備)
- Poedit、Weblate、Crowdin と互換
アクセシビリティ WCAG 2.1 AA
- aria-label、セマンティック見出し、focus-visible
- スキップリンク、prefers-reduced-motion、Windows ハイコントラスト
デザインシステムとOCR
- cva による Card バリアント、Button xs/icon-sm
- OCR スタブを置き換える実 Tauri Tesseract バックエンド
- 修正: タスクトレイ時のコンソールフラッシュ ループ
Patch Hub(コミュニティ翻訳パック)
Patch Hub は、コミュニティ翻訳パックを共有・ダウンロードするための Steam Workshop 風のマーケットプレイスで、GameStringer のコミュニティサーバーによって支えられています。サイドバーの Patch Hub 項目(オレンジ/アンバーのセクション)から開きます。
パックを閲覧する
メインビューには、検索と並べ替え(ダウンロード数順、評価順、最近更新された順、完成度順)とともに、公開済みのパックが一覧表示されます。各カードには、ゲーム、ソース→ターゲット言語、完成度(%)、評価、ダウンロード数が表示されます。パックをクリックすると、統計情報、説明、含まれるファイル、変更履歴を掲載した詳細ページが開きます。
パックをダウンロードする
パックの詳細ページで Download(ダウンロード)をクリックします。GameStringer はコミュニティサーバーからそのパックのすべてのファイルを取得し、パックライブラリ(Documents/GameStringer/packs)内に .gspack バンドルとしてローカルに保存します。そこからパックを管理したり、ゲームの詳細ページからインポートして翻訳を適用したりできます。
パックを公開する
Publish patch(パッチを公開)をクリックして公開フォームを開きます。パック名、ゲーム、ソース言語とターゲット言語、任意の説明とタグを入力し、翻訳ファイルを添付します。Community Hub にサインインしている場合、パックはコミュニティサーバーにアップロードされ、一般公開される前にモデレーションキューに入ります。サインインしていない場合、パックはローカルの下書きとして保持されます。サインインしてから再度公開すると、オンラインで共有できます。
オンラインでの公開には Community Hub アカウント(ローカルプロファイルとは別)が必要です。閲覧とダウンロードはアカウントなしで利用できます。
v1.8.1の新機能
ライブ翻訳オーバーレイ
- /live-translate ページに移動するか、Ctrl+Alt+O を押す
- ソース/ターゲット言語とAIプロバイダーを選択
- 開始 をクリック — オーバーレイがゲームの上に表示
- テキストはOCRで2秒ごとにキャプチャ
- 翻訳は透明なオーバーレイボックスとして表示
- 差分検出により変更のないテキストをスキップ(API呼び出しを節約)
ハブマーケットプレイス
- Community Hub に移動して翻訳パックを閲覧
- ワンクリックインストール:ダウンロード → 検証 → インポート
- コミュニティパックの評価とレビュー
- 自分の翻訳を .gspack ファイルとして公開
- レピュテーションとバッジ付きのユーザープロフィール
翻訳メモリネットワーク
- 設定 → TMネットワーク で有効化
- オプトイン:高品質な翻訳がグローバルプールに貢献
- プライバシー優先:ソーステキストはハッシュ化、ユーザーデータの共有なし
- 同じゲームを翻訳する次のユーザーに事前入力された候補を提供
- 翻訳パイプラインに自動統合
AIダビングパイプライン
- /dubbing ページに移動
- ゲームフォルダを選択し、言語/音声を設定
- 7ステップパイプライン:スキャン → 文字起こし → 翻訳 → 合成 → パッチ → リップシンク → 字幕
- デュレーションマッチングにより翻訳音声を元の長さに維持
- 16のアーキタイプを持つキャラクターボイスプロフィール
プラグインシステム
- コミュニティがJavaScriptで新しいゲームエンジンパッチャーを作成可能
- Rustのコンパイルは不要
- テンプレートジェネレーターが完全なプラグインの雛形を作成
- プラグインは .gsplugin パッケージとして配布
v1.9.0の新機能
コミュニティハブUIの改善
- 再設計されたコミュニティハブ: 過剰なグラデーションや装飾的なブロブのない、よりクリーンで一貫性のあるデザイン
- コンパクトなKPIカード: 最小限の色で、より小さく控えめな統計カード
- ミニマルなカテゴリカード: 重いグラデーションや影のないクリーンなデザイン
- 統一されたトレンドカード: すべてのカードタイプで一貫したスタイル
コンパクトなフレンドサイドバー
- 幅の縮小: 画面スペースを増やすため、72から56(w-56)に縮小
- コンパクトなフレンドカード: より小さなアバター(7x7)、より狭い間隔
- より小さいセクション: テキストが縮小されたオンライン/オフラインヘッダー
- 超薄スクロールバー: デフォルトで見えない4px、ホバー時に表示
永続チャットの改善
- 控えめなチャットボタン: 右下のエレガントで小さなボタン
- すべてのページで表示: アプリ全体でチャットにアクセス可能
- よりクリーンなデザイン: 過剰なアニメーションと装飾を削除
Supabaseソーシャル機能
- 互換性のあるスキーマ: フロントエンドの期待と一致するSupabaseソーシャルスキーマ(tools/supabase_social_compatible.sql)
- RLS一時的に無効: ソーシャル機能のデバッグを容易にするため
- チャット参加者修正: UUID検証のために列名を修正
バグ修正
- チャットループ修正: startDirectChatでの無限ループを防ぐためにchatAttempted状態を追加
- モックデータ削除: 400エラーを引き起こす無効なUUIDモックデータ(user-123など)を削除
- Ollama IPC修正: すべてのcheck_ollama_status IPC呼び出しをlocalhost:11434への直接HTTPに置換
- ストアリンク: サイドバーリソースセクションにストアリンクを追加
- Epic接続: 壊れたOAuthから認証情報モーダルに変更
- 接続テスト: testConnectionがシミュレートされたAPIではなく、実際のTauriコマンドを使用
- 切断修正: TauriバックエンドでのEpic/Steam認証情報の削除を追加
- プレゼンス修正: 400 Bad Requestを避けるためにupdatePresenceにセッションガードを追加
v1.9.0の新機能
🟢 統合オンラインプレゼンス
Supabase Realtimeとデータベースを組み合わせた統合プレゼンスシステム:
- 即時更新:オンラインユーザーがリアルタイムで表示(Supabase Realtime Presence)
- グローバルハートビート:プレゼンスステータスが30秒ごとに自動更新
- 自動離席:ウィンドウが2分以上フォーカスされていない場合、ステータスが「離席」に変更
- 自動オンライン:ウィンドウがフォーカスを取り戻すと、ステータスが「オンライン」に復帰
- DB フォールバック:Realtimeが利用できない場合、データベースをフォールバックとして使用
- 更新ウィジェット:「オンラインユーザー」ウィジェットにユーザー名、アバター、Realtimeインジケーターを表示
🔔 システムトレイ通知
重要なイベントのネイティブOS通知:
- 💬 チャットメッセージ:コミュニティチャットでメッセージ受信時にOS通知
- ✅ 翻訳完了:翻訳が正常に完了した時の通知
- ❌ 翻訳/システムエラー:重大エラーの通知(常に表示)
- 🔄 アプリ更新:GameStringerの更新が利用可能な時の通知
- 🎮 ゲーム更新:更新されたゲームがパッチを無効にした可能性がある時の通知
- 🟢 フレンドオンライン:フレンドがオンラインになった時の通知
- 📰 ニュース:コミュニティニュースと更新の通知
設定:設定 → 通知 → システムトレイ通知
- 各通知タイプのトグル
- 通知なし時間:特定の時間帯に通知を抑制(例:23:00-07:00)
- テストボタン:テスト通知を送信して動作確認
- トレイツールチップ:トレイアイコンに未読通知数を表示
🛡️ エラーバウンダリ + クラッシュリカバリ
コンポーネントクラッシュからの保護:
- WidgetErrorBoundary:ウィジェットがクラッシュした場合、コンパクトなメッセージを表示し、5秒後に自動的にリカバリを試行(最大3回)
- AppErrorBoundary:アプリ全体がクラッシュした場合、エラー画面と「アプリ再読み込み」オプションを表示
- 自動リカバリ:ユーザーの介入なしにウィジェットが自動復元
🌐 ネットワークレジリエンス / オフラインモード
切断の適切な処理:
- ネットワークモニター:オンライン/オフライン状態を検出 + Supabaseヘルスチェック30秒ごと
- 接続ステータスバー:オフライン時は上部に赤いバー、Supabaseダウン時はアンバー、接続復旧時は緑
- バックオフ付きリトライ:失敗したネットワーク操作を指数バックオフ(1s、2s、4s)で自動リトライ
- オフラインキュー:オフライン時、操作(チャットメッセージ、プレゼンス更新)をキューに入れ、接続復旧時に実行
- 「オフラインモード」:接続復旧時に変更が自動同期
🎙️ キャラクターボイスプロファイル(ボイスクローニング)
翻訳中にキャラクターの「声」を保存するシステム:
- 自動抽出:ゲームの対話文字列を分析してキャラクターと言語スタイルを特定
- 16のトーン:フォーマル、カジュアル、攻撃的、優しい、神秘的、コミカル、ドラマチック、ストイック、皮肉、賢明、子供っぽい、高貴、海賊、軍事、学術、ストリート
- 5つのフォーマリティレベル:非常にフォーマル → 非常にインフォーマル
- 5つの年齢グループ:子供、ティーン、若い大人、大人、高齢者
- スピーチパターン:パターンの自動認識(古風な言葉、感嘆、頻繁な質問)
- キャッチフレーズ:キャラクターの繰り返し表現の自動特定
- プロンプト注入:ボイスプロファイルが翻訳プロンプトに自動注入され、キャラクターの一貫性を維持
- デフォルトプロファイル:未特定キャラクター用のフォールバックプロファイルを設定
使い方:
- Auto-Translateページでファイル読み込み後、「キャラクターボイスプロファイル」パネルが表示
- **「自動抽出」**をクリックして対話を分析
- または**「新規プロファイル」**で手動作成
- プロファイルは翻訳中に自動適用
🧠 ファインチューニングインフラ
トレーニングデータセットの生成とゲーム別モデル管理のシステム:
- 修正からデータセット:人間の修正からJSONLデータセットを生成(Adaptive MT)
- 4つのエクスポート形式:OpenAI JSONL、Ollama JSONL、Alpaca JSON、ChatML TXT
- 承認済みのみ:データセットで承認済みの修正のみを使用するオプション
- モデル管理:ゲーム別のファインチューニングモデルを登録・管理
- Ollama統合:ローカルトレーニング用にOllamaの可用性を確認
- データセット統計:例数、平均長、品質スコア
使い方:
- 設定 → AI → ファインチューニングインフラに移動
- 言語ペアを選択し**「生成」**をクリック
- **「エクスポート」**をクリックして希望形式でダウンロード
- Ollamaまたはクラウドプロバイダーでファインチューニングにデータセットを使用
⚡ コード分割 / レイジーローディング
起動時間の最適化:
- 8つの重いコンポーネント(チャット、バックグラウンドジョブ、コマンドパレットなど)が必要な時のみロード
- アプリの起動が速くなり、メモリ使用量が削減
GameStringer v1.9.0 - ガイド更新日 2026/04/26