查看: 50549|回复: 82
打印 上一主题 下一主题

[索引] mdx 科普、制作教程大合集[进行中][20180121]

  [复制链接]

该用户从未签到

2121

主题

2961

回帖

6万

积分

翰林院修撰

不忘初心。送分大人,灌水砖家。擅长抛砖引玉,挖坑不填。

Rank: 12Rank: 12Rank: 12

积分
61056

翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

跳转到指定楼层
1
发表于 2016-12-21 11:23:18 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Oeasy 于 2018-1-22 00:06 编辑


我准备有空就写点关于 mdx 制作的文章,发到公众号(@ducidian https://www.pdawiki.com/forum/thread-19351-1-1.html)上。
个人公众号第一发:        [2016-12-22] mdx 制作浅谈 https://mp.weixin.qq.com/s/S7Yrqee2lSvdReKnfU5jyQ
        [2016-12-23] 三分钟怼个《中华汉英大词典》(上) mdx [仅 1 词条] https://mp.weixin.qq.com/s/1v6keF0Nr7tgadM1C69sGg
        [2017-01-06] mdx制作随想:时间、金钱、精力、学习…… http://mp.weixin.qq.com/s/YiA4GzSpHjdJXFA3JIJuRg
        [2017-01-21] GoldenDict 全文搜索几例 http://mp.weixin.qq.com/s/gHMJrVG_bmGw142fEEtNeQ

拟把这个贴打造为教程合集贴,一贴在手,别无所求。如果有什么细节上的问题,也可以跟帖回复,有时间有经验的朋友,看见了会帮忙的。
有一些问题,太大了,很难回答的。请多用 Google、Bing 想知道什么,就搜一下,比如 HTML、CSS、JavaScript、Python、正则表达式、爬虫,把关键词一搜,就有海量的资源、教程,专门再写相关教程,太耗费时间了。
- 请耐心一点!善用、多用搜索!mdx 制作不难,拿出一节课的时间(45 分钟)认真阅读本文以及文中链接,基本就入门了。入门抓核心,高手看毫厘。剩下的就是多实践,多动手。
  - mdx 诞生于 2002 年,已经有 16 年历史了,你遇到的问题,基本前人都遇到过且提供了解决办法。

关键技术(不是必须,随用随学,现学现用):
- HTML、CSS、JavaScript
- 正则表达式
- Python 等编程语言


---


新手必备工具(Windows 操作系统):
- MDict Windows 版 (1.3 RC4) 下载:http://www.mdict.cn/download/MDictPC.zip
        ► 用于制作过程中的测试,看效果,当然,也可以用其他支持加载 mdx 的词典软件测试,但是根据我的经验,MDict PC 版速度最快,不过可能同一个 mdx 在不同软件上,排版效果会有差异,这是另一个话题了。
- 文本编辑器
        ► Text Editor,用于编辑、查找、替换 txt、css、js 等文件,根据投票结果,本坛 mdx 制作者用得最多的是 EmEditor ,请自行 Google、Bing、Bidu、Sogou、360 搜索下载。
                [索引] mdx 词库制作者们,你们最常用什么文本编辑器? https://www.pdawiki.com/forum/thread-19418-1-1.html
- MDXBuilder (3.0 Beta2) 下载:http://www.mdict.cn/download/MdxBuilder.zip
        ► 用于将 txt 转为最终成品 mdx,将 css、js、音频、图片等打包进 mdd。
- MdxExport 3.3 下载及讨论:https://www.pdawiki.com/forum/thread-17709-1-1.html
        ► 这个工具作用和 MDXBuilder 恰好相反,可以将 mdx 转为 txt ,将 mdd 里的文件提取出来。
        MdxExport 3.3 的前身是 GetDict2.6/2.3 etc.
        熟悉 Python 也可用 readmdict.py https://bitbucket.org/xwang/mdict-analysis 提取 mdx/mdd 内容。

---

        解压缩“MdxBuilder.zip”,里面有个文件“manual_Chn.txt”,里边很多内容我觉得都过时了甚至有误导,然而下面的内容太重要了,看懂了,掌握了,其实就已经入门了:
3) MDict的html格式
每个项目两行
第一行是关键字
第二行开始是正文, 这里的正文应该包括关键字。可以使用html的标记(不要包含<html>
<body></body></html>, 这个程序会自动加上, 另注意在转换时要指明源数据为html).
如果需要显示音标的话,可以利用html指定字体就可以显示了。(参见下面的例子)
正文结束后必须用一行</>表示结束

