Skip to content

CyanBukkit/Translate_AllinOne

 
 

Repository files navigation

Translate All in One

Preview Notice

  • Current target version: Minecraft 1.21.10
  • Platform: Fabric (Client-side)
  • Java: 21+
  • This project is actively evolving. Feedback and bug reports are welcome in Issues.

An in-game AI translation mod for Minecraft that supports chat, chat input, item tooltip, and scoreboard translation with multi-provider routing, an AI chat-input assistant panel, and a fully in-game configuration workflow.


English

What It Can Do Right Now

Translation modules

Module What it does Highlights
Chat Output Translates incoming chat lines Auto mode or manual [T] click mode, optional streaming display
Chat Input Translates your text before send Hotkey-driven translation plus AI rewrite actions (Translate/Professional/Friendly/Expand/Concise/Restore), optional streaming update
Item Tooltip Translates item custom name and lore Template/style-preserving pipeline, async cache queue
Scoreboard Sidebar Translates prefix/suffix and player name display Real-time replacement with style-preserving reconstruction

AI provider and routing system

  • Multiple provider profiles in one config.
  • Provider types:
    • OPENAI_COMPAT (/chat/completions)
    • OPENAI_RESPONSE (/responses)
    • OLLAMA (/api/chat)
  • Per-route model selection for:
    • Chat Output
    • Chat Input
    • Item Translation
    • Scoreboard Translation
  • Each module has an independent Target Language field.

Model-level controls

  • Model ID
  • Temperature
  • Ollama keep_alive (for Ollama profiles)
  • Supports system message toggle
  • Inject system prompt into user message toggle (used when system-message mode is disabled)
  • Structured output toggle with compatibility fallback
  • Prompt suffix
  • Custom parameters (JSON tree editor)
  • Set as default model

Runtime behavior and reliability

  • Translation pipeline preserves style markers/placeholders/tokens as much as possible.
  • Item and scoreboard template caches persisted on disk.
  • Retry queue prioritizes requeued failed items (front-of-queue retry).
  • Batch translation with configurable batch size/thread count (item/scoreboard).
  • Session-epoch guard prevents stale async callbacks from writing outdated results after world/session switches.
  • Missing-key and key-mismatch detection triggers prioritized retries with clear in-game fallback/status behavior.

Command and update helpers

  • Startup update check against GitHub releases (latest tag detection).
  • In-game update notice in chat and config modal, with one-click open release page.
  • Client command: translate_allinone translatechatline <messageId> for manual chat-line retranslation (used by manual [T] workflows).

In-game config UI features

  • Full ModMenu-based custom config screen.
  • Structured sections with group boxes.
  • Scroll + clipping + scrollbar drag support for long content.
  • Provider/model operations inside game: add/remove providers, test connection, manage route models, set default model, edit custom JSON parameters.
  • Unified action flow:
    • Done = save and close
    • Cancel = discard unsaved changes
    • Reset (red button) = reset to defaults after confirmation
  • Built-in hotkey capture in config UI (no legacy requirement to bind in Minecraft Controls for these module bindings).
  • Config-side update notice modal supports opening the latest release page directly.

Requirements

  • Minecraft 1.21.10
  • Fabric Loader >= 0.18.1
  • Java >= 21
  • Fabric API
  • ModMenu >= 16.0.0

Installation

  1. Install Fabric Loader for Minecraft 1.21.10.
  2. Put these jars into your mods folder:
    • translate-all-in-one-*.jar
    • Fabric API
    • ModMenu
  3. Launch the game and open ModMenu.
  4. Open Translate All in One config and set provider/model routes.

Quick Start

  1. Add at least one provider profile in Providers.
  2. Add models under the provider and set route models for each module.
  3. Set module target language (Chat Output/Input, Item, Scoreboard).
  4. Configure hotkeys/modes where needed.
  5. Click Done to save and close.

Config and Runtime Files

  • Main config:
    • config/translate_allinone/config.json
  • Caches:
    • config/translate_allinone/item_translate_cache.json
    • config/translate_allinone/scoreboard_translate_cache.json

Build From Source

./gradlew build

Useful commands:

./gradlew check
./gradlew runClient

License

MIT. See LICENSE.


简体中文

当前已实现功能(完整)

翻译模块

模块 功能 主要特点
聊天输出翻译 翻译收到的聊天消息 支持自动翻译和手动 [T] 点击翻译,支持流式显示
聊天输入翻译 发送前翻译输入框内容 快捷键触发翻译 + AI 改写面板(翻译/专业/友好/扩写/简化/还原),可流式回填输入框
物品翻译 翻译物品名称与 Lore 模板/样式保留,异步缓存队列
计分板翻译 翻译侧边栏显示文本 前后缀与玩家名按配置实时替换

服务商与路由能力

  • 同时支持多个服务商配置档案。
  • 支持的 provider 类型:
    • OPENAI_COMPAT/chat/completions
    • OPENAI_RESPONSE/responses
    • OLLAMA/api/chat
  • 可为每个功能模块独立设置路由模型:
    • 聊天输出
    • 聊天输入
    • 物品翻译
    • 计分板翻译
  • 每个模块都可独立配置目标语言。

模型级参数(Model Settings)

  • 模型 ID
  • Temperature
  • Ollama keep_alive(仅 Ollama)
  • 是否支持 System 消息
  • 当不支持 System 消息时,是否将提示词注入用户消息
  • 结构化输出开关(带兼容回退)
  • 提示词后缀
  • 自定义参数(JSON 树编辑)
  • 设为默认模型

运行时特性与稳定性

  • 翻译流程尽量保留样式标记、占位符与关键 token。
  • 物品与计分板采用持久化模板缓存,减少重复请求。
  • 失败重试任务使用更高优先级(进入队列前部)。
  • 物品/计分板支持批处理与并发参数配置。
  • 会话 Epoch 防护:切换世界/会话后,旧异步回调不会回写过期翻译结果。
  • missing key / key mismatch 会触发优先重试,并提供更明确的游戏内状态回退与反馈。

命令与更新提醒

  • 启动时自动检查 GitHub 最新版本(tag)。
  • 在聊天栏与配置界面内提供更新提示,并支持一键打开 Release 页面。
  • 提供客户端命令:translate_allinone translatechatline <messageId>,用于手动重翻译聊天行([T] 流程会使用该链路)。

配置界面特性

  • 基于 ModMenu 的完整自定义配置界面。
  • 分组框布局(Basic / Hotkey / Performance / Route / Providers)。
  • 支持滚动、裁剪、滚动条拖动,长列表/小窗口可正常使用。
  • 可在游戏内完成 provider/model 管理:新增/删除服务商、测试连接、设置路由模型、设为默认模型、自定义参数树编辑。
  • 顶部动作统一:
    • 完成 = 保存并关闭
    • 取消 = 放弃未保存修改
    • 重置(红色按钮)= 二次确认后恢复默认配置
  • 模块快捷键支持在配置界面内直接捕获与清除。
  • 配置界面的更新提示弹窗支持直接打开最新版本发布页。

运行环境要求

  • Minecraft 1.21.10
  • Fabric Loader >= 0.18.1
  • Java >= 21
  • Fabric API
  • ModMenu >= 16.0.0

安装步骤

  1. 安装 Minecraft 1.21.10 对应的 Fabric Loader。
  2. 将以下文件放入 mods 文件夹:
    • translate-all-in-one-*.jar
    • Fabric API
    • ModMenu
  3. 启动游戏并在 ModMenu 中打开本模组配置。
  4. 配置服务商、模型与路由后保存。

快速配置建议

  1. Providers 中先添加至少一个服务商。
  2. 为服务商添加模型,并设置各模块路由模型。
  3. 分别填写四个模块的目标语言。
  4. 配置需要的快捷键与模式。
  5. 点击 完成 保存。

配置与缓存文件

  • 主配置:
    • config/translate_allinone/config.json
  • 缓存文件:
    • config/translate_allinone/item_translate_cache.json
    • config/translate_allinone/scoreboard_translate_cache.json

从源码构建

./gradlew build

常用命令:

./gradlew check
./gradlew runClient

许可证

本项目采用 MIT License

About

对 小龙虾兼容 A powerful Minecraft server content AI translation mod, allowing you to easily enjoy international servers!一个强大的 Minecraft 服务器内容AI翻译模组,让您轻松畅玩国际服务器!

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages

  • Java 100.0%