shawky.nasr 发表于 2026-8-30 06:45:09

Mdict Studio Pro V2.1 (macOS 、Windows、Linux)

本帖最后由 shawky.nasr 于 2026-9-16 21:28 编辑

Mdict Studio Pro

一款现代化、跨平台的桌面工具,用于制作、转换和检查 MDict 词典文件。










Mdict Studio Pro 将完整的 MDict 工作流程整合在一个独立的图形界面中——打包与解包 .mdx/.mdd 文件、将原始词典数据转换为 MDict 源文本、管理基于 SQLite 的查询,以及检查已编译的词典。它专为语言学工作者、词典爱好者以及处理结构化词汇数据的开发者而设计。
V2.1 版本新特性
Mdict Studio Pro v2.1 更新日志与新特性概览

核心亮点:排序标准选择器 (Sorting Standard)

不同 MDX 阅读器在对 Key Block 进行二分搜索时采用不同的字符比对规则。构建方式与检索规则不匹配会导致部分条目(尤其是大写字母及带重音符号的词头)无法检索。本版本在 打包 (Pack) 界面提供了底层索引排序标准选项:

mdict-utils / Unicode(默认):执行完整的 Unicode 大小写折叠排序,精准适配深蓝词典 (BlueDict) 与 GoldenDict。
MdxBuilder:采用纯 ASCII 大小写折叠,保留非 ASCII 大写字符及变音符号,适配官方 MDict 与 DictTango。
核心架构升级:原生 Python 打包引擎

内置原生写入器:采用基于 mdict-utils 的进程内写入机制,摆脱对外部 mdict 命令行调用的依赖,加快打包初始化响应。
自动回退机制:若运行环境中未找到可导入的 mdict-utils 模块,引擎将自动无缝回退至传统的 CLI 命令行模式。
界面响应性优化:通过隔离后台工作线程进行打包处理,保证复杂任务下 UI 界面的流畅度。
关键缺陷修复 (Bug Fixes)

元数据解析修复:修复了“描述 (Description)”元数据仅写入本地文件路径字符串的问题,现已正确读取并写入完整的 HTML 内容。
内存泄漏解决:修正了打包工作线程清理逻辑,避免在多次执行打包任务时在内部队列中持续累积无用引用。
进度条状态重构:引入真正的未定状态动态反馈(Indeterminate 动画),并在任务成功(100%)或失败(0%)后准确归位,杜绝常驻或卡死状态。
输出路径容错:优化路径校验,全面覆盖空白留空、纯目录、相对路径与绝对路径输入,并强制规范化补齐 .mdx 扩展名。
插件及组件稳定性:插件加载器现已正确跳过抽象基类,并修复了目录选择器组件在特定场景下的报错异常。
打包与跨平台分发

依赖自动打包:更新了 build.py 自动化打包逻辑,将 mdict_utils、mdict_utils.writer 及 xxhash 等原生组件正确注入 PyInstaller 的分析链。
双架构 macOS 支持:除了 GitHub Actions 自动构建的 Apple Silicon (arm64) 安装镜像,提供本地独立编译的 Intel (x86_64) 专用 .dmg 安装包。
完整二进制矩阵:
macOS (Apple Silicon): MdictStudioPro-macOS-arm64.dmg
macOS (Intel): MdictStudioPro-macOS-x86_64.dmg
Windows (x64): MdictStudioPro-Windows-x64.zip
Linux (x64): MdictStudioPro-Linux-x64.tar.gz
V2.0 版本新特性

V2.0 的核心亮点是全新的转换器插件系统——一套模块化的执行引擎,取代了以往硬编码、单一格式的解析方式。

只需将插件文件放入应用的插件文件夹,Mdict Studio Pro 便会自动发现并加载它,根据插件声明的元数据生成对应的输入表单,并在后台线程中运行——无需修改核心程序的任何代码。这意味着任何人都可以为应用原生不支持的词典格式编写转换器,而无需 fork 整个代码库。
功能特性


