跳到正文

Chatglot – Chat Translation

作者:yoima

通过多种服务提供商实时翻译 Minecraft 聊天消息,并支持可选的自动翻译功能。

收藏

截图

介绍

介绍由机器翻译自 Modrinth 原页面,仅供参考。

Chatglot

Chat translation examples
Chatglot 是一款 Fabric 客户端模组,可即时翻译 Minecraft 聊天消息。
每条聊天消息旁都会添加一个翻译按钮(默认为 ✍)。点击按钮,或交给自动翻译处理,译文便会显示在聊天栏中,可以作为新行显示,也可以替换原始消息。

仅限客户端使用。无需在服务器安装。

功能

  • 为每条聊天消息添加翻译按钮(标签可配置)
  • 点击翻译或自动翻译聊天内容
  • 开箱即用 —— 默认翻译服务使用 Google 翻译的免费网页 API,无需 API 密钥、账号或额外设置
  • 本地翻译缓存 —— 重复消息无需再次请求即可即时显示
  • 译文可作为新行显示,或替换原始聊天消息
  • 告示牌和悬挂式告示牌翻译
  • 看向告示牌并按 G 即可翻译其文字
  • 书籍翻译
  • 手持成书或查看讲台上的书时,按 G 或点击 Translate 即可翻译当前页
  • 可通过 Translate 按钮翻译书与笔中的页面(不会更改页面内容)
  • 聊天输入翻译
  • 在聊天输入框中选择发送语言,并在发送前预览草稿的译文
  • 按 Tab 或点击即可应用预览译文
  • 按 F8 或输入 /chatglot config 打开设置界面
  • 使用 /chatglot translate <id> 翻译指定聊天消息

sign translation

翻译服务

Chatglot 支持多种翻译后端。可在设置界面中切换。

| 翻译服务 | 所需条件 |
|—|—|
| default | 无。使用 Google 翻译的免费非官方网页 API(不是付费的 Cloud Translation API)。该 API 可能受到限制或在不另行通知的情况下发生变化。 |
| gas | 你自己的 Google Apps Script 网页应用 URL |
| deepl | DeepL API 密钥 |
| google | Google Cloud Translation API 密钥 |
| openai | OpenAI API 密钥 |
| gemini | Gemini API 密钥 |
| anthropic | Anthropic API 密钥 |
| azure | Azure Translator API 密钥和区域 |
| codex | 浏览器 OAuth(一次性授权,令牌存储在本地) |
| translategemma_local | 仅限 Windows。下载 llama.cpp 和 TranslateGemma GGUF 模型,然后通过 localhost 运行本地后端 |

推荐的翻译服务

  • Default:最适合入门使用。免费、无需设置,并支持自动翻译。由于依赖非官方 API,使用量较大时 Google 可能会限制请求;遇到这种情况可切换到其他翻译服务。
  • GAS:如果你想使用自己的 Google 账号免费设置,这是个不错的选择。Google Apps Script 文档显示,个人账号每天最多可调用 5,000 次翻译,但配额可能会变化。请参阅 Apps Script 配额。
  • Codex:如果你已经订阅 ChatGPT,推荐使用此服务。OpenAI 表示,ChatGPT Plus、Pro、Business、Edu 和 Enterprise 计划均包含 Codex,使用限额因计划而异。请参阅 在 ChatGPT 计划中使用 Codex。
  • Azure:如果你希望使用官方 API 并享有免费额度,这是个不错的选择。根据 Microsoft 的定价页面,Azure Translator F0 每月免费提供 2 million 个字符。请参阅 Azure Translator 定价。
  • TranslateGemma:如果你的电脑有足够的性能余量来运行本地推理,这是个不错的选择。完成设置后,它会通过 localhost 在本地运行,速度可能很快,而且每次请求都无需调用付费 API。但你需要下载 llama.cpp 运行时和 TranslateGemma GGUF 模型。

配置

配置文件位于 config/chatglot/chatglot.json。

主要设置:

  • enabled — 完全启用或禁用该模组
  • autoTranslateEnabled — 切换自动翻译
  • outgoingTargetLanguage — 翻译你自己聊天草稿的默认语言(默认:英语)
  • targetLanguage — 例如 JA、EN、EN-US、ZH-HANS(默认为你的 Minecraft 语言)
  • provider — 选择你的翻译后端
  • overwriteOriginalWithTranslation — 用翻译替换原始消息,而不是添加新行
  • appendTranslateButton — 显示或隐藏 ✍ 按钮
  • translateButtonLabel — 自定义按钮标签
  • showTranslationPrefix — 显示或隐藏翻译消息前缀
  • requestTimeoutSeconds — 网络超时(5–240 秒)
  • maxConcurrentTranslations — 最大并行翻译请求数(1–16)
  • useSharedAppDataSettings — 通过 %LOCALAPPDATA% 共享 API 密钥、模型设置和本地后端设置
  • translationCacheEnabled — 启用本地翻译缓存(默认:true)
  • translationCacheMaxEntries — 缓存翻译的最大条目数(默认:5000)

