查看: 6489|回复: 34
打印 上一主题 下一主题

[讨论] 纯属探讨-对mdx格式被破解开源有什么看法

[复制链接]

该用户从未签到

23

主题

63

回帖

250

积分

童生

Rank: 2

积分
250
跳转到指定楼层
1
发表于 2014-10-4 16:06:54 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 wubis 于 2014-10-4 16:06 编辑

mdx mdd 格式被goldendict团队破解了早不是新鲜事,readmdict.py也貌似达到了反向工程的效果。其实开源的seederdict还有深蓝欧路等商业词典应该早就能读吧,还是rayman给了个能读取mdx的模块?但是readmdict.py的流出还真是有点刺激。

我觉得mdict不开源是有理由的,具体的可能是在词典版权纠纷上筑起一面墙?还是担心各种mdict的变种会不利于长远的开发?这我不明白。
在众多格式中我最终还是觉得mdict适合于一般词典软件(当然dsl适合录入这是无可否认的),直接支持html标签还有那个格式标记功能成为杀手锏,秒杀stardict,格式标记一定程度上克服了html标签的臃肿。

但是mdx格式开源也可能是个好事,虽然mdxbuilder还有没有被破解不知道,可是readmdict.py都出来了,编译出词典也不太成问题吧。
比如说如果派生出了一个非官方团队,然后开发出了一个mdx extended格式(mdxe),然后sql, python/lua都能支持一下。而且还能摆脱mdict的ie依赖性。(当然不可否认mdict的应该是用mfc写吧,查维基百科毫无压力,处理大文件txt表现也不差),一大堆mdict排版的问题都是ie6造成的。或者让mdx支持xml和xslt等,(如果能支持php等动态生成页面内容的语言就更好了,可是那个要php后台,唉)。

以上纯属个人空想和看法。
为什么mdict.cn没有mac版的mdict 但是bing能够搜索到?不过goldendict在非windows看mdx上就发威了。对我来说真的很方便。一点也没有要贬低windows的意思,只是我觉得在非win上编辑替换txt比在我的xp上大概快1.3倍。然后重启到xp上用mdxbuilder

该用户从未签到

21

主题

82

回帖

775

积分

版主

Rank: 10Rank: 10Rank: 10

积分
775

管理组专用章

推荐
发表于 2014-10-8 09:38:32 | 只看该作者
1. 目前转换 mdict 词典的思路是, 使用类似 GetDict.exe 的软件转成 stardict 格式,
    然后使用 fastwiki-stardict 转成 fastwiki 格式.
   因为本贴中列出的诸多原因, 至少在半年内不会有直接 从 mdict 转成 fastwiki 格式的工具.
   (反正半年内我是不会开发的, 当然也不排除有牛人来开发的可能. fastwiki 是开源的)

2. 实时编辑? 如果说增加一些批注还说得过去. 等到有人作出一部我认为不错的英汉词典, 我就会增加这个功能.
   但是, 你不会是还想 增加条目吧?

3. fastwiki 的图片与文字是分开的, 后面如果支持音频的话, 音频数据也是分开的.
   如果希望自制词典, 最好是使用 PC 进行制作, 你能给一个在手机上编辑这么复杂的东西的理由吗?
   你不会是希望在 词典 app 里还嵌入一个像 OfficeSuite 那样的编辑器吧?
   如果你要编辑这么复杂的东西为什么不使用 PC 呢? 为什么不先制一部完善的词典, 然后只是增加一些批注呢?

4. 是说直接读 html 文件吗? 还是想把  html 文件导到原有的词典里面?
   如果只是读 html 文件, 这还是容易做到的.  如果想把 html 导到原有词典里, 为什么不在 PC 上制作呢?

5. 导出 html 功能, 这个可以考虑增加.

   在手机上编辑复杂的东西还有一个缺点: 就是你编辑的词典很快就有更完美的出来了, 你之前编辑的数据可能已经没意义了.
  • TA的每日心情
    擦汗
    前天 07:00
  • 签到天数: 1090 天

    [LV.10]以坛为家III

    124

    主题

    1772

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10477

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

    推荐
    发表于 2014-10-4 20:40:07 | 只看该作者
    本帖最后由 spoony1971 于 2014-10-4 20:46 编辑
    wubis 发表于 2014-10-4 19:50
    可是stardict索引是idx,内容是dict,而且idx好像是编译过的二进制码。7z通吃包括deb/rpm


    dict就是明文,dict.dz是gzip,7z和xz一样用的是lzma,比别的压缩算法如rar要好。7z和xz只是格式不同,算法是一样的。7z Windows下好像多一点。xz 至少linux下要好用的多(配套工具多,可直接阅读,全文检索)。我现在所有字典都只保存成xz格式,一般为mdx的一半大小。

    该用户从未签到

    23

    主题

    63

    回帖

    250

    积分

    童生

    Rank: 2

    积分
    250
    推荐
     楼主| 发表于 2014-10-4 19:26:22 | 只看该作者
    @meigen
    你搞了新格式,是开源的吗,如果你不是技术大牛,格式开源你得求别人帮你弄对应的软件或者加上比如goldendict的支持,要是你的格式马上就被别人改进并且被别人闭源了,你就杯具了;格式不开源你就更辛苦,哪里错了你也可能不知道。不过世界往往就是这样被改变的,用惯了mdict,很难想像android上只有那stardict而且那个格式不知道哪个人想出来这么复杂的。

    其实我们要求不高,就是希望比如我想全文搜索能够定位到行,就可以自己钻研,然后光荣地放上一个patch(要是小学时就开始考编程,那么现在很多人都是牛人了,可惜我不是);而不是重复地造轮子。不过不开源也真的没什么,就是写词典的门槛提高了,注重点更多放在内容而不是功能上。而且必须内容通常可以弥补功能的不足,功能却往往不能弥补内容的不足。mdx没有全文搜索?getdict解开txt后自己搜呗。可是英汉大词典却不是基本ESL双解就能完全替代的。这个方向到底可不可行?

    原来getdict不受官方支持啊,我以为yhssdl和rayman是好朋友。

    怎么在现在windows都出到了8,我们写软件、设计很多东西的速度和概念还像是dos时代。我不是技术方面的,可是真有疑惑。格式的问题是硬伤。GEMING尚未成功,同志仍需努力

    该用户从未签到

    2121

    主题

    2961

    回帖

    6万

    积分

    翰林院修撰

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

    Rank: 12Rank: 12Rank: 12

    积分
    61056

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

    推荐
    发表于 2014-10-4 17:39:56 | 只看该作者


    我有一些足以改变世界的想法,就差几个牛程序员免费帮我干活了。

    该用户从未签到

    12

    主题

    407

    回帖

    1万

    积分

    翰林院编修

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

    积分
    11211

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

    2
    发表于 2014-10-4 16:43:41 | 只看该作者
    mdict还有lingoes这些词典官方没有给出词典结构说明,都是第三方进行解析,当然解出来的不完全正确,getDict对付一些mdd会出现读取失败的情况,xwang对mdx mdd解析里面一堆unknown,另外加密的mdx 没人能读出来。
    目前已有的词典格式里面应该属epwing最容易读了,全明文,官方甚至还有ebDump工具
    换做是我我肯定不会去研究别人已经做出来的东西,要搞就搞全新的格式,集合各大词典的优势云云。
  • TA的每日心情
    擦汗
    前天 07:00
  • 签到天数: 1090 天

    [LV.10]以坛为家III

    124

    主题

    1772

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    10477

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

    5
    发表于 2014-10-4 19:47:08 | 只看该作者
    stardict格式是明文,直接gunzip解压即可。

    该用户从未签到

    23

    主题

    63

    回帖

    250

    积分

    童生

    Rank: 2

    积分
    250
    6
     楼主| 发表于 2014-10-4 19:50:07 | 只看该作者
    spoony1971 发表于 2014-10-4 19:47
    stardict格式是明文,直接gunzip解压即可。

    可是stardict索引是idx,内容是dict,而且idx好像是编译过的二进制码。7z通吃包括deb/rpm

    该用户从未签到

    258

    主题

    1651

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    19159

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

    8
    发表于 2014-10-4 22:52:47 | 只看该作者
    Oeasy 发表于 2014-10-4 17:39
    我有一些足以改变世界的想法,就差几个牛程序员免费帮我干活了。

    神马想法?这么宏大!!

    该用户从未签到

    123

    主题

    1719

    回帖

    3万

    积分

    翰林院编修

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

    积分
    30382

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

    9
    发表于 2014-10-5 06:29:39 | 只看该作者
    zhu1234 发表于 2014-10-4 22:52
    神马想法?这么宏大!!

    开个玩笑而已啦.

    该用户从未签到

    12

    主题

    407

    回帖

    1万

    积分

    翰林院编修

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

    积分
    11211

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

    10
    发表于 2014-10-5 09:36:31 | 只看该作者
    回4楼,现有的词典格式勉强还能用,mdict+epwing已经满足我绝大多数要求,实在要搞新格式,你肯定得做一堆准备工作,词典最重要的是速度快和内容丰富,这两点是首先考虑,而不是什么开不开源被人破了怎么的这类问题

    该用户从未签到

    21

    主题

    82

    回帖

    775

    积分

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    775

    管理组专用章

    11
    发表于 2014-10-7 14:02:13 | 只看该作者
    可以试试 fastwiki , 开源代码, 全新格式, 快速制作及快速查找.
    支持关键字模糊查找, 支持全文检索. 支持 Linux, Windows, Android 平台. (即将支持 Mac 平台)

    最开始是为了支持离线维基百科, 现在也提供工具自制词典, 如:
    1. fastwiki-stardict  把 stardict  词典转成 fastwiki 格式
    2. fastwiki-text  把文本转换 fastwiki 格式.

    我本来也打算写个工具从 mdict 格式转成 fastwiki 格式的, 但是发现 mdict 的格式实在是太无语了, 后来完全没有写的兴趣.

    更多工具可参考 https://fastwiki.me/index.php/Main_Page/zh
    这里有全文检索的截图: http://weibo.com/fastwiki

    该用户从未签到

    21

    主题

    82

    回帖

    775

    积分

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    775

    管理组专用章

    12
    发表于 2014-10-7 14:03:57 | 只看该作者
    wubis 发表于 2014-10-4 19:26
    @meigen
    你搞了新格式,是开源的吗,如果你不是技术大牛,格式开源你得求别人帮你弄对应的软件或者加上比 ...

    欢迎使用及开发 fastwiki , 最新版本开始全面支持全文检索了.

    该用户从未签到

    5

    主题

    485

    回帖

    2385

    积分

    解元

    Rank: 5Rank: 5

    积分
    2385

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

    13
    发表于 2014-10-7 15:34:25 | 只看该作者
    本帖最后由 ok927 于 2014-10-7 15:37 编辑
    fastwiki 发表于 2014-10-7 14:02
    可以试试 fastwiki , 开源代码, 全新格式, 快速制作及快速查找.
    支持关键字模糊查找, 支持全文检索. 支持 ...


    现在mdict的词典是很多很全的。为了方便使用,建议您为fastwiki增加“读取mdict词典”的功能。这样就可方便用查词典的功能了。

    该用户从未签到

    21

    主题

    82

    回帖

    775

    积分

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    775

    管理组专用章

    14
    发表于 2014-10-7 15:56:36 | 只看该作者
    ok927 发表于 2014-10-7 15:34
    现在mdict的词典是很多很全的。为了方便使用,建议您为fastwiki增加“读取mdict词典”的功能。这样就可 ...

    仅仅读取  mdict 实现不了很多功能的, 例如全文检索.
    如果用户希望在 fastwiki 上使用 mdict 词典, 目前可以这么做:
    1. 把 mdict 导出成文本
    2. 使用工具转成一定格式 (参见 https://fastwiki.me/index.php/Fastwiki_text/zh )
    3. 使用 fastwiki-text 转成 fastwiki 格式

    这样就可以使用 fastwiki 的很多功能了.

    虽然 mdict 的资料很多, 但就词典而言, 有时只需要那么一两部好的词典就足够了.

    该用户从未签到

    258

    主题

    1651

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    19159

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

    15
    发表于 2014-10-7 16:25:13 | 只看该作者
    fastwiki 发表于 2014-10-7 15:56
    仅仅读取  mdict 实现不了很多功能的, 例如全文检索.
    如果用户希望在 fastwiki 上使用 mdict 词典, 目前 ...

    好东东。惊喜中。。。不过下的工具怎么用呢?如windows下的转换工具,Pc上的检索软件没界面?android下的软件在那下?

    该用户从未签到

    21

    主题

    82

    回帖

    775

    积分

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    775

    管理组专用章

    16
    发表于 2014-10-7 18:16:57 | 只看该作者
    zhu1234 发表于 2014-10-7 16:25
    好东东。惊喜中。。。不过下的工具怎么用呢?如windows下的转换工具,Pc上的检索软件没界面?android下的 ...

    fastwiki 的转换工具需要在命令行下使用, 如用 windows 就点 "开始" -> "运行" -> cmd 即可.
    fastwiki 提供很多转换工具:
    1. 用来转换维基百科原始文件文件的, 见 https://fastwiki.me/index.php/Fastwiki/zh
    2. 可以从 zim 转成 fastwiki 格式的: https://fastwiki.me/index.php/Fastwiki_zim/zh
       zim 文件是 kiwix.org 发布的完整版离线维基百科数据包.
    3. 可以把 stardict 转成 fastwiki 格式的, 见: https://fastwiki.me/index.php/Fastwiki_stardict/zh
    4. PC 上使用请看 1. 和 https://fastwiki.me/index.php/Fastwiki_httpd/zh
    等等...

    APK 可以在这里下载:
    https://fastwiki.me/index.php/Download0/zh

    fastwiki 支持直接制作离线英文维基百科, 转换效率非常高~~

    PC 功能预览: (201402 英文维基百科数据)
    http://fastwiki.me:8218/

    该用户从未签到

    21

    主题

    82

    回帖

    775

    积分

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    775

    管理组专用章

    17
    发表于 2014-10-7 18:24:21 | 只看该作者
    zhu1234 发表于 2014-10-7 16:25
    好东东。惊喜中。。。不过下的工具怎么用呢?如windows下的转换工具,Pc上的检索软件没界面?android下的 ...

    可以先下载 apk 和 百度网盘的 21世纪英汉 来测试:
    http://pan.baidu.com/s/1hqophVA  密码 dvn1
    支持全文检索.

    该用户从未签到

    5

    主题

    485

    回帖

    2385

    积分

    解元

    Rank: 5Rank: 5

    积分
    2385

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

    18
    发表于 2014-10-7 18:48:07 | 只看该作者
    fastwiki 发表于 2014-10-7 15:56
    仅仅读取  mdict 实现不了很多功能的, 例如全文检索.
    如果用户希望在 fastwiki 上使用 mdict 词典, 目前 ...


    带语音(发音按钮)、图文混排的mdict词典能成功转换(正常显示、发音)不?

    该用户从未签到

    21

    主题

    82

    回帖

    775

    积分

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    775

    管理组专用章

    19
    发表于 2014-10-7 18:55:33 | 只看该作者
    ok927 发表于 2014-10-7 18:48
    带语音(发音按钮)、图文混排的mdict词典能成功转换(正常显示、发音)不?

    目前不支持发音. 不过这个功能是简单的.
    据我了解, mdict 有发布转成 html 格式的工具, 所以转成 fastwiki 是没问题的, 只不过不是直接转而已.

    因为 fastwiki 以前一直以快速自制 离线英文维基百科 为目标.
    (由于英文维基百科数据最大, 这样一样, 自制其它的维基百科或词典自然也是很快的了)
    所以没有太关注词典的功能, 以后会重点关注词典功能, 欢迎大家提建议:
    https://www.pdawiki.com/forum/thread-13110-1-1.html

    该用户从未签到

    5

    主题

    485

    回帖

    2385

    积分

    解元

    Rank: 5Rank: 5

    积分
    2385

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

    20
    发表于 2014-10-7 19:01:40 | 只看该作者
    发音的功能,真的是很重要、实用的!
    查词典的目的,其实就是发音和释义。因此,建议:在转换mdict词典时,保留发音、图文混排的功能。

    该用户从未签到

    21

    主题

    82

    回帖

    775

    积分

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    775

    管理组专用章

    21
    发表于 2014-10-7 19:13:28 | 只看该作者
    ok927 发表于 2014-10-7 19:01
    发音的功能,真的是很重要、实用的!
    查词典的目的,其实就是发音和释义。因此,建议:在转换mdict词典时 ...

    以后版本会考虑支持发音,
    目前 fastwiki 已经是支持显示 图片的了, 也支持 html 的.

    该用户从未签到

    20

    主题

    251

    回帖

    898

    积分

    禁止发言

    积分
    898
    22
    发表于 2014-10-7 19:51:57 | 只看该作者
    fastwiki 发表于 2014-10-7 15:56
    仅仅读取  mdict 实现不了很多功能的, 例如全文检索.
    如果用户希望在 fastwiki 上使用 mdict 词典, 目前 ...

    最好能实现即时编辑或编辑阅读二合一,现在MDICT编辑和阅读使用功能分离不方便。

    该用户从未签到

    21

    主题

    82

    回帖

    775

    积分

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    775

    管理组专用章

    23
    发表于 2014-10-7 20:02:01 | 只看该作者
    lwangls 发表于 2014-10-7 19:51
    最好能实现即时编辑或编辑阅读二合一,现在MDICT编辑和阅读使用功能分离不方便。

    实现编辑功能是较简单的, 直接增加即可.
    有一个问题: 就是编辑后的内容部分无法进行全文检索.
    还有就是, 手机上编辑会不会操作太麻烦了? 那可是直接对 html 进行修改的.

    不过, fastwiki 后续版本将考虑 android 版本的编辑功能.

    该用户从未签到

    5

    主题

    485

    回帖

    2385

    积分

    解元

    Rank: 5Rank: 5

    积分
    2385

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

    24
    发表于 2014-10-7 20:59:54 | 只看该作者
    编辑后全文索引之事,建议增加一个功能:更新索引。这样方便用户在修改后按需更新索引。

    该用户从未签到

    258

    主题

    1651

    回帖

    1万

    积分

    状元

    Rank: 9Rank: 9Rank: 9

    积分
    19159

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

    25
    发表于 2014-10-7 23:04:37 | 只看该作者
    本帖最后由 zhu1234 于 2014-10-7 23:39 编辑

    fastwiki   android版,词库只能放在存储卡上?

    与Hdict 对比了一下。fastwiki   android版 还有不少差距,不论是词典界面还是易用性,还有词库制作,在fastwiki改进方面,建议参考Hdcit。 至于说支持图片,还是很期待的。不知道什么时候能实现了?