例子:
Whole
<font size=5>whole</font>
<br>
<font face="Kingsoft Phonetic Plain, Tahoma">(hol,hJl; houl)</font>
</>

(注意"</>"和下一个记录间不要有任何其他空行,请参考example.txt中的例子)

在html中连接到其它关键字的方法:
<a href="entry://key#section">key</a>
其中key是关键字,section是对应关键字页面中的section名称.

在html中嵌入图片的方法:(PC版的MDict 1.0以上版本才支持图片)
<img src="file://abc.gif"> 或者 <img src="/abc.gif"> 其中src指向的文件名大小写不敏感
并将所有图片文件放在一个单独的目录中(不要与词典源文件放在同一目录中). 数据目录中可以
带有子目录。在使用MdxBuilder制作词库时,将Data路径指向上面存放数据的目录,该目录中的
所有文件都会被压缩到后缀名为.mdd文件中,使用时该.mdd文件应当与.mdx文件在同一目录下。

在html中嵌入声音的方法:
使用链接<a href="sound://keyword.spx">keyword</a> 这样的形式,点击该链接的时候可以进行发音
发音仅支持.wav和.spx格式的音频文件。

内部重定向(内容链接):
1) 当两个关键字所指向的内容是一样的时候,可以采取重定向的方式来达到"链接"的效果。内部重定向的格式为:
@@@LINK=关键字
例如color 和 colour 都指向相同的内容,制作词典时可以正常编写color词条,但对于colour词条,可以写成:

colour
@@@LINK=color
</>

当显示colour条目的内容时,程序会自动找到color的内容进行显示,链接是可以多重嵌套的。

特别说明:建议新手、老鸟,没有特殊需求,用 MDXBuilder (3.0 Beta2)  制作 mdx  即可。mdx 格式已经有更新,新版本的 MDXBuilder 4.0  生成的 mdx/mdd 仅有 MDict 才支持,其余软件如 GoldenDict、BlueDict 等,统统支持不了!也无法提取出内容!
参考:http://www.mdict.cn/wp/?page_id=5227&lang=zh
> MDXBuilder 4.0 测试版: *4.0版制作的词典必须最新版的MDict程序配合使用(目前只有 PC 2.0 及 Android 2.0版)
---

---

ldlcau mdict版制作方法和常用工具 https://www.pdawiki.com/forum/thread-899-1-1.html [O注:部分内容显陈旧]

- Oeasy [实例][解压mdx/mdd再打包为mdx/mdd][乱][多图] https://www.pdawiki.com/forum/thread-13388-1-1.html
        - 词库制作中可能有用的软件、技术整理 https://www.pdawiki.com/forum/thread-11016-1-1.html

抓取:
        Oeasy [wget 不需要编程] 制作Dictionary of Phrase and Fable, E. Cobham Brewer, 1894 https://www.pdawiki.com/forum/thread-11431-1-1.html
        bt4baidu 【史上最全】在线词典抓取、制作技术汇总 https://www.pdawiki.com/forum/thread-13219-1-1.html
                   - https://github.com/OZv?tab=repositories
        yaodis 我是这样用 python 制作词典的 https://www.pdawiki.com/forum/thread-12399-1-1.html
        chigre 【直播完成】一个在线词典的离线MDX化制作[2012-11-29] https://www.pdawiki.com/forum/thread-10260-1-1.html

dsl 转 mdx,常用正则表达式
        Hugh 【图文】手把手教你[转换]+[排版] MDX格式词库 https://www.pdawiki.com/forum/thread-10689-1-1.html

图片版 mdx 制作:
        tsiank 图像版mdict字典制作方法 https://www.pdawiki.com/forum/thread-13451-1-1.html
        vbnet [索引] 20160710更新( 全部)_制作图片字典工具的试作 https://www.pdawiki.com/forum/thread-16663-1-1.html
        chigre [索引] 20161116_【教程】全索引 精确定位 图片版 词典的制作 https://www.pdawiki.com/forum/thread-18134-1-1.html

EPWING 转 mdx
        qunwang6 Epwing2Text && HTML+ 外字转换 https://www.pdawiki.com/forum/thread-13867-1-1.html

Babylon / Lingoes / StarDict 等转 txt
        bgl 转 mdx / txt 的一点经验 https://www.pdawiki.com/forum/thread-21725-1-1.html
        chigre 各种格式词典数据转TXT文本的工具软件(.BGL .LSD .LD2 .MDX STARDICT) https://www.pdawiki.com/forum/thread-10267-1-1.html
       
以下内容需要积分高于 1 才可浏览

qunwang6 AppleDict2XML https://www.pdawiki.com/forum/thread-14044-1-1.html