[*]模块化转换器插件——只需编写一个继承自 BaseConverterPlugin 的 Python 类,即可解析任意来源格式(Excel、CSV、XML 或自定义文本排版)并生成 MDict 源文件。图形界面会根据插件自动生成对应的输入表单。
[*]打包/解包 .mdx 与 .mdd——从源文本编译生成词典(可选配套资源文件夹用于 .mdd),或将现有词典还原为源文件。
[*]高级排版控制——插件可生成语义化的 HTML,包括用于注音符号/拼音标注的 <ruby> 标签、结构化的 <ol> 释义列表,以及基于 CSS 的排版布局。
[*]稳健的 CJK 编码支持——可靠处理 UTF-8、UTF-16LE、Big5、GBK 及 GB18030 编码的源文件。
[*]SQLite 数据库集成——在原始文本/MDX 源文件与 SQLite 数据库之间相互转换,实现快速的程序化查询。
[*]MDX 检查工具——从已编译的 .mdx 文件中提取内嵌元数据与 .style(CSS)样式表,或直接在界面中对词典执行测试查询。
[*]词形变化支持——集成外部词形变化数据(addflex.py、wordforms.txt),用于制作支持词形还原的词典。
[*]跨平台——可在 macOS、Windows 与 Linux 上运行。




词典截图










致谢与参考来源 (Credits & References)

Mdict Studio Pro 的诞生离不开开源词典社区诸多优秀项目的支持与启发:

    核心与底层引擎:
      界面基础设计参考了 jekovcar 开发的 mdictGui 原版项目。
      底层词典处理引擎基于 libukai 开发的 mdtt 与 mdict-utils。

    样式表与排版设计:
      cbgycd.css (WFG 风格) 基于 DFL 的原始样式设计。
      jybcb.css 词典排版布局基于 bmcc718 的样式表方案。

    插件与数据解析:
      edudict_plugin.py 解析逻辑基于 kking 的原始脚本方案。
      CC-CEDICT 数据转换处理基于 shbf@PDAWIKI 的制作方案。
下载:Mdict Studio Pro项目

百度云盘:**** Hidden Message *****

相关:mdx/mdd解压&打包工具-Mac版

mdict-utils-Gui


mdict-utils 界面版

mdict-utils mdict 打包解包工具


chigre3 发表于 2026-9-2 17:41:02

谢谢啦~工具多多益善!~   MDICT生态就是需要更好的工具~

RickVincent 发表于 2026-8-30 10:57:49

Thanks for sharing...

wallepeng 发表于 2026-8-30 15:17:20

感谢楼主分享,试试

sparkler 发表于 2026-8-30 15:22:20

学习一下{:8_155:}

人在上海 发表于 2026-8-30 16:45:52

感谢楼主分享,下载看看!{:6_137:}

Bartleby 发表于 2026-8-30 22:43:32

感谢楼主制作和分享

wsg4560 发表于 2026-9-2 15:38:33

谢谢分享

windbee 发表于 2026-9-3 21:52:30

谢谢分享!!!

polalise 发表于 5 天前

看起来很赞啊

shawky.nasr 发表于 5 天前

本帖最后由 shawky.nasr 于 2026-9-16 21:28 编辑

V2.1
Mdict Studio Pro v2.1 更新日志与新特性概览

核心亮点:排序标准选择器 (Sorting Standard)

不同 MDX 阅读器在对 Key Block 进行二分搜索时采用不同的字符比对规则。构建方式与检索规则不匹配会导致部分条目(尤其是大写字母及带重音符号的词头)无法检索。本版本在 打包 (Pack) 界面提供了底层索引排序标准选项:

mdict-utils / Unicode(默认):执行完整的 Unicode 大小写折叠排序,精准适配深蓝词典 (BlueDict) 与 GoldenDict。
MdxBuilder:采用纯 ASCII 大小写折叠,保留非 ASCII 大写字符及变音符号,适配官方 MDict 与 DictTango。
核心架构升级:原生 Python 打包引擎