翻译缓存

成功的翻译会保存到 config/chatglot/translation-cache.json,并在相同文本、语言和后端设置下重复使用。达到上限后会移除最旧的条目。可通过 /chatglot cache clear 或设置界面中的按钮清除缓存。

缓存会以明文形式将原始文本(包括聊天消息)存储在你的电脑上。API 密钥和其他凭据绝不会存储在其中。

TranslateGemma 本地后端

translategemma_local 是仅限 Windows 的本地翻译选项。它不会在 Minecraft JVM 内运行推理。相反,它通过 127.0.0.1 / localhost 使用单独的本地后端进程。

当你在配置界面使用 TranslateGemma 设置按钮时,Chatglot 会:

  • 下载预构建的 llama.cpp Windows 运行时
  • 下载 TranslateGemma GGUF 模型文件
  • 在本地启动 llama-server.exe 并将翻译请求发送到该本地服务器

默认模型为 mradermacher/translategemma-4b-it-GGUF,使用 translategemma-4b-it.Q4_K_M.gguf。

默认情况下,Chatglot 会将本地后端运行时、模型、日志和状态存储在:

  • 禁用共享 AppData 设置时:config/chatglot/local-backend/
  • 启用共享 AppData 设置时:%LOCALAPPDATA%/ChatglotLocal/

你也可以从配置界面覆盖运行时路径、模型路径、下载 URL 或共享目录。

共享设置存储

如果启用了 useSharedAppDataSettings,Chatglot 会将共享设置存储在 %LOCALAPPDATA% 中,以便多个启动配置可以复用它们。

这可能包括:

  • 受支持的翻译后端的 API 密钥
  • Codex 令牌文件位置及相关模型设置
  • TranslateGemma 本地后端设置,例如运行时路径、模型路径、端口和共享目录

共享设置存储在你的电脑本地。仅因为启用了此选项,它们不会被上传到任何地方。

隐私声明 — 外部数据传输

此模组会将聊天文本发送到外部翻译服务。 目标位置取决于你选择的后端。

翻译聊天草稿仅在你按下翻译按钮时才会发送输入框中的文本。输入内容或打开语言选择器不会发送草稿。本地缓存中已有的结果会直接显示,而不会发送请求。

  • default提供方:聊天文本会发送到 Google 非官方网页翻译 API (translate.googleapis.com)。该服务免费且无需设置,但 Google 可能随时限制或更改访问权限,恕不另行通知。请参阅 Google 隐私权政策。
  • gas提供方:聊天文本会发送到你配置的 Google Apps Script 网页应用 URL。请求会通过 Google 的基础设施处理。请参阅 Google Apps Script 附加条款和Google API 服务用户数据政策。
  • openai提供方:聊天文本会使用你的 API 密钥发送到 OpenAI API。请参阅 OpenAI 数据控制。
  • codex提供方:使用基于浏览器的 OAuth,在本地存储令牌,然后使用该令牌将聊天文本发送到 OpenAI 服务。此模组还会从 https://modelapi.yoima.com/api/codex-models/list获取可用模型列表。不会向该模型列表端点发送任何聊天内容。
  • gemini提供方:聊天文本会发送到 Gemini API。如需使用 Google AI Studio / Gemini API,请查看此处的提供方条款:Gemini API 条款。
  • deepl提供方:聊天文本会发送到 DeepL API。请参阅 DeepL 隐私政策。
  • anthropic提供方:聊天文本会使用你的 API 密钥发送到 Anthropic 服务。请参阅 Anthropic 隐私政策。
  • azure提供方:聊天文本会使用你的 API 密钥发送到 Azure Translator。请参阅 Azure Translator 的数据、隐私和安全。
  • google提供方:聊天文本会使用你的 API 密钥发送到 Google Cloud Translation。请参阅 Google Cloud 隐私声明。
  • translategemma_local提供方:聊天文本只会发送到运行于 127.0.0.1 / localhost 的本地后端。设置过程中,此模组会从该模组配置的第三方托管源下载 llama.cpp运行时和 TranslateGemma GGUF 模型。

源代码与许可

源代码:GitHub — yoima-jp/Chatglot
许可证:MIT

常见问题

Chatglot – Chat Translation 支持哪些 Minecraft 版本?

Chatglot – Chat Translation 支持 Minecraft Java 版 1.21.4–26.3,共 7 个版本,可用的加载器:Fabric。下载时注意选择和你游戏版本一致的文件。

Chatglot – Chat Translation 怎么安装?

先用 PCL2 或 HMCL 启动器安装对应版本的 Fabric,再把下载的 .jar 文件放进游戏目录的 mods 文件夹,重新启动游戏即可。开启了版本隔离的,mods 文件夹在 versions/版本名 下面。运行环境:仅客户端。

评论

登录后评论和评分

yoima 的其他作品

查看全部 →