A cross-platform desktop app for AI-powered Minecraft mod and modpack localization. Translate mod language files, FTB Quests, Patchouli guidebooks, and supported JSON/SNBT files into Japanese or another target language. Built with Tauri, Rust, and TypeScript.
Start here: Download · First translation and troubleshooting · API key setup · 日本語ガイド
This README describes v3. Check the version on the download page. Use the v3 installer when upgrading from v2.
Current frontend preview; desktop file access and a completed translation are verified separately. Short tutorial.
- Mod Translation: Translates mod language files and outputs them as resource packs
- Quest Translation: Supports FTB Quests and Better Quests translation
- Supports multiple FTB Quest directory structures:
- Standard:
config/ftbquests/quests/ - FTB Interactions Remastered:
config/ftbquests/normal/ - Nested categories and deeply nested quest structures
- Standard:
- Supports multiple FTB Quest directory structures:
- Patchouli Guidebook Translation: Translates Patchouli guidebooks within mod JAR files
- Multi-Language Support: Built-in targets include Japanese, Simplified Chinese, Korean, German, French, Spanish, Italian, Brazilian Portuguese, and Russian; custom language IDs are supported too
- AI-Powered: Uses advanced language models for high-quality translations
- Provider Choice: Connect your own OpenAI, Anthropic, or Google Gemini API key
- Signed Updates: Tauri's updater verifies signed update artifacts before installation
- Progress Tracking: Real-time progress display with interrupt capability
- Batch API: Optional asynchronous translation through OpenAI, Anthropic, or Gemini; configure it separately for each provider
The app interface can be selected in English, Japanese, Simplified Chinese, Korean, German, French, Spanish, Italian, Brazilian Portuguese, or Russian. Additional UI translations are machine-generated and may contain awkward wording; corrections are welcome. Translation output is separate and supports built-in and custom Minecraft languages.
Download the latest release for your platform from the Releases page:
- Windows: Download the
.exeor.msiinstaller - macOS: Download the
.dmgfile (Intel or Apple Silicon) - Linux: Download the
.AppImageor.debpackage
To translate with an AI provider, create your own API key and enter it in Settings → LLM Settings. OpenAI key setup · 日本語ガイド
API usage is billed by the provider and is separate from ChatGPT subscriptions. The desktop app saves keys in the operating system credential store and removes them from config.json on save. See the API key security guide.
The app checks for published releases and installs updates only after Tauri verifies their signatures. See Updater and release maintenance if you maintain this project.
Choose the app language from the language menu in the header. This is separate from the target language selected for a translation job.
- Open Settings (the gear button) → LLM Settings, choose a provider and model, enter your own API key, and save. See the API key guide. API calls are billed by your provider, so start with a small selection.
- Open Mods, Quests, Guidebooks, or Custom Files. Select the Minecraft game directory itself—the folder containing
modsandconfig. For Prism Launcher, this is usuallyinstances/<instance>/minecraft, not the instance folder above it. - Choose a target language, click Scan, review the detected items, then click Translate. The progress/log dialog shows what is running and any errors.
- Mod translations are written as a resource pack under the selected directory's
resourcepacksfolder; enable that pack in Minecraft's Options → Resource Packs. Back up the instance before translating quests or other files that are written into the profile.
- Clone the repository:
git clone https://github.com/Y-RyuZU/MinecraftModsLocalizer.git
cd MinecraftModsLocalizer- Install dependencies:
bun install- Run in development mode:
bun run tauri devTo build the application for your current platform:
bun run tauri buildThis project uses GitHub Actions for continuous integration and deployment.
-
Build and Release (
build.yml)- Triggered on pushes to main, tags, and pull requests
- Runs tests, linting, and type checking
- Builds release artifacts for Windows, macOS (Intel & ARM), and Linux (PR validation runs separately)
- Creates draft releases for version tags
-
PR Validation (
pr-validation.yml)- Validates pull requests with linting, formatting, and tests
- Runs security scans with cargo audit
-
The release job includes Tauri-signed updater artifacts and generates the platform
latest.jsonbefore creating a draft release.
- Keep
package.json,src-tauri/tauri.conf.json,src-tauri/Cargo.toml, and the app entry insrc-tauri/Cargo.lockin sync; runpython scripts/prepare-release.py --check-version - Commit and push changes
- Create and push a version tag:
git tag v3.0.0 git push origin v3.0.0
- GitHub Actions builds installers, updater bundles and signatures, then creates a draft release containing
latest.json - Verify the draft assets and manifest, edit release notes, and publish. The in-app updater will only see a published release.
Release signing setup and checks are documented in docs/updater.md.
Run the test suite:
# Run Bun unit tests
bun run test
# Run with Jest
bun run test:jest
# Run with coverage
bun run test:coverage
# Check release preparation (Python 3.11+)
python -m unittest discover -s scripts -p 'test_*.py'Contributions are welcome! Please feel free to submit a Pull Request.
You can help make the app easier to discover and use worldwide by contributing a README or UI translation. The source of truth for interface strings is public/locales/en/common.json; Japanese translations are in public/locales/ja/common.json. The other eight UI locales are machine-generated from English. When updating strings, keep every locale's key structure and {{...}} interpolation variables in sync; review and improve machine-translated wording in pull requests.
This project is licensed under the MIT License - see the LICENSE file for details.