内置原生写入器:采用基于 mdict-utils 的进程内写入机制,摆脱对外部 mdict 命令行调用的依赖,加快打包初始化响应。
自动回退机制:若运行环境中未找到可导入的 mdict-utils 模块,引擎将自动无缝回退至传统的 CLI 命令行模式。
界面响应性优化:通过隔离后台工作线程进行打包处理,保证复杂任务下 UI 界面的流畅度。
关键缺陷修复 (Bug Fixes)

元数据解析修复:修复了“描述 (Description)”元数据仅写入本地文件路径字符串的问题,现已正确读取并写入完整的 HTML 内容。
内存泄漏解决:修正了打包工作线程清理逻辑,避免在多次执行打包任务时在内部队列中持续累积无用引用。
进度条状态重构:引入真正的未定状态动态反馈(Indeterminate 动画),并在任务成功(100%)或失败(0%)后准确归位,杜绝常驻或卡死状态。
输出路径容错:优化路径校验,全面覆盖空白留空、纯目录、相对路径与绝对路径输入,并强制规范化补齐 .mdx 扩展名。
插件及组件稳定性:插件加载器现已正确跳过抽象基类,并修复了目录选择器组件在特定场景下的报错异常。
打包与跨平台分发

依赖自动打包:更新了 build.py 自动化打包逻辑,将 mdict_utils、mdict_utils.writer 及 xxhash 等原生组件正确注入 PyInstaller 的分析链。
双架构 macOS 支持:除了 GitHub Actions 自动构建的 Apple Silicon (arm64) 安装镜像,提供本地独立编译的 Intel (x86_64) 专用 .dmg 安装包。
完整二进制矩阵:
macOS (Apple Silicon): MdictStudioPro-macOS-arm64.dmg
macOS (Intel): MdictStudioPro-macOS-x86_64.dmg
Windows (x64): MdictStudioPro-Windows-x64.zip
Linux (x64): MdictStudioPro-Linux-x64.tar.gz

shawky.nasr 发表于 3 天前

本帖最后由 shawky.nasr 于 2026-9-18 06:16 编辑

V2.1 紧急修复补丁:
V2.1 紧急修复补丁 (Bug Fixes)

    修复各项功能报错闪退:彻底解决了在 Mac 等环境下,解包、数据库转换和工具箱功能点击后报错或无反应的问题。软件底层已重写,运行更加稳定。

    修复 MDD 资源打包崩溃:解决了打包带有大量图片/音频的 MDD 资源文件夹时,出现的代码报错及卡死问题。

    恢复元数据与样式提取:修复了工具箱中“获取元信息”和“导出样式 (.style)”功能无输出结果的 Bug,现在可以正常查看并一键导出。

    MDX / MDD 自动完美同名:修复了 MDD 打包时无法自定义文件名的问题。现在输出的 MDX 和 MDD 会自动保持完全同名,词典软件可直接读取,无需再手动重命名。

tp_t23 发表于 前天 20:18

谢谢!有人用过吗?

shawky.nasr 发表于 昨天 04:39

19-09-2025
更新日志

核心优化与 Bug 修复

    原生执行引擎: 使用原生 Python 线程替换了外部 Shell 命令,彻底解决了 macOS 独立封装版上的 崩溃问题。

    线程安全: 在执行后台任务时新增自动锁定 UI 功能,有效防止 sys.stdout 竞态条件与日志输出冲突。

    MDD 打包更稳定: 修复了在打包大型媒体资源文件夹时引发的 generator has no len() 及元组数据结构崩溃问题。

    元数据与样式表: 修复并恢复了“获取元信息”和“导出 .style”工具。软件现已能正确拦截底层数据流并提取内嵌的 .style 样式文件。

    智能输出路径: “构建 MDD”功能现已支持自定义输出文件名,并会自动与您的 .mdx 词典文件名保持完全同名同步。

    备用模式稳定性: 修复了在 CLI 备用运行模式下致命的 NameError 报错及参数格式错误。
页: [1]
查看完整版本: Mdict Studio Pro V2.1 (macOS 、Windows、Linux)