English | 简体中文
An in-game AI translation mod for the Minecraft client.
Features
- Chat output - translates incoming chat messages.
- Chat input - translates the text in the input box before you send it.
- Item tooltips - translates item names and lore.
- Scoreboard - translates scoreboard text.
- Signs - translates the front and back text of visible signs within range.
- Entity text - translates custom names of non-player entities, plus optional text-display entities and item-entity hover names.
- Books - translates the book reading screen.
- Screen UI - translates text on other mods' configuration screens.
WynnCraft
- WynnCraft NPC dialogue - replacing the original overlay text by default, you can also translates dialogue and clickable options into a movable HUD.
- WynnCraft quest tracking - translates quest titles, types and descriptions in Wynntils
ContentTrackerand similar integrations.
Other features
- Translation cache - the same line is translated only once and reused from cache afterwards.
- Custom prompts - every provider can override the built-in system prompt per module;
{target_language}is substituted by the mod automatically. - Multiple providers - supports OpenAI-compatible endpoints, the Responses API and local Ollama models, with per-module routing models and target languages.
- Token usage - records token usage per model.
- Local dictionaries - let dictionaries answer before the model does; several dictionary files can be selected per slot.
First-time setup
- run /taio, or open the settings screen from the mod list in ModMenu.
- Under
Providers, add a provider and fill in its endpoint and API key. - Add a model to it.
- Under routing, choose which modules use that model.
- Set the target language for each module.
- Module translation is off by default; enable what you need.
FAQ
Does it change anything on the server? No. translation only changes what is rendered on your client.
Where does my text go? Translation text is sent to the AI provider you configured.
简体中文
功能
- 聊天输出翻译 - 翻译收到的聊天消息。
- 聊天输入翻译 - 发送前翻译输入框里的内容。
- 物品 Tooltip - 翻译物品名称与 Lore。
- 计分板翻译 - 翻译计分板文本。
- 告示牌翻译 - 翻译范围内可见告示牌的正反面文字。
- 实体文本翻译 - 翻译非玩家实体的自定义名称,以及可选的文本展示实体与掉落物悬浮名称。
- 书本翻译 - 翻译书本阅读界面。
- 界面翻译 - 翻译其他模组配置界面上的文字。
WynnCraft
- WynnCraft NPC 对话 - 默认替换原有 overlay 文本,也可选把对话与可点击选项翻译到可移动的 HUD 上。
- WynnCraft 任务追踪 - 翻译 Wynntils
ContentTracker等集成里的任务标题、类型与描述。
其他功能
- 翻译缓存 —— 同一句只翻译一次,之后直接复用缓存。
- 自定义提示词 —— 每个供应商都能按模块覆盖内置系统提示词,
{target_language}由模组自动替换。 - 多服务商 —— 支持 OpenAI 兼容接口、Responses API 与本地 Ollama 模型,可逐模块指定路由模型与目标语言。
- Token 用量统计 —— 按模型记录 Token 用量。
- 本地字典 —— 让字典先于模型给出译文;每个槽位可选多个字典文件。
首次设置
- 输入 /taio,或在 ModMenu 的模组列表中打开设置界面。
- 在「供应商」中添加一个供应商,填写接口地址与 API Key。
- 为它添加模型。
- 在路由中指定哪些模块使用该模型。
- 设置各模块的目标语言。
- 各模块翻译功能默认关闭,按需开启。
常见问题
会改动服务器上的东西吗? 不会。翻译只改变客户端渲染结果。
我发出去的文字去哪了? 待翻译文本会发送给你配置的 AI 服务商。
All Versions
+ Add Version| Name | Game version | Platforms | Published | Downloads | Actions |
|---|---|---|---|---|---|
| 16d ago | 1 | ||||
| 16d ago | 1 | ||||
| 16d ago | 1 | ||||
| 16d ago | 1 | ||||
| 16d ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 2mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 3mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 4mo ago | 1 | ||||
| 5mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 | ||||
| 6mo ago | 1 |
- 配置界面新增逐项重置按钮,单个选项可单独恢复默认值。
- 提示词编辑器新增配置界面翻译条目。
- 各模型Token用量统计模块
### 改进与优化
- 翻译结果加入内容校验,模型原样回抄原文、只动格式、丢失占位符等无效结果会被拦下。
- 调整配置界面翻译的请求速率上限。
- 聊天输出翻译失败会自动重试。
- DeepSeek / MiMo 模型,在保存时会自动补上
thinking: disabled,避免思考消耗时间。 - 实体翻译不再每帧重建模板。
- 翻译失败现在能看到具体错误提示,不再一直卡在"翻译中"。
- 改进提示词编辑器
### 修复
- 修复配置界面翻译刷新热键不可用的问题。
- 修复配置界面翻译重试超出上限后,导致所有配置界面不翻译的问题。
- 修复配置界面整屏内容被当作玩家输入翻译失败的问题。
- 修复专有名词不再被当成"没翻译"而拒绝。
- 修复格式标签不再被当作受保护 token 导致整条被拒。
- 修复语言未知时不再误判回抄。
- 修复 tooltip 状态行的进度后缀重复叠加的问题。
- 修复翻译后的配置界面 ClickGUI 的排序混乱问题。
- 修复聊天输出开启自动翻译时,已有缓存的内容出现第一帧闪现英文原文的问题。
### Added
- Added per-option reset buttons to the config screen, so a single option can be restored to its default on its own.
- Added a screen translation entry to the prompt editor.
- Added token usage statistics for each model.
### Improvements
- Added content validation for translation results: invalid output such as a verbatim copy of the source, formatting-only changes, or dropped placeholders is now rejected.
- Adjusted the request rate limit for screen translation.
- Failed chat output translations now retry automatically.
- For DeepSeek / MiMo models,
thinking: disabledis now added automatically on save, so thinking no longer costs time. - Entity translation no longer rebuilds templates every frame.
- Failed translations now show a concrete error message instead of getting stuck on "translating".
- Improved the prompt editor.
### Fixed
- Fixed the screen translation refresh hotkey not working.
- Fixed all screens stopping translation after the screen translation retry limit was exceeded.
- Fixed whole screens being treated as player input, which made their translation fail.
- Fixed proper nouns being rejected as "untranslated".
- Fixed style tags being treated as protected tokens, which caused entire entries to be rejected.
- Fixed source-echo being misjudged when the language is unknown.
- Fixed the progress suffix on tooltip status lines being appended repeatedly.
- Fixed scrambled ClickGUI ordering after the screen was translated.
- Fixed cached chat content flashing the original English text on the first frame when auto-translation is enabled.
- 配置界面新增逐项重置按钮,单个选项可单独恢复默认值。
- 提示词编辑器新增配置界面翻译条目。
- 各模型Token用量统计模块
### 改进与优化
- 翻译结果加入内容校验,模型原样回抄原文、只动格式、丢失占位符等无效结果会被拦下。
- 调整配置界面翻译的请求速率上限。
- 聊天输出翻译失败会自动重试。
- DeepSeek / MiMo 模型,在保存时会自动补上
thinking: disabled,避免思考消耗时间。 - 实体翻译不再每帧重建模板。
- 翻译失败现在能看到具体错误提示,不再一直卡在"翻译中"。
- 改进提示词编辑器
### 修复
- 修复配置界面翻译刷新热键不可用的问题。
- 修复配置界面翻译重试超出上限后,导致所有配置界面不翻译的问题。
- 修复配置界面整屏内容被当作玩家输入翻译失败的问题。
- 修复专有名词不再被当成"没翻译"而拒绝。
- 修复格式标签不再被当作受保护 token 导致整条被拒。
- 修复语言未知时不再误判回抄。
- 修复 tooltip 状态行的进度后缀重复叠加的问题。
- 修复翻译后的配置界面 ClickGUI 的排序混乱问题。
- 修复聊天输出开启自动翻译时,已有缓存的内容出现第一帧闪现英文原文的问题。
### Added
- Added per-option reset buttons to the config screen, so a single option can be restored to its default on its own.
- Added a screen translation entry to the prompt editor.
- Added token usage statistics for each model.
### Improvements
- Added content validation for translation results: invalid output such as a verbatim copy of the source, formatting-only changes, or dropped placeholders is now rejected.
- Adjusted the request rate limit for screen translation.
- Failed chat output translations now retry automatically.
- For DeepSeek / MiMo models,
thinking: disabledis now added automatically on save, so thinking no longer costs time. - Entity translation no longer rebuilds templates every frame.
- Failed translations now show a concrete error message instead of getting stuck on "translating".
- Improved the prompt editor.
### Fixed
- Fixed the screen translation refresh hotkey not working.
- Fixed all screens stopping translation after the screen translation retry limit was exceeded.
- Fixed whole screens being treated as player input, which made their translation fail.
- Fixed proper nouns being rejected as "untranslated".
- Fixed style tags being treated as protected tokens, which caused entire entries to be rejected.
- Fixed source-echo being misjudged when the language is unknown.
- Fixed the progress suffix on tooltip status lines being appended repeatedly.
- Fixed scrambled ClickGUI ordering after the screen was translated.
- Fixed cached chat content flashing the original English text on the first frame when auto-translation is enabled.
- 配置界面新增逐项重置按钮,单个选项可单独恢复默认值。
- 提示词编辑器新增配置界面翻译条目。
- 各模型Token用量统计模块
### 改进与优化
- 翻译结果加入内容校验,模型原样回抄原文、只动格式、丢失占位符等无效结果会被拦下。
- 调整配置界面翻译的请求速率上限。
- 聊天输出翻译失败会自动重试。
- DeepSeek / MiMo 模型,在保存时会自动补上
thinking: disabled,避免思考消耗时间。 - 实体翻译不再每帧重建模板。
- 翻译失败现在能看到具体错误提示,不再一直卡在"翻译中"。
- 改进提示词编辑器
### 修复
- 修复配置界面翻译刷新热键不可用的问题。
- 修复配置界面翻译重试超出上限后,导致所有配置界面不翻译的问题。
- 修复配置界面整屏内容被当作玩家输入翻译失败的问题。
- 修复专有名词不再被当成"没翻译"而拒绝。
- 修复格式标签不再被当作受保护 token 导致整条被拒。
- 修复语言未知时不再误判回抄。
- 修复 tooltip 状态行的进度后缀重复叠加的问题。
- 修复翻译后的配置界面 ClickGUI 的排序混乱问题。
- 修复聊天输出开启自动翻译时,已有缓存的内容出现第一帧闪现英文原文的问题。
### Added
- Added per-option reset buttons to the config screen, so a single option can be restored to its default on its own.
- Added a screen translation entry to the prompt editor.
- Added token usage statistics for each model.
### Improvements
- Added content validation for translation results: invalid output such as a verbatim copy of the source, formatting-only changes, or dropped placeholders is now rejected.
- Adjusted the request rate limit for screen translation.
- Failed chat output translations now retry automatically.
- For DeepSeek / MiMo models,
thinking: disabledis now added automatically on save, so thinking no longer costs time. - Entity translation no longer rebuilds templates every frame.
- Failed translations now show a concrete error message instead of getting stuck on "translating".
- Improved the prompt editor.
### Fixed
- Fixed the screen translation refresh hotkey not working.
- Fixed all screens stopping translation after the screen translation retry limit was exceeded.
- Fixed whole screens being treated as player input, which made their translation fail.
- Fixed proper nouns being rejected as "untranslated".
- Fixed style tags being treated as protected tokens, which caused entire entries to be rejected.
- Fixed source-echo being misjudged when the language is unknown.
- Fixed the progress suffix on tooltip status lines being appended repeatedly.
- Fixed scrambled ClickGUI ordering after the screen was translated.
- Fixed cached chat content flashing the original English text on the first frame when auto-translation is enabled.
- 配置界面新增逐项重置按钮,单个选项可单独恢复默认值。
- 提示词编辑器新增配置界面翻译条目。
- 各模型Token用量统计模块
### 改进与优化
- 翻译结果加入内容校验,模型原样回抄原文、只动格式、丢失占位符等无效结果会被拦下。
- 调整配置界面翻译的请求速率上限。
- 聊天输出翻译失败会自动重试。
- DeepSeek / MiMo 模型,在保存时会自动补上
thinking: disabled,避免思考消耗时间。 - 实体翻译不再每帧重建模板。
- 翻译失败现在能看到具体错误提示,不再一直卡在"翻译中"。
- 改进提示词编辑器
### 修复
- 修复配置界面翻译刷新热键不可用的问题。
- 修复配置界面翻译重试超出上限后,导致所有配置界面不翻译的问题。
- 修复配置界面整屏内容被当作玩家输入翻译失败的问题。
- 修复专有名词不再被当成"没翻译"而拒绝。
- 修复格式标签不再被当作受保护 token 导致整条被拒。
- 修复语言未知时不再误判回抄。
- 修复 tooltip 状态行的进度后缀重复叠加的问题。
- 修复翻译后的配置界面 ClickGUI 的排序混乱问题。
- 修复聊天输出开启自动翻译时,已有缓存的内容出现第一帧闪现英文原文的问题。
### Added
- Added per-option reset buttons to the config screen, so a single option can be restored to its default on its own.
- Added a screen translation entry to the prompt editor.
- Added token usage statistics for each model.
### Improvements
- Added content validation for translation results: invalid output such as a verbatim copy of the source, formatting-only changes, or dropped placeholders is now rejected.
- Adjusted the request rate limit for screen translation.
- Failed chat output translations now retry automatically.
- For DeepSeek / MiMo models,
thinking: disabledis now added automatically on save, so thinking no longer costs time. - Entity translation no longer rebuilds templates every frame.
- Failed translations now show a concrete error message instead of getting stuck on "translating".
- Improved the prompt editor.
### Fixed
- Fixed the screen translation refresh hotkey not working.
- Fixed all screens stopping translation after the screen translation retry limit was exceeded.
- Fixed whole screens being treated as player input, which made their translation fail.
- Fixed proper nouns being rejected as "untranslated".
- Fixed style tags being treated as protected tokens, which caused entire entries to be rejected.
- Fixed source-echo being misjudged when the language is unknown.
- Fixed the progress suffix on tooltip status lines being appended repeatedly.
- Fixed scrambled ClickGUI ordering after the screen was translated.
- Fixed cached chat content flashing the original English text on the first frame when auto-translation is enabled.
- 配置界面新增逐项重置按钮,单个选项可单独恢复默认值。
- 提示词编辑器新增配置界面翻译条目。
- 各模型Token用量统计模块
### 改进与优化
- 翻译结果加入内容校验,模型原样回抄原文、只动格式、丢失占位符等无效结果会被拦下。
- 调整配置界面翻译的请求速率上限。
- 聊天输出翻译失败会自动重试。
- DeepSeek / MiMo 模型,在保存时会自动补上
thinking: disabled,避免思考消耗时间。 - 实体翻译不再每帧重建模板。
- 翻译失败现在能看到具体错误提示,不再一直卡在"翻译中"。
- 改进提示词编辑器
### 修复
- 修复配置界面翻译刷新热键不可用的问题。
- 修复配置界面翻译重试超出上限后,导致所有配置界面不翻译的问题。
- 修复配置界面整屏内容被当作玩家输入翻译失败的问题。
- 修复专有名词不再被当成"没翻译"而拒绝。
- 修复格式标签不再被当作受保护 token 导致整条被拒。
- 修复语言未知时不再误判回抄。
- 修复 tooltip 状态行的进度后缀重复叠加的问题。
- 修复翻译后的配置界面 ClickGUI 的排序混乱问题。
- 修复聊天输出开启自动翻译时,已有缓存的内容出现第一帧闪现英文原文的问题。
### Added
- Added per-option reset buttons to the config screen, so a single option can be restored to its default on its own.
- Added a screen translation entry to the prompt editor.
- Added token usage statistics for each model.
### Improvements
- Added content validation for translation results: invalid output such as a verbatim copy of the source, formatting-only changes, or dropped placeholders is now rejected.
- Adjusted the request rate limit for screen translation.
- Failed chat output translations now retry automatically.
- For DeepSeek / MiMo models,
thinking: disabledis now added automatically on save, so thinking no longer costs time. - Entity translation no longer rebuilds templates every frame.
- Failed translations now show a concrete error message instead of getting stuck on "translating".
- Improved the prompt editor.
### Fixed
- Fixed the screen translation refresh hotkey not working.
- Fixed all screens stopping translation after the screen translation retry limit was exceeded.
- Fixed whole screens being treated as player input, which made their translation fail.
- Fixed proper nouns being rejected as "untranslated".
- Fixed style tags being treated as protected tokens, which caused entire entries to be rejected.
- Fixed source-echo being misjudged when the language is unknown.
- Fixed the progress suffix on tooltip status lines being appended repeatedly.
- Fixed scrambled ClickGUI ordering after the screen was translated.
- Fixed cached chat content flashing the original English text on the first frame when auto-translation is enabled.
- 严格限制翻译第三方配置界面时的请求上限
## Fix
- Strictly limit the request cap when translating third-party configuration interfaces.
- 严格限制翻译第三方配置界面时的请求上限
## Fix
- Strictly limit the request cap when translating third-party configuration interfaces.
- 严格限制翻译第三方配置界面时的请求上限
## Fix
- Strictly limit the request cap when translating third-party configuration interfaces.
- 严格限制翻译第三方配置界面时的请求上限
## Fix
- Strictly limit the request cap when translating third-party configuration interfaces.
- API Key 现在会使用UUID+随机密钥进行加密保存,配置文件不再明文存储API Key。
- 不同UUID可以分别保存并使用已加密的 API Key,切换账号不会互相覆盖。
- 版本升级备份中的 API Key 也会一并加密,降低备份泄露风险。
- 如果 API Key 在当前UUID下无法解密:
- 在聊天中给出提示;
- 阻止相关翻译请求;
- 点击提示中的提供商名称可直达对应配置页重新填写。
## 优化与修复
- 修复屏幕翻译会错误翻译聊天框内容的问题
- 修复 SkyBlock NPC 在嵌套/包装聊天消息中无法被识别的问题
- 修复批量翻译时单条内容格式异常导致整批失败的问题
- 优化缓存实体名称、文本显示等翻译渲染结果,减少重复计算
- 优化缓存文本显示布局拆分结果
- 优化翻译时动画效果,限制重建频率
- 优化各模块提示词结构
## API Key Security
- API keys are now encrypted and stored using a UUID plus a random secret key; API keys are no longer stored in plaintext in the config file.
- Different UUIDs can save and use their own encrypted API keys without overwriting each other when switching accounts.
- API keys in version upgrade backups are also encrypted, reducing the risk of backup leaks.
- If an API key cannot be decrypted for the current UUID:
- A notification is shown in chat;
- Related translation requests are blocked;
- Clicking the provider name in the notification opens the corresponding config page to re-enter the key.
## Optimized and Fixes
- Fixed screen translation incorrectly translating chat input/chat box content.
- Fixed SkyBlock NPCs not being detected in nested/wrapped chat messages.
- Fixed batch translation failures where one malformed item caused the entire batch to fail.
- Optimized caching for translated rendering results such as entity names and text displays, reducing duplicate computation.
- Optimized caching of text display layout split results.
- Optimized translation animations by limiting rebuild frequency.
- Optimize the prompt structure of each module.
- API Key 现在会使用UUID+随机密钥进行加密保存,配置文件不再明文存储API Key。
- 不同UUID可以分别保存并使用已加密的 API Key,切换账号不会互相覆盖。
- 版本升级备份中的 API Key 也会一并加密,降低备份泄露风险。
- 如果 API Key 在当前UUID下无法解密:
- 在聊天中给出提示;
- 阻止相关翻译请求;
- 点击提示中的提供商名称可直达对应配置页重新填写。
## 优化与修复
- 修复屏幕翻译会错误翻译聊天框内容的问题
- 修复 SkyBlock NPC 在嵌套/包装聊天消息中无法被识别的问题
- 修复批量翻译时单条内容格式异常导致整批失败的问题
- 优化缓存实体名称、文本显示等翻译渲染结果,减少重复计算
- 优化缓存文本显示布局拆分结果
- 优化翻译时动画效果,限制重建频率
- 优化各模块提示词结构
## API Key Security
- API keys are now encrypted and stored using a UUID plus a random secret key; API keys are no longer stored in plaintext in the config file.
- Different UUIDs can save and use their own encrypted API keys without overwriting each other when switching accounts.
- API keys in version upgrade backups are also encrypted, reducing the risk of backup leaks.
- If an API key cannot be decrypted for the current UUID:
- A notification is shown in chat;
- Related translation requests are blocked;
- Clicking the provider name in the notification opens the corresponding config page to re-enter the key.
## Optimized and Fixes
- Fixed screen translation incorrectly translating chat input/chat box content.
- Fixed SkyBlock NPCs not being detected in nested/wrapped chat messages.
- Fixed batch translation failures where one malformed item caused the entire batch to fail.
- Optimized caching for translated rendering results such as entity names and text displays, reducing duplicate computation.
- Optimized caching of text display layout split results.
- Optimized translation animations by limiting rebuild frequency.
- Optimize the prompt structure of each module.
- API Key 现在会使用UUID+随机密钥进行加密保存,配置文件不再明文存储API Key。
- 不同UUID可以分别保存并使用已加密的 API Key,切换账号不会互相覆盖。
- 版本升级备份中的 API Key 也会一并加密,降低备份泄露风险。
- 如果 API Key 在当前UUID下无法解密:
- 在聊天中给出提示;
- 阻止相关翻译请求;
- 点击提示中的提供商名称可直达对应配置页重新填写。
## 优化与修复
- 修复屏幕翻译会错误翻译聊天框内容的问题
- 修复 SkyBlock NPC 在嵌套/包装聊天消息中无法被识别的问题
- 修复批量翻译时单条内容格式异常导致整批失败的问题
- 优化缓存实体名称、文本显示等翻译渲染结果,减少重复计算
- 优化缓存文本显示布局拆分结果
- 优化翻译时动画效果,限制重建频率
- 优化各模块提示词结构
## API Key Security
- API keys are now encrypted and stored using a UUID plus a random secret key; API keys are no longer stored in plaintext in the config file.
- Different UUIDs can save and use their own encrypted API keys without overwriting each other when switching accounts.
- API keys in version upgrade backups are also encrypted, reducing the risk of backup leaks.
- If an API key cannot be decrypted for the current UUID:
- A notification is shown in chat;
- Related translation requests are blocked;
- Clicking the provider name in the notification opens the corresponding config page to re-enter the key.
## Optimized and Fixes
- Fixed screen translation incorrectly translating chat input/chat box content.
- Fixed SkyBlock NPCs not being detected in nested/wrapped chat messages.
- Fixed batch translation failures where one malformed item caused the entire batch to fail.
- Optimized caching for translated rendering results such as entity names and text displays, reducing duplicate computation.
- Optimized caching of text display layout split results.
- Optimized translation animations by limiting rebuild frequency.
- Optimize the prompt structure of each module.
- API Key 现在会使用UUID+随机密钥进行加密保存,配置文件不再明文存储API Key。
- 不同UUID可以分别保存并使用已加密的 API Key,切换账号不会互相覆盖。
- 版本升级备份中的 API Key 也会一并加密,降低备份泄露风险。
- 如果 API Key 在当前UUID下无法解密:
- 在聊天中给出提示;
- 阻止相关翻译请求;
- 点击提示中的提供商名称可直达对应配置页重新填写。
## 优化与修复
- 修复屏幕翻译会错误翻译聊天框内容的问题
- 修复 SkyBlock NPC 在嵌套/包装聊天消息中无法被识别的问题
- 修复批量翻译时单条内容格式异常导致整批失败的问题
- 优化缓存实体名称、文本显示等翻译渲染结果,减少重复计算
- 优化缓存文本显示布局拆分结果
- 优化翻译时动画效果,限制重建频率
- 优化各模块提示词结构
## API Key Security
- API keys are now encrypted and stored using a UUID plus a random secret key; API keys are no longer stored in plaintext in the config file.
- Different UUIDs can save and use their own encrypted API keys without overwriting each other when switching accounts.
- API keys in version upgrade backups are also encrypted, reducing the risk of backup leaks.
- If an API key cannot be decrypted for the current UUID:
- A notification is shown in chat;
- Related translation requests are blocked;
- Clicking the provider name in the notification opens the corresponding config page to re-enter the key.
## Optimized and Fixes
- Fixed screen translation incorrectly translating chat input/chat box content.
- Fixed SkyBlock NPCs not being detected in nested/wrapped chat messages.
- Fixed batch translation failures where one malformed item caused the entire batch to fail.
- Optimized caching for translated rendering results such as entity names and text displays, reducing duplicate computation.
- Optimized caching of text display layout split results.
- Optimized translation animations by limiting rebuild frequency.
- Optimize the prompt structure of each module.
- 修复配置翻译会重复请求的问题
### Fixed
- Fixed the issue screen-ui translation would make duplicate requests.
- 修复配置翻译会重复请求的问题
### Fixed
- Fixed the issue screen-ui translation would make duplicate requests.