查看: 793|回复: 9
打印 上一主题 下一主题

[求助] mdict源文件如何合并词条,有什么简单的方法吗

[复制链接]

该用户从未签到

23

主题

63

回帖

250

积分

童生

Rank: 2

积分
250
跳转到指定楼层
1
发表于 2016-6-17 15:19:04 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wubis 于 2016-6-17 15:26 编辑

mdict源文件如何合并词条,有什么简单的方法吗,本人想用perl,是菜鸟菜鸟级
我指的是不同词典有同一词条入口不同词条内容,将不同内容合成到同一词条下面,不是词典源文件的叠加,之前看到有教程和软件的,现在找不到了

该用户从未签到

29

主题

424

回帖

5232

积分

会元

Rank: 7Rank: 7Rank: 7

积分
5232

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

推荐
发表于 2016-7-11 20:39:29 | 只看该作者
Slav 发表于 2016-7-11 20:03
Hello, my apologies can not read Chinese language clearly with a computer translation service. Have  ...

SourceEditor.rar (2.01 MB, 下载次数: 43)

该用户从未签到

24

主题

701

回帖

4442

积分

翰林院修撰

不傲嬌的傲嬌

Rank: 12Rank: 12Rank: 12

积分
4442

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

推荐
发表于 2016-6-18 04:46:40 | 只看该作者
本帖最后由 PurlingNayuki 于 2016-6-18 05:23 编辑

給個思路:
  • 讀入詞條。按照 MDict 原始檔的格式,每次讀取一行。第一行:詞頭。接下來,循環讀入每行,直到讀入 '</>'。
  • 建立集合。集合是一對一的 mapping,即一個 key 對應一個 value,key 不得重複。利用這個特點,每次讀入一個詞條,則判斷集合中是否有該詞條,如果沒有,加入;如果已有,合併。在 Python 中可以利用 dict(字典)完成,Perl 不瞭解不好意思。
  • 排序輸出。排序也可以省略。

以上沒有任何最佳化,但是效率應該是堪用的。大部分程式語言都能輕松完成,Perl 應該是更精於此類應用。

该用户从未签到

19

主题

593

回帖

25万

积分

状元

Rank: 9Rank: 9Rank: 9

积分
259792

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

2
发表于 2016-6-17 22:00:23 | 只看该作者
https://www.pdawiki.com/forum/fo ... hread&tid=12972

2. 文件的合并
可以把多个Mdx、MDict源文件合并到一起。当你同时打开了多个文件时,可以用两种方式把它们合并到一个文件中。有全部合并和补充合并供你选择。

该用户从未签到

0

主题

53

回帖

205

积分

童生

Rank: 2

积分
205
4
发表于 2016-7-11 20:03:03 | 只看该作者
Hello, my apologies can not read Chinese language clearly with a computer translation service. Have the same idea to merge several dictionaries into a single one. But followed to the link provided in order to download Dict Source Editor and could not able to find the download link...Could anyone help me to download Dict Source Editor?

该用户从未签到

19

主题

363

回帖

2553

积分

解元

Rank: 5Rank: 5

积分
2553

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

6
发表于 2016-7-11 20:54:40 | 只看该作者
本帖最后由 fnaviwwo1 于 2016-7-11 21:02 编辑

我的那个简明牛津词典的帖子里有类似的ruby代码,我把两本词典的释义合并单一条目,用perl也差不多。
https://www.pdawiki.com/forum/fo ... hread&tid=17346
参考24行到29行就可以了。
其实不合并直接保留多个条目在goldendict下是能正常显示的,不过欧陆不能同时识别@@@link ,也不能保证有序。
  • TA的每日心情
    开心
    2023-1-18 23:24
  • 签到天数: 211 天

    [LV.7]常住居民III

    427

    主题

    4539

    回帖

    9万

    积分

    超级版主

    Rank: 12Rank: 12Rank: 12

    积分
    92011

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

    7
    发表于 2016-10-25 11:10:36 | 只看该作者
    本帖最后由 kyletruman 于 2016-10-25 15:07 编辑

    感谢大家分享合并词条的经验!受教了。
    By the way, 楼主您今天分享的perl词典的mdx很不错,谢谢!
  • TA的每日心情
    开心
    2022-9-28 10:11
  • 签到天数: 20 天

    [LV.4]偶尔看看III

    2

    主题

    123

    回帖

    820

    积分

    举人

    Rank: 4

    积分
    820
    8
    发表于 2016-11-22 23:20:08 | 只看该作者
    搜索:Mdict词典DIY工具系列
  • TA的每日心情
    开心
    2022-3-11 16:40
  • 签到天数: 10 天

    [LV.3]偶尔看看II

    37

    主题

    411

    回帖

    1360

    积分

    翰林院编修

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

    积分
    1360

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

    9
    发表于 2017-1-13 01:37:24 | 只看该作者