LunaTranslator 内置查词工具(辞书)完整使用指南:mecab 分词、触发方式与显示窗口配置 LunaTranslator 内置查词工具辞书完整使用指南mecab 分词、触发方式与显示窗口配置【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator导读LunaTranslator 在内置翻译界面中提供了一套查词辞书能力当你阅读原文文本时可以基于 mecab 分词结果对任意单词尤其是日语词汇触发辞书检索并查看来自 MDict、Weblio、Jisho 等辞书源的释义。本文以项目官方文档《使用内置查词工具》docs/zh/internaldict.md、docs/en/internaldict.md为主线结合仓库源码mecab 分词器、辞书引擎、触发逻辑、查词窗口展开完整讲解从安装 mecab 到配置触发方式、再到选择小窗口/大窗口展示结果的每一步读完即可在阅读界面中熟练使用内置查词。一、第一步安装并配置 mecab 分词工具内置查词工具依赖对原文的分词结果来定位可点击的单词。官方文档明确指出首先需要安装好 mecab 分词工具。mecab 是一个经典的日文形态素解析器LunaTranslator 通过原生模块NativeUtils.mecab调用它。从源码 src/LunaTranslator/myutils/mecab.py 可以看出程序初始化时会按以下顺序搜索词典目录配置中指定的path见globalconfig[hirasetting][mecab][args][path]当前运行目录.C:\Program Files\MeCab\dicC:\Program Files (x86)\MeCab\dic。搜索时会递归遍历目录下的每个子目录尝试加载若全部失败则抛出异常对应界面中 mecab 无法启用。mecab 对词典格式的兼容性较广源码中按字段数量区分了多种词典 schema字段数词典类型读音kana字段26 字段unidic-mecab 2.1.2 bin第 17 字段29 字段unidic 2.2.0 / 2.3.0第 20 字段17 字段旧版 unidic第 9 字段9 字段ipadic部分版本第 8 字段7 字段Mecab/dic/ipadic utf-16直接使用词形6 字段英文词典直接使用词形在界面中配置 mecab在辞书设置页顶部的分词器分组中对应源码 src/LunaTranslator/gui/setting/cishu.py 的fenciqisettings点击 mecab 旁的设置按钮在弹窗中指定词典目录path点击资源下载按钮可在线获取 mecab 相关资源包配置完成后会触发startmecab重新初始化分词器立即生效。提示mecab 主要用于日语。若你的文本是英文或中文分词器同样支持latin与jiebapypinyin等其他实现见 src/LunaTranslator/myutils/mecab.py但内置查词的单词定位能力以 mecab 的日语分词为最典型场景。二、第二步在辞书设置中激活辞书安装好 mecab 后进入辞书设置页面勾选任意数量你偏好的辞书即可启用。2.1 支持哪些辞书仓库的辞书引擎位于 src/LunaTranslator/cishu/ 目录包含离线辞书mdict.pyMDict .mdx/.mdd 词典支持 mdd 资源读取底层实现在 src/LunaTranslator/cishu/mdict_.py在线辞书youdao.py有道、jisho.pyJisho、weblio.pyWeblio、japandict.py、mojidict.py汉字/日语多语、jpdb.pyJP-DB、selfbuild.py自建脚本辞书以及chatgptlike.py兼容 OpenAI 风格的 LLM 查询等。2.2 激活操作与 MDict 快捷下载辞书设置页的布局逻辑在 src/LunaTranslator/gui/setting/cishu.py 的setTabcishu_l中离线MDict区显示离线分组含启用开关与资源下载按钮。官方文档特别提到对于离线辞书 MDict在资源下载中也提供了快捷下载的按钮——点击后可直接从资源服务器获取现成词典包无需手动寻找 .mdx 文件对应mdictsettings中的clickcallback2展开resourcewidget2()。在线辞书区以网格形式列出所有在线辞书每个辞书包含启用开关 / 名称 / 参数设置按钮三件套参数弹窗中可配置如useproxy是否走代理等选项修改后自动重新加载辞书源码中reloadcb startxiaoxueguan。社区辞书页面头部还提供社区辞书下载按钮_opencommunitycishu可浏览社区维护的辞书并一键安装。设置完成后可在辞书显示顺序中对已启用的辞书进行排序cishuvisrank查词时会按该顺序展示结果。三、第三步选择查词触发方式官方文档的第三步是在页面下方选择查词触发方式并给出了三种可组合的配置维度3.1 触发动作鼠标悬停 vs 点击单词鼠标悬停鼠标停留在单词上即触发查词适合快速浏览释义点击单词鼠标点击单词时才触发查词适合避免误触、按需查阅。源码中触发方式与查词动作在 src/LunaTranslator/LunaTranslator.py 的clickwordcallback中统一分发。针对查词功能界面src/LunaTranslator/gui/setting/cishu.py提供配置项可选值说明searchword_mousetriggerleft/right/mid点击类用哪个鼠标键触发查词usesearchword开 / 关是否启用查词大窗口功能usesearchword_S开 / 关是否启用查词_在小窗口中功能searchword_S_mousetriggerleft/right/mid/hover小窗口查词的触发动作支持悬停注意区分大窗口查词仅支持鼠标按键触发左/右/中键而**小窗口查词额外支持鼠标悬停**这一触发方式——这正是官方文档所描述的两个功能入口。3.2 组合条件需要键盘按下修饰键两种触发方式都可以叠加需要键盘按下条件检测到鼠标动作的同时还必须按下指定按键才会真正触发查词。这在游戏中误触频繁或希望按需精确查词时非常实用。实现上clickwordcallback会先检查按键条件再决定是否执行查词回调其核心是 src/LunaTranslator/LunaTranslator.py 的checkkeypresssatisfy读取wordclickkbtriggerneed是否开启按键条件与wordclickkbtrigger具体的按键组合字符串通过parsekeystringtomodvkcode将按键字符串解析为修饰键 虚拟键码用windows.GetAsyncKeyState实时检测这些键是否处于按下状态全部满足才返回 True。界面上src/LunaTranslator/gui/setting/cishu.py 的_getkeys使用KeySequenceEdit仅接受修饰键录入组合键例如配置为Ctrl则之后必须按住 Ctrl 点击/悬停单词才会查词。3.3 其他联动选项使用单词原型查词时使用 mecab 输出的原型辞书形而非当前活用形避免走った查不到走る的问题配置项usewordoriginfor见 src/LunaTranslator/gui/setting/cishu.py不使用的辞书小窗口模式专属可指定在小窗口查词时排除某些辞书ignoredict_S_hover让浮窗结果更精简。四、第四步选择查词结果的展示窗口官方文档指出在小窗口中表示查词结果将在较小的悬浮窗口中展现否则将使用较大的完整窗口来展现查词结果。4.1 小窗口悬浮 Tooltip启用查词_在小窗口中后结果会以一个小型无边框悬浮窗呈现其实现类是 src/LunaTranslator/gui/flowsearchword.py 的WordViewTooltip支持鼠标拖拽、四角自由调整大小DraggableQWidgetresizableframeless顶部工具栏提供关闭、语音合成朗读当前词、查词、Anki、设置等按钮窗口内置WordViewer渲染辞书结果可配置鼠标离开时关闭失去焦点时关闭边距圆角窗口特效Disable/Acrylic/Aero背景颜色等见dialog_syssetting悬停触发时会记录单词并延迟 50ms 检测按键条件__detectkey避免鼠标扫过就频繁弹出窗口位置会跟随鼠标limitpos(QCursor.pos(), ...)并按WordViewTooltip2记忆上次大小。4.2 大窗口完整查词窗口未开启小窗口模式时查词结果在完整的searchwordW大窗口中展示src/LunaTranslator/gui/showword.py。它提供搜索输入框、历史记录、多个辞书结果的标签页展示WordViewer.searchword见 src/LunaTranslator/gui/showword.py内嵌 Anki 制卡区示例句、备注、音频录制、自动 TTS支持追加搜索append、跳转外部链接等能力。4.3 查词执行链路两种窗口共用无论哪种窗口最终都会调用WordViewer.searchword按辞书显示顺序遍历已启用辞书对每个辞书调用cishubase.safesearchsrc/LunaTranslator/cishu/cishubase.py该方法在独立线程中执行查询并带 32 条 LRU 缓存命中缓存时直接回显结果避免重复请求结果通过信号逐个渲染到对应标签页先返回的辞书先展示。因此即使同时激活多个在线辞书查词也不会阻塞界面配合辞书显示顺序可以控制优先展示哪个来源的释义。五、进阶结合注音与分词显示让查词更好用内置查词的质量高度依赖分词与注音数据这一点与 mecab 的解析输出强相关。官方文档虽未展开但仓库源码揭示了两个可直接受益于查词场景的配置注音显示方案src/LunaTranslator/gui/setting/cishu.pyhira_vis_type支持平假名 / 片假名 / 罗马音三种注音样式查词时 mecab 输出的读音会经 src/LunaTranslator/myutils/mecab.py 的parseastarget转换为对应写法并在原文中以 ruby注音形式标注语法加亮与悬停颜色启用语法加亮后不同词性以不同颜色区分可在语法加亮_颜色设置中调整词性颜色与不透明度鼠标悬停高亮色hovercolor可自定义——这让找到想查的单词这一动作更直观。六、完整配置流程速览综合官方文档与源码在 LunaTranslator 中使用内置查词工具的最短路径如下安装 mecab下载并安装 mecab或在辞书设置→分词器中指定词典目录 / 使用资源下载获取启用辞书在辞书设置中打开至少一个辞书开关在线辞书如 Weblio/Jisho 可直接启用MDict 可点击资源下载快捷获取离线词典包选择触发方式小窗口悬停查词打开查词_在小窗口中触发方式选鼠标悬停可选需要键盘按下并指定修饰键大窗口点击查词打开查词触发方式选左键/右键/中键点击可选键盘组合按需调优调整辞书显示顺序、排除不需要的辞书、开启使用单词原型提升活用形查词命中率体验效果在原文区域移动鼠标或点击单词小窗口浮窗 / 大窗口将展示辞书释义支持 TTS 朗读与 Anki 制卡。结语内置查词工具是 LunaTranslator 阅读体验中衔接看原文与查释义的关键一环mecab 负责精确切分出可交互的单词辞书引擎负责检索而悬停/点击 键盘修饰与小窗口/大窗口的组合则让查词节奏完全可控。从 docs/ru/internaldict.md 的三步官方指引到 src/LunaTranslator/gui/flowsearchword.py 与 src/LunaTranslator/LunaTranslator.py 的底层实现你可以按上述流程在几分钟内完成配置并在阅读中日文视觉小说时获得指哪查哪的流畅体验。【免费下载链接】LunaTranslator视觉小说翻译器 / Visual Novel Translator项目地址: https://gitcode.com/GitHub_Trending/lu/LunaTranslator创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考