Skip to content

norakurage/MCModLocalizer

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

47 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

MCModLocalizer

Minecraft Mod 向けの en_us.json を Google Gemini API で日本語化 (ja_jp.json) し、差分を尊重しながらリソースパックを構築する Flet 製 GUI アプリです。翻訳時に色コードやプレースホルダーを保護し、既存訳を壊さず不足分のみを補完します。

主な機能

  • 自動翻訳 & リソースパック生成: Mod JAR から en_us.json を抽出し、Gemini API で ja_jp.json を生成。そのままリソースパック (<Mod名>_ja_resourcepack) として出力します。
  • 差分翻訳: 既に日本語ファイルが存在する場合は、未翻訳のエントリーのみを翻訳します。
  • コンテキスト保護: %s§a{name} のような装飾コードやプレースホルダーを自動保護し、翻訳後に復元します。
  • コスト管理: 「トークン」タブで、翻訳に使用したトークン数や概算コスト、履歴を詳細に確認できます。
  • 複数 Mod 一括処理: 指定したフォルダ内の全ての Mod を検出し、まとめて処理します。
  • 安全なキー管理: API キーを OS の keyring (Windows 資格情報マネージャーなど) に暗号化して保存可能。
  • 使いやすい GUI: ログ表示、自動スクロール、進捗バー、停止ボタン、クリップボードコピー機能を搭載。

必要条件

  • Python 3.10 以上
  • Google AI Studio (Gemini) の API キー
  • インターネット接続

セットアップ

  1. リポジトリのクローンまたはダウンロード

  2. 仮想環境の作成(推奨)

    python -m venv .venv
    .venv\Scripts\Activate.ps1
  3. 依存パッケージのインストール

    pip install -r requirements.txt

    requirements.txt がない場合は以下を実行:

    pip install "flet>=0.28.3" keyring plyer Pillow
  4. Gemini API キーの設定

    • アプリ起動後、「設定」タブから入力し、保存(Keyring に保存されます)。

実行方法

python main.py

使い方

1. 抽出タブ (メイン画面)

  • 入力フォルダ: 翻訳したいプロジェクトの Mods フォルダを選択します。
  • 出力フォルダ: 生成されるリソースパックの保存先を指定します。Mods フォルダを選択すると自動で resourcepacks などを推測して設定します。
  • 抽出 / リソースパック生成: ボタンを押すと処理を開始します。
    • Mod 内の言語ファイルをスキャン -> Gemini で翻訳 -> リソースパック生成 という流れで進みます。
    • 処理中は「停止」ボタンで中断可能です(現在のバッチ処理完了後に停止)。

2. トークンタブ

  • 使用状況: 今回の起動で使用したトークン数、累計トークン数、概算コスト(ドル)を表示します。
  • 履歴: 過去の翻訳実行ごとのモデル、トークン数、コストを表形式で確認できます。

3. 設定タブ

  • API 設定: 使用するモデルを選択します。
    • 対応モデル: gemini-2.5-flash, gemini-2.5-flash-lite
    • モデルごとの単価(入力/出力/キャッシュ)も一覧で確認できます。
  • API キー再設定: キーの再設定が可能です。
  • アプリの初期化: APIキーやトークン利用履歴などを消去します。

出力されるもの

指定した出力フォルダに、以下の構成でリソースパックが作成されます。フォルダ名は出力フォルダの親フォルダ名に基づきます(例: MyModPack/resourcepacks なら MyModPack_localize)。

<出力フォルダ>/<親フォルダ名>_localize/
├── pack.mcmeta      # description: "Generated by MCModLocalizer"
├── pack.png         # アプリ内蔵のアイコン (icon.png) をコピー(既存がなければ)
└── assets/
    └── <modid>/
        └── lang/
            └── ja_jp.json  # 生成された日本語化ファイル

Minecraft の "Resource Packs" 画面でこれらを有効にすることで、日本語化が適用されます。

トラブルシューティング

  • 翻訳が進まない: Gemini の Rate Limit(利用制限)にかかっている可能性があります。時間を空けて試してください。
  • 通知が出ない: Windows の集中モードや通知設定を確認してください。

ライセンス

本プロジェクトは独自ライセンスで提供されています。

  • 個人利用のみ許可
  • 商用利用禁止
  • 再配布禁止
  • 個人での改変は可(公開不可)

詳細は LICENSE をご確認ください。

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages