首页
/ LunaTranslator项目介绍

LunaTranslator项目介绍

2026-02-04 04:02:23作者:温艾琴Wonderful

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 支持从多种来源获取文本,包括:

  1. 剪贴板
    直接从剪贴板中获取文本内容进行翻译,适合快速翻译复制的内容。

  2. OCR(光学字符识别)
    支持多种 OCR 引擎,包括:

    • 内置 OCR 引擎
    • Windows OCR
    • 百度 OCR
    • 有道 OCR
    • OCRSpace
    • Docsumo
    • 飞书 OCR
    • Tesseract5
    • 腾讯 OCR
    • 火山 OCR
    • 讯飞 OCR
    • 谷歌 OCR
    • Manga-OCR
  3. 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 的核心模块分为以下几类:

  1. 文本源模块:负责从不同来源获取文本(如剪贴板、OCR、HOOK)。
  2. 翻译模块:支持多种翻译引擎(在线、离线、自定义)。
  3. 语音合成模块:提供文本到语音的转换功能。
  4. 文本处理模块:优化翻译结果和文本显示。
  5. 日语学习模块:支持日语分词、假名显示和词典查询。

模块详细分析

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. 文本处理模块

文本处理模块通过 TextBrowserwebview 类实现,支持复杂的文本渲染和交互功能。

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本地化需求,又为语言学习者提供了词典查询、假名标注等实用工具,展现出强大的场景适应能力和技术整合深度。

登录后查看全文
热门项目推荐
相关项目推荐