LunaTranslator项目介绍
LunaTranslator是一款专为galgame设计的翻译工具,具备强大的多语言支持和丰富的功能模块。它支持多种文本获取方式(剪贴板、OCR、HOOK)、集成众多翻译引擎(离线/在线/付费)、提供语音合成功能(TTS),并内置文本处理优化和日语学习辅助工具。项目开源且支持社区贡献,是galgame玩家和日语学习者的高效解决方案。
LunaTranslator的功能概述
LunaTranslator是一款专为galgame设计的翻译工具,具备强大的多语言支持和丰富的功能模块。以下是对其主要功能的详细概述:
1. 文本源支持
LunaTranslator支持多种文本获取方式,确保用户能够灵活地从不同来源提取文本进行翻译:
- 剪贴板:直接从剪贴板中获取文本。
- OCR(光学字符识别):支持多种OCR引擎,包括WindowsOCR、百度OCR、有道OCR、Tesseract5等。
- HOOK技术:通过HOOK方式从游戏中提取文本,支持自动保存游戏和HOOK配置。
2. 翻译引擎
LunaTranslator集成了众多翻译引擎,满足用户对不同翻译服务的需求:
- 离线翻译:支持JBeijing7、金山快译、译典通等离线翻译工具。
- 免费在线翻译:支持百度、必应、谷歌、DeepL等免费在线翻译服务。
- 付费在线翻译:支持用户注册的百度、腾讯、有道等付费翻译API。
- 自定义扩展:用户可以通过Python脚本扩展其他翻译接口。
3. 语音合成(TTS)
LunaTranslator提供多种语音合成方案,支持离线与在线TTS:
- 离线TTS:支持WindowsTTS、VoiceRoid2、VOICEVOX等。
- 在线TTS:支持火山TTS、EdgeTTS、谷歌TTS等。
4. 翻译优化
LunaTranslator内置多种文本处理和翻译优化功能:
- 文本处理:支持去重、过滤HTML标签、调整行距等操作。
- 翻译优化:支持自定义专有名词翻译,并可导入VNR共享词典。
5. 日语学习辅助
针对日语学习者,LunaTranslator提供了丰富的辅助功能:
- 日语分词与假名显示:支持Mecab分词和假名标注。
- 词典查询:支持小学馆、灵格斯、EDICT等多种词典。
- Anki集成:支持一键将单词添加到Anki中。
6. 多语言支持
LunaTranslator支持多种语言界面,包括简体中文、英文和俄文,并可通过插件扩展其他语言支持。
7. 开源与社区
LunaTranslator是一个开源项目,用户可以通过社区贡献代码或完善文档。项目地址为:https://gitcode.com/HIllya51/LunaTranslator。
8. 其他功能
- 预翻译:支持读取人工翻译和机器预翻译文件。
- 翻译缓存:提高翻译效率,减少重复请求。
- Chrome调试翻译:支持通过Chrome调试工具进行翻译。
LunaTranslator凭借其强大的功能和灵活的扩展性,成为galgame玩家和日语学习者的得力助手。无论是游戏翻译还是语言学习,它都能提供高效、便捷的解决方案。
支持的文本源和翻译引擎
LunaTranslator 是一款功能强大的翻译工具,支持多种文本源和翻译引擎,能够满足不同用户的需求。以下是对其支持的文本源和翻译引擎的详细介绍。
支持的文本源
LunaTranslator 支持从多种来源获取文本,包括:
-
剪贴板
直接从剪贴板中获取文本内容进行翻译,适合快速翻译复制的内容。 -
OCR(光学字符识别)
支持多种 OCR 引擎,包括:- 内置 OCR 引擎
- Windows OCR
- 百度 OCR
- 有道 OCR
- OCRSpace
- Docsumo
- 飞书 OCR
- Tesseract5
- 腾讯 OCR
- 火山 OCR
- 讯飞 OCR
- 谷歌 OCR
- Manga-OCR
-
HOOK(钩取文本)
通过 HOOK 技术直接从应用程序中获取文本,支持:- 特殊码匹配
- 自动保存游戏和 HOOK 配置
- 自动加载 HOOK
- 部分引擎支持内嵌翻译
支持的翻译引擎
LunaTranslator 集成了丰富的翻译引擎,涵盖离线翻译、免费在线翻译、注册在线翻译等多种类型。
离线翻译
- JBeijing7
- 金山快译
- 译典通
- Sakura
- TGW
- Sugoi
免费在线翻译
- 百度翻译
- 必应翻译
- 谷歌翻译
- 阿里翻译
- 有道翻译
- 彩云小译
- 搜狗翻译
- DeepL
- 金山翻译
- 讯飞翻译
- 腾讯翻译
- 字节翻译
- 火山翻译
- Papago
- Yeekit
注册在线翻译
支持用户通过 API 密钥注册的翻译服务:
- 百度翻译 API
- 腾讯翻译 API
- 有道翻译 API
- 小牛翻译 API
- 彩云翻译 API
- 火山翻译 API
- DeepL API
- Yandex API
- Google API
- IBM API
- 飞书翻译 API
- ChatGPT API
- Azure 翻译 API
- Cohere API
- Claude API
- Gemini API
其他功能
- 预翻译
支持读取人工翻译和聚合机器预翻译文件,提高翻译效率。 - 自定义翻译扩展
支持使用 Python 扩展其他翻译接口,满足个性化需求。
代码示例
以下是一个简单的 Python 代码示例,展示如何使用 LunaTranslator 的翻译功能:
from LunaTranslator import Translator
# 初始化翻译器
translator = Translator(engine="baidu")
# 翻译文本
result = translator.translate("Hello, world!", src_lang="en", tgt_lang="zh")
print(result)
流程图
以下是文本翻译的流程示意图:
flowchart TD
A[文本源] --> B{选择文本源}
B -->|剪贴板| C[从剪贴板获取文本]
B -->|OCR| D[使用OCR识别文本]
B -->|HOOK| E[通过HOOK获取文本]
C --> F[翻译引擎]
D --> F
E --> F
F --> G[输出翻译结果]
支持的翻译引擎对比
| 引擎类型 | 特点 | 适用场景 |
|---|---|---|
| 离线翻译 | 无需网络,速度快 | 本地翻译需求 |
| 免费在线翻译 | 无需注册,直接使用 | 快速翻译 |
| 注册在线翻译 | 支持 API,功能更强大 | 专业翻译需求 |
| 自定义扩展 | 灵活扩展,支持个性化需求 | 特殊翻译需求 |
通过以上介绍,可以看出 LunaTranslator 在文本源和翻译引擎方面的强大支持能力,能够满足不同用户的多样化需求。
OCR和语音合成功能
LunaTranslator 提供了强大的 OCR(光学字符识别)和语音合成(TTS)功能,支持多种引擎和语言,适用于游戏翻译、文本提取和语音输出等场景。以下是对这两大功能的详细介绍。
OCR功能
LunaTranslator 的 OCR 功能支持多种引擎,包括本地和在线服务,能够满足不同场景的需求。以下是部分支持的 OCR 引擎及其特点:
| 引擎名称 | 特点 |
|---|---|
| WindowsOCR | 基于 Windows 内置 OCR 引擎,支持多语言识别。 |
| BaiduOCR | 百度提供的 OCR 服务,支持高精度识别和多种语言。 |
| YoudaoOCR | 有道 OCR 服务,支持中英文识别和翻译。 |
| Tesseract5 | 开源 OCR 引擎,支持多种语言和自定义训练模型。 |
| LocalOCR | 本地 OCR 引擎,无需联网,支持离线使用。 |
| MangaOCR | 专为漫画文本设计的 OCR 引擎,支持日文和中文识别。 |
代码示例:使用 BaiduOCR 进行文本识别
from LunaTranslator.ocrengines.baiduocr_X import OCR
ocr = OCR()
result = ocr.ocr(imagebinary)
print(result)
流程图:OCR 处理流程
flowchart TD
A[输入图像] --> B[OCR引擎处理]
B --> C{识别成功?}
C -->|是| D[输出文本]
C -->|否| E[返回错误信息]
语音合成功能
LunaTranslator 的语音合成功能支持多种 TTS 引擎,包括本地和在线服务,能够生成自然流畅的语音输出。以下是部分支持的 TTS 引擎及其特点:
| 引擎名称 | 特点 |
|---|---|
| WindowsTTS | 基于 Windows 内置语音合成引擎,支持多语言。 |
| VoiceVox | 开源日语语音合成引擎,支持多种角色和音调。 |
| EdgeTTS | 微软 Edge 浏览器提供的 TTS 服务,支持多语言和自然语音。 |
| YoudaoTTS | 有道 TTS 服务,支持中英文语音合成。 |
| NeoSpeech | 高质量语音合成引擎,支持多种语言和音色。 |
代码示例:使用 VoiceVox 进行语音合成
from LunaTranslator.tts.voicevox import TTS
tts = TTS()
tts.speak("こんにちは", rate=1.0, voice="ずんだもん", voiceidx=0)
流程图:TTS 处理流程
flowchart TD
A[输入文本] --> B[TTS引擎处理]
B --> C{合成成功?}
C -->|是| D[输出语音]
C -->|否| E[返回错误信息]
功能整合
LunaTranslator 的 OCR 和 TTS 功能可以无缝整合,例如从游戏中提取文本后直接翻译并语音输出。以下是一个简单的整合示例:
from LunaTranslator.ocrengines.baiduocr_X import OCR
from LunaTranslator.tts.voicevox import TTS
# OCR 提取文本
ocr = OCR()
text = ocr.ocr(imagebinary)
# TTS 语音输出
tts = TTS()
tts.speak(text, rate=1.0, voice="ずんだもん", voiceidx=0)
通过以上功能,LunaTranslator 能够为用户提供高效的文本识别和语音合成体验,满足多样化的需求。
项目架构和核心模块
LunaTranslator 是一个功能丰富的 galgame 翻译工具,其架构设计模块化,核心功能通过多个独立的模块实现。以下是对其架构和核心模块的详细分析:
核心模块概述
LunaTranslator 的核心模块分为以下几类:
- 文本源模块:负责从不同来源获取文本(如剪贴板、OCR、HOOK)。
- 翻译模块:支持多种翻译引擎(在线、离线、自定义)。
- 语音合成模块:提供文本到语音的转换功能。
- 文本处理模块:优化翻译结果和文本显示。
- 日语学习模块:支持日语分词、假名显示和词典查询。
模块详细分析
1. 文本源模块
文本源模块的核心类是 basetext,它是一个抽象基类,定义了文本源的基本行为。具体实现包括:
ocrtext:通过 OCR 技术从图像中提取文本。texthook:通过 HOOK 技术从游戏中直接获取文本。copyboard:从剪贴板中读取文本。
classDiagram
class basetext {
+gettextthread()
+gettextonce()
+end()
}
class ocrtext {
+ocr()
+initocr()
}
class texthook {
+start()
+embedcallback()
}
class copyboard {
+__callback()
}
basetext <|-- ocrtext
basetext <|-- texthook
basetext <|-- copyboard
2. 翻译模块
翻译模块的核心是多种翻译引擎的实现,例如:
youdao:支持有道翻译。google:支持谷歌翻译。azure:支持微软 Azure 翻译。
flowchart TD
A[翻译请求] --> B{引擎选择}
B --> C[有道翻译]
B --> D[谷歌翻译]
B --> E[Azure 翻译]
C --> F[返回结果]
D --> F
E --> F
3. 语音合成模块
语音合成模块通过 basettsclass 基类定义,具体实现包括:
windowstts:Windows 自带的语音合成。voicevox:支持 VoiceVox 引擎。edgetts:支持 Edge TTS。
stateDiagram
[*] --> 初始化
初始化 --> 获取语音列表
获取语音列表 --> 合成语音
合成语音 --> [*]
4. 文本处理模块
文本处理模块通过 TextBrowser 和 webview 类实现,支持复杂的文本渲染和交互功能。
sequenceDiagram
participant User
participant TextBrowser
User->>TextBrowser: 输入文本
TextBrowser->>TextBrowser: 渲染文本
TextBrowser-->>User: 显示结果
5. 日语学习模块
日语学习模块的核心是 cishubase 类,支持多种词典查询功能,例如:
mdict:支持 MDict 词典格式。jisho:支持 Jisho 在线词典。
mindmap
root((日语学习))
词典查询
MDict
Jisho
Weblio
分词
Mecab
假名显示
平假名
片假名
总结
LunaTranslator 的模块化设计使其功能强大且易于扩展。每个模块职责明确,通过基类和接口实现高内聚低耦合。开发者可以根据需求轻松添加新的翻译引擎或文本源支持。
LunaTranslator通过模块化架构实现了文本提取、多引擎翻译、语音合成等核心功能,其高扩展性设计允许开发者灵活添加新引擎或文本源。作为开源项目,它既满足了galgame本地化需求,又为语言学习者提供了词典查询、假名标注等实用工具,展现出强大的场景适应能力和技术整合深度。
Kimi-K2.5Kimi K2.5 是一款开源的原生多模态智能体模型,它在 Kimi-K2-Base 的基础上,通过对约 15 万亿混合视觉和文本 tokens 进行持续预训练构建而成。该模型将视觉与语言理解、高级智能体能力、即时模式与思考模式,以及对话式与智能体范式无缝融合。Python00- QQwen3-Coder-Next2026年2月4日,正式发布的Qwen3-Coder-Next,一款专为编码智能体和本地开发场景设计的开源语言模型。Python00
xw-cli实现国产算力大模型零门槛部署,一键跑通 Qwen、GLM-4.7、Minimax-2.1、DeepSeek-OCR 等模型Go06
PaddleOCR-VL-1.5PaddleOCR-VL-1.5 是 PaddleOCR-VL 的新一代进阶模型,在 OmniDocBench v1.5 上实现了 94.5% 的全新 state-of-the-art 准确率。 为了严格评估模型在真实物理畸变下的鲁棒性——包括扫描伪影、倾斜、扭曲、屏幕拍摄和光照变化——我们提出了 Real5-OmniDocBench 基准测试集。实验结果表明,该增强模型在新构建的基准测试集上达到了 SOTA 性能。此外,我们通过整合印章识别和文本检测识别(text spotting)任务扩展了模型的能力,同时保持 0.9B 的超紧凑 VLM 规模,具备高效率特性。Python00
KuiklyUI基于KMP技术的高性能、全平台开发框架,具备统一代码库、极致易用性和动态灵活性。 Provide a high-performance, full-platform development framework with unified codebase, ultimate ease of use, and dynamic flexibility. 注意:本仓库为Github仓库镜像,PR或Issue请移步至Github发起,感谢支持!Kotlin07
VLOOKVLOOK™ 是优雅好用的 Typora/Markdown 主题包和增强插件。 VLOOK™ is an elegant and practical THEME PACKAGE × ENHANCEMENT PLUGIN for Typora/Markdown.Less00