开源代码
        github 等地和词典有关的 https://www.pdawiki.com/forum/thread-16586-1-1.html

        qunwang6 \BGL\DSL\MDX\CD\ ===> OSX.dictionary https://www.pdawiki.com/forum/thread-13014-1-1.html
---
感谢 MDict 作者 Rayman 十多年的坚持;
感谢各种代码、小工具、软件的开发者;
感谢诸多 mdx 制作者、分享者;
感谢词典编纂者、出版者、服务商,各种百科编辑。

---
- Windows下将startdict转为txt的工具 CvtStarDict2Txt.rar
http://www.programgo.com/article/34123760162/
CvtStarDict2Txt.rar (26.33 KB, 下载次数: 65)

- 制作KINDLE的词典 https://www.pdawiki.com/forum/thread-15128-1-1.html
- strnghrs - 博客园 http://www.cnblogs.com/stronghorse/


       

评分

6

查看全部评分

本帖被以下淘专辑推荐:

该用户从未签到

19

主题

593

回帖

25万

积分

状元

Rank: 9Rank: 9Rank: 9

积分
259792

灌水大神章小蜜蜂章笑傲江湖章

推荐
发表于 2016-12-21 22:13:56 | 只看该作者
laohuhua 发表于 2016-12-21 20:49
可以麻烦你按上述五类展开论述一下吗?多谢。

个人经验浅谈, 首先只要知道 mdx 源文件的格式是这样就好了.

词头
释义内容
</>

### 一、格式良好的文本数据
- Kindle 文字版电子书(mobi、epub)
- 原始的 XML、JSON 等格式的词典数据[有极个别词典光盘,数据就是一个或多个 XML 文件]
- 区分了词头、内容的两列或多列 Excel 表格
- 自行整理、总结的各类适合制作为 mdx 的文本
- 部分文字版 PDF ,这个得看运气了,有的好做,大部分尤其是多栏的、图文混排的很难做
- 其他


1. 例如: CNET.epub, epub就是一个压缩文件, 解开, 内有两千多个 xhtml文件.
   使用 emeditor 提取出所有 <body>与</body> 之间的内容,
   用正则将词头整理出来, 再将</body> 改为</>,
   最后用 MdxBuilder, 一个初版mdx词典就完成了.
   再来就是要考虑如何排版与精美呈现.


2. 例如: 某个JSON格式的词典数据, 内容如:
  1.       "notes": [
  2.         "古国名,建国于主前753年,其最盛世时国境东西约九千里,南北约六千里。"
  3.       ],
  4.       "chinese": "罗马",
  5.       "english": "Rome"
  6.     },
复制代码

   使用emeditor提取出 "罗马" 和 "Rome" 为中英词头, "notes"底下的自然就是释义内容
   然后将 }, 改为 </>, 完成

3. 例如: 某个词频.xls 表格, 内容如下:
  1. 1        the
  2. 2        be
  3. 3        and
  4. 4        of
  5. 5        a
复制代码

   复制到 emeditor, 找 (^.*?)\t(.*$), 取代为 \2\n\1 \2\n</>
   这样就完成了一个简单的词频词典, 要精美就要更多数据与排版了

