【编程学习】每天进步一点点,编程学习之路:一款Mdict词典制作工具,Mdict Editor Tool v2.0.35 -- 多功能个性化词典制作工具

【编程学习】每天进步一点点,编程学习之路:一款Mdict词典制作工具,Mdict Editor Tool v2.0.35 -- 多功能个性化词典制作工具

这是一篇陈年旧贴,大学无聊的时候学习了Mdict词典的制作,顺手撸了个制作词典的工具,简化词典制作过程,提高词典制作效率。工具发布在了Pdawiki论坛上,供网友下载使用。

原贴传送门:https://www.pdawiki.com/forum/forum.php?mod=viewthread&tid=18986

Mdict Editor Tool v2.0.35 -- 多功能个性化词典制作工具

2017.03.27:
发现bug,修正更新。

2017.03.15:
新增提取功能,按HTML标签提取,速度虽然比不上正则,但简单易用,适合没有编程基础的同学,提取更方便。
正则虽强大,速度快,但处理HTML多层嵌套标签就显得力不从心了。
此功能依赖第三方库lxml,软件打包后体积也略大了一点。

关于多个词典CSS类名(class)重名问题,导致词典合并后样式混乱的解决方案
将词典源文本的所有类名批量改名,添一个前缀字符,再将该词典对应的.css文件里的类名批量替换,添加上该前缀字符。
以《21世纪大英汉词典》为例,把词典源文本中所有的类名 class="example" 添加上 【cent21_】前缀字符(即替换为 class="cent21_example";前缀字符由英文字母、数字及下划线组成,且以英文字母开头),与其它词典区分开来。

1.词典源文本正则替换:

class="(.+?)"

替换为

class="cent21_\1"

2.将样式表文件(.css)正则替换:

\.([a-Z])

替换为

.cent21_\1

即可解决合集词典CSS重名问题。该方法仅对class有效。

使用过程中网友遇到的问题解答:
第一类问题:合并词典的词条大小写区分问题
如网友VIPcoco所描述的问题: 36楼 place词条 language的内容跑道所有内容前面去了,mac下的欧路。
及网友rit919所描述的问题: 32楼 wood的人名词条重复出现extras区的最底部,而不是顶部。查cook,bush等词也有同样情况

原因及解决办法: 见原帖39楼 https://www.pdawiki.com/forum/fo ... &fromuid=203976

第二类问题:词典合并后javascript脚本报错
这种问题归结为两种情况
第1种情况:MDcict PC打开合集词典进入某个词条(还未点击切换按钮)时就弹出javascript脚本错误。
这是由于个别词典个别词条内容下的源数据本身问题,也就是说原词典(合并前)在MDict PC中进入某些词条会报错,词典合并后错误仍然存在,导致合集词典(xin1)也报错。
这种情况只能找词典原作者修复词典。
第2种情况:MDcict PC打开合集词典进入某个词条之后点击切换按钮切换词典时弹出javascript脚本错误。
这种还是词典源数据问题,导致程序新生成的div标签无法闭合,javascript找不到对象,导致切换词典时抛出错误。
这种情况下导致合集词典(xin1)切换时抛出错误的原词典由于源数据差异,并不适合做该合并方式的合集词典。
出现第2种情况时错误排查:
比如:A、B、C、D、E词典合并后"farther"词条出现此错误(即点击切换按钮则报错),那么应该就是这五个词典中的其中一个或多个词典源数据HTML标签无法闭合而导致的该问题。具体排查方法如下:

farther.png

1.将合并词典源文件后缀改为.html(用于显示语法高亮),使用EmEditor打开,查找正则:^farther\r\n,勾选正则表达式,查找定位到所查找的行。

2.复制该项词条下的内容(HTML源码),创建新的HTML文档,粘贴到刚刚创建的HTML文档

3.将显示切换为“wrap by page”

farther2.png

然后正则替换

,再将鼠标逐个点击到
farther3.png

4.最后一步就是修正有问题的词典源数据了,具体操作就要看情况而言了。

第三类问题:词典合并后的@@@LINK=
@@@LINK=这个用法我没有用过,不了解用法,不便谈论。
程序更新已解决这个问题,只是简单粗暴地用正则把@@@LINK=替换成跳转链接,点击便跳转到主词条。

------------ 假装华丽的分割线 ------------

Mdict Editor Tool v2.0.35

软件功能简介:

◆1.词典内容提取
①按单词列表提取。
②按正则表达式提取。如提取例句、音标、释义等。
③提取词典中所有词条。
④按HTML标签提取。

◆ 2.多词典合并
可合并多部词典,合并样式丰富,可自由选择样式。
程序自动生成CSS、JavaScript文件。
理论上可以合并任意无限多个词典,但合并词典数量取决于电脑本身配置。

◆ 3.词典锚点与制作
用于Mdict词典锚跳定位自动化制作,如词组短语、例句、释义、音标等多维查询词典制作。

◆ 4.词条合并
只需确定词头的所在的标签,便可自动给词头的右上角加入序号。同时生成可定位查找的词头标题。

◆ 5.词条去重

◎ 启动软件时部分功能已经预设完毕,刚开始使用此软件的同学可直接点击右下方按钮尝试制作。

你可能感兴趣的:(【编程学习】每天进步一点点,编程学习之路:一款Mdict词典制作工具,Mdict Editor Tool v2.0.35 -- 多功能个性化词典制作工具)