Oeasy 发表于 2016-12-21 11:23:18

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

本帖最后由 Oeasy 于 2018-1-22 00:06 编辑


我准备有空就写点关于 mdx 制作的文章,发到公众号(@ducidian https://www.pdawiki.com/forum/thread-19351-1-1.html)上。
► 个人公众号第一发:        mdx 制作浅谈 https://mp.weixin.qq.com/s/S7Yrqee2lSvdReKnfU5jyQ
        三分钟怼个《中华汉英大词典》(上) mdx [仅 1 词条] https://mp.weixin.qq.com/s/1v6keF0Nr7tgadM1C69sGg
        mdx制作随想:时间、金钱、精力、学习…… http://mp.weixin.qq.com/s/YiA4GzSpHjdJXFA3JIJuRg
        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

- 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 制作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化制作 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
        **** Hidden Message *****
开源代码
        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/


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


        https://upload-images.jianshu.io/upload_images/4087589-73cd846a5a983590.png

sky66 发表于 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格式的词典数据, 内容如:
      "notes": [
      "古国名,建国于主前753年,其最盛世时国境东西约九千里,南北约六千里。"
      ],
      "chinese": "罗马",
      "english": "Rome"
    },
   使用emeditor提取出 "罗马" 和 "Rome" 为中英词头, "notes"底下的自然就是释义内容
   然后将 }, 改为 </>, 完成

3. 例如: 某个词频.xls 表格, 内容如下:
1        the
2        be
3        and
4        of
5        a
   复制到 emeditor, 找 (^.*?)\t(.*$), 取代为 \2\n\1 \2\n</>
   这样就完成了一个简单的词频词典, 要精美就要更多数据与排版了

4. 例如: 某个 基础词汇.doc 文件, 内容如下:
10. absolutely ['æbsəlu:tli]
adv. 绝对地;完全地;是这样
   同样的, 复制到 emeditor, 再用emeditor整理成如下 mdx 格式.
absolutely
<tit>absolutely</tit> ['æbsəlu:tli] <pos>adv.</pos><def> 绝对地;完全地;是这样 </def>
</>
   再制做个对应的 .css, 调整颜色与排版, 完成.

5. 例如: 某个词频.pdf 文件, 内容如下:
1152 absolutely r
no, right, • nothing, sure, • necessary, ...
   同样的, 复制到 emeditor, 再用emeditor整理, 排版, 完成.

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

chigre3 发表于 2016-12-21 21:07:48

感觉论坛到了一个瓶颈期:
该有的差不多都有了,会做的差不多都走了,
真的需要一组帖子来普及词典制作~
为下一波高峰助力

泥丸 发表于 2016-12-26 00:17:28

henices 发表于 2016-12-23 15:46:46

我一般都是兴趣驱动, 最近对一部词典有些兴趣, 可能会抓取制作.

deeke 发表于 2016-12-22 02:06:30

做词典讲究四门功课:

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

sky66 发表于 2016-12-21 14:16:02

汉语大词典, 历经上述三重境界(修改原mdx版、转换dsl版、整理光盘数据)
五种数据来源(PDF文字版、dsl版、扫描版、在线版、光盘/app)
最后连纸本书也买了...

duancj 发表于 2016-12-21 13:37:20

很好的帖子,感谢O大

zhu1234 发表于 2016-12-21 14:30:41

好帖。总结归纳得好。

laohuhua 发表于 2016-12-21 20:49:12

可以麻烦你按上述五类展开论述一下吗?多谢。

minsk 发表于 2016-12-21 23:21:58

不可能整理到那么详细的,能把通用的方法讲清楚就已经很不错了
至于各个网站和词典的排版细节太多了,讲不完的

lxchen2001 发表于 2016-12-22 03:13:19

deeke 发表于 2016-12-22 02:06
做词典讲究四门功课:

1. HTML + CSS


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

用点心的半天时间就看能看懂H5+C3

秋天故事 发表于 2016-12-22 03:14:19

好贴,真金白银,赶紧找个位置坐下来听课~~

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

lxchen2001 发表于 2016-12-22 03:17:00

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

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

迪克特 发表于 2016-12-22 08:50:23

制作图片版字典需要一张一张处理图片,一个一个词头校对,非常耗时!非常耗时!

Oeasy 发表于 2016-12-22 09:07:42

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


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

迪克特 发表于 2016-12-22 10:09:05

制作词典耗时费力,需要组织制作团队!或者请吃鱼出山!

adv122 发表于 2016-12-23 04:06:03

本帖最后由 adv122 于 2018-1-22 16:00 编辑

多谢O大分享

xzqxq 发表于 2016-12-24 06:59:23

希望楼主尽快完成,非常需要这样一个完整的教程。

mingqing007 发表于 2016-12-25 00:24:58

其实有个完整的详细的教程真的挺重要的,感谢分享~~~

泥丸 发表于 2016-12-25 00:40:42

sky66 发表于 2016-12-21 22:13
个人经验浅谈, 首先只要知道 mdx 源文件的格式是这样就好了.

词头


真的是手把手授人予渔

njuzwr 发表于 2016-12-26 19:32:04

学一学如何制作

70A 发表于 2016-12-27 14:05:24

楼主2016-12-23的那个《中华汉英大词典》(上) mdx [仅 1 词条] “怼”得妙极了,读完贴忍不住笑出了声。随时都在楼主这个帖子的新内容,期待中。

九合诸侯 发表于 2016-12-29 05:11:43

按照HUGH的转换和排版帖子想转一本DSL, 可惜卡在排版那一步了, 花了几个小时, 毫无进展, 还是缺乏CSS和HTML的相关知识啊。

akureyri 发表于 2017-1-3 13:37:43

Thanks very much !!!
页: [1] 2 3 4
查看完整版本: mdx 科普、制作教程大合集[进行中][20180121]