4. 例如: 某个 基础词汇.doc 文件, 内容如下:
  1. 10. absolutely ['&#230;bs&#601;lu:tli]
  2. adv. 绝对地;完全地;是这样
复制代码

   同样的, 复制到 emeditor, 再用emeditor整理成如下 mdx 格式.
absolutely
<tit>absolutely</tit> ['&#230;bs&#601;lu:tli] <pos>adv.</pos><def> 绝对地;完全地;是这样 </def>
</>
   再制做个对应的 .css, 调整颜色与排版, 完成.

5. 例如: 某个词频.pdf 文件, 内容如下:
  1. 1152 absolutely r
  2. no, right, &#8226; nothing, sure, &#8226; necessary, ...
复制代码

   同样的, 复制到 emeditor, 再用emeditor整理, 排版, 完成.

   不过有些PDF就不是这么顺利了..

a1.png (17.09 KB, 下载次数: 0)

a1.png

a4.png (6.88 KB, 下载次数: 0)

a4.png

评分

2

查看全部评分

该用户从未签到

123

主题

1719

回帖

3万

积分

翰林院编修

Rank: 11Rank: 11Rank: 11Rank: 11

积分
30382

灌水大神章小蜜蜂章笑傲江湖章翰林院专用章管理组专用章

推荐
发表于 2016-12-21 21:07:48 | 只看该作者
感觉论坛到了一个瓶颈期:
该有的差不多都有了,会做的差不多都走了,
真的需要一组帖子来普及词典制作~
为下一波高峰助力

点评

是周期规律,跟经济一样。最终你会发现词典仅是工具,重要的是个人修为。其实选中一本词典,参考前辈经验,用心即可登堂入室。我是参加大熊的计划后顿悟,开始尽量不下载词典。因为手头的已远远超出需求。  发表于 2016-12-25 00:49

评分

1

查看全部评分

该用户从未签到

95

主题

554

回帖

2万

积分

翰林院编修

终身学习者

Rank: 11Rank: 11Rank: 11Rank: 11

积分
24557

翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

推荐
发表于 2016-12-23 15:46:46 | 只看该作者
我一般都是兴趣驱动, 最近对一部词典有些兴趣, 可能会抓取制作.
  • TA的每日心情
    慵懒
    2023-3-2 10:50
  • 签到天数: 207 天

    [LV.7]常住居民III

    42

    主题

    1038

    回帖

    13万

    积分

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    137827

    灌水大神章小蜜蜂章笑傲江湖章管理组专用章

    推荐
    发表于 2016-12-22 02:06:30 | 只看该作者
    做词典讲究四门功课:

    1. HTML + CSS
    2. Regular Expression
    3. Javascript
    4. Python

    该用户从未签到

    19

    主题

    593

    回帖

    25万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    259792

    灌水大神章小蜜蜂章笑傲江湖章

    推荐
    发表于 2016-12-21 14:16:02 | 只看该作者
    汉语大词典, 历经上述三重境界(修改原mdx版、转换dsl版、整理光盘数据)
    五种数据来源(PDF文字版、dsl版、扫描版、在线版、光盘/app)
    最后连纸本书也买了...

    点评

    大神,身体力行。学习榜样。  发表于 2018-1-20 17:17
    是真爱。  发表于 2016-12-22 01:58
    牛  发表于 2016-12-21 15:14
  • TA的每日心情
    慵懒
    2023-1-10 21:48
  • 签到天数: 802 天

    [LV.10]以坛为家III

    3

    主题

    2373

    回帖

    2万

    积分

    禁止发言

    积分
    20562

    小蜜蜂章笑傲江湖章灌水大神章

    8
    发表于 2016-12-21 13:37:20 来自手机 | 只看该作者
    很好的帖子,感谢O大

    该用户从未签到

    258

    主题

    1651

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    19159

    灌水大神章小蜜蜂章笑傲江湖章

    9
    发表于 2016-12-21 14:30:41 | 只看该作者
    好帖。总结归纳得好。

    该用户从未签到

    0

    主题

    10

    回帖

    116

    积分

    童生

    Rank: 2

    积分
    116
    10
    发表于 2016-12-21 20:49:12 | 只看该作者
    可以麻烦你按上述五类展开论述一下吗?多谢。
  • TA的每日心情
    开心
    2019-6-28 15:22
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    0

    主题

    146

    回帖

    577

    积分

    举人

    Rank: 4

    积分
    577
    11
    发表于 2016-12-21 23:21:58 | 只看该作者
    不可能整理到那么详细的,能把通用的方法讲清楚就已经很不错了
    至于各个网站和词典的排版细节太多了,讲不完的

    该用户从未签到

    58

    主题

    933

    回帖

    3897

    积分

    被盗用户

    积分
    3897

    灌水大神章小蜜蜂章笑傲江湖章

    12
    发表于 2016-12-22 03:13:19 | 只看该作者
    deeke 发表于 2016-12-22 02:06
    做词典讲究四门功课:

    1. HTML + CSS

    先从1开始吧  门槛没那么高

    用点心的半天时间就看能看懂H5+C3
  • TA的每日心情
    开心
    2023-2-6 01:16
  • 签到天数: 568 天

    [LV.9]以坛为家II

    8

    主题

    1923

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10256

    笑傲江湖章灌水大神章

    13
    发表于 2016-12-22 03:14:19 | 只看该作者
    好贴,真金白银,赶紧找个位置坐下来听课~~

    感谢O大无私分享心得~~

    该用户从未签到

    58

    主题

    933

    回帖

    3897

    积分

    被盗用户

    积分
    3897

    灌水大神章小蜜蜂章笑傲江湖章

    14
    发表于 2016-12-22 03:17:00 | 只看该作者
    chigre3 发表于 2016-12-21 21:07
    感觉论坛到了一个瓶颈期:
    该有的差不多都有了,会做的差不多都走了,
    真的需要一组帖子来普及词典制作~
    ...

    我表明过我的看法,也懒得多说,现在是大锅饭时代。

    该用户从未签到

    1

    主题

    221

    回帖

    651

    积分

    禁止发言

    积分
    651
    15
    发表于 2016-12-22 08:50:23 | 只看该作者
    制作图片版字典需要一张一张处理图片,一个一个词头校对,非常耗时!非常耗时!

    该用户从未签到

    2121

    主题

    2961

    回帖

    6万

    积分

    翰林院修撰

    不忘初心。送分大人,灌水砖家。擅长抛砖引玉,挖坑不填。

    Rank: 12Rank: 12Rank: 12

    积分
    61056

    翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

    16
     楼主| 发表于 2016-12-22 09:07:42 | 只看该作者
    sky66 发表于 2016-12-21 14:16
    汉语大词典, 历经上述三重境界(修改原mdx版、转换dsl版、整理光盘数据)
    五种数据来源(PDF文字版、dsl版、 ...



    真爱,佩服。
    好词典当得起这番折腾。
    像《牛津高阶英汉双解词典》(第 8 版),分享了的,没有分享了的,各种版本不下十个,而且大多都是自行提取,从第一步开始做。

    该用户从未签到

    1

    主题

    221

    回帖

    651

    积分

    禁止发言

    积分
    651
    17
    发表于 2016-12-22 10:09:05 | 只看该作者
    制作词典耗时费力,需要组织制作团队!或者请吃鱼出山!
  • TA的每日心情
    奋斗
    2019-8-29 20:07
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    3

    主题

    13

    回帖

    406

    积分

    秀才

    Rank: 3Rank: 3

    积分
    406
    18
    发表于 2016-12-23 04:06:03 | 只看该作者
    本帖最后由 adv122 于 2018-1-22 16:00 编辑

    多谢O大分享
  • TA的每日心情
    开心
    5 天前
  • 签到天数: 1150 天

    [LV.10]以坛为家III

    2

    主题

    2015

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    19324
    19
    发表于 2016-12-24 06:59:23 | 只看该作者
    希望楼主尽快完成,非常需要这样一个完整的教程。
  • TA的每日心情
    开心
    2022-3-11 16:40
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    37

    主题

    411

    回帖

    1360

    积分

    翰林院编修

    Rank: 11Rank: 11Rank: 11Rank: 11

    积分
    1360

    翰林院专用章灌水大神章笑傲江湖章小蜜蜂章管理组专用章

    20
    发表于 2016-12-25 00:24:58 | 只看该作者
    其实有个完整的详细的教程真的挺重要的,感谢分享~~~

    该用户从未签到

    0

    主题

    28

    回帖

    720

    积分

    禁止发言

    积分
    720
    21
    发表于 2016-12-25 00:40:42 | 只看该作者
    sky66 发表于 2016-12-21 22:13
    个人经验浅谈, 首先只要知道 mdx 源文件的格式是这样就好了.

    词头

    真的是手把手授人予渔

    该用户从未签到

    1

    主题

    50

    回帖

    275

    积分

    禁止发言

    积分
    275
    22
    发表于 2016-12-26 19:32:04 | 只看该作者
    学一学如何制作
  • TA的每日心情
    开心
    2023-3-23 13:03
  • 签到天数: 1076 天

    [LV.10]以坛为家III

    111

    主题

    1776

    回帖

    7万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    77367

    小蜜蜂章笑傲江湖章灌水大神章

    23
    发表于 2016-12-27 14:05:24 | 只看该作者
    楼主2016-12-23的那个《中华汉英大词典》(上) mdx [仅 1 词条] “怼”得妙极了,读完贴忍不住笑出了声。随时都在楼主这个帖子的新内容,期待中。
  • TA的每日心情
    擦汗
    2018-9-26 03:50
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    9

    主题

    165

    回帖

    1857

    积分

    解元

    Rank: 5Rank: 5

    积分
    1857
    24
    发表于 2016-12-29 05:11:43 | 只看该作者
    按照HUGH的转换和排版帖子想转一本DSL, 可惜卡在排版那一步了, 花了几个小时, 毫无进展, 还是缺乏CSS和HTML的相关知识啊。

    点评

    网上相关的学习资料很多的,比如这里:http://www.w3schools.com  发表于 2017-2-5 23:47
  • TA的每日心情
    开心
    2021-9-5 10:32
  • 签到天数: 14 天

    [LV.3]偶尔看看II

    1

    主题

    130

    回帖

    674

    积分

    举人

    Rank: 4

    积分
    674
    25
    发表于 2017-1-3 13:37:43 | 只看该作者
    Thanks very much !!!