掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 10022|回复: 35

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

[复制链接]

该用户从未签到

发表于 2014-10-4 16:06:54 | 显示全部楼层 |阅读模式
本帖最后由 wubis 于 2014-10-4 16:06 编辑 6 I6 ]7 b( A% W5 e* L% ~
5 ^$ b& P. B& ~6 A4 K6 j
mdx mdd 格式被goldendict团队破解了早不是新鲜事,readmdict.py也貌似达到了反向工程的效果。其实开源的seederdict还有深蓝欧路等商业词典应该早就能读吧,还是rayman给了个能读取mdx的模块?但是readmdict.py的流出还真是有点刺激。
' x" h! o6 w# C1 N# e0 A4 Q4 N! M2 W
我觉得mdict不开源是有理由的,具体的可能是在词典版权纠纷上筑起一面墙?还是担心各种mdict的变种会不利于长远的开发?这我不明白。
& b9 r$ \" k0 ^/ @5 ]+ f# R在众多格式中我最终还是觉得mdict适合于一般词典软件(当然dsl适合录入这是无可否认的),直接支持html标签还有那个格式标记功能成为杀手锏,秒杀stardict,格式标记一定程度上克服了html标签的臃肿。
0 Z8 B, b' g% _5 A: _! |( }+ C; S. }3 z6 ]* Q/ y# W
但是mdx格式开源也可能是个好事,虽然mdxbuilder还有没有被破解不知道,可是readmdict.py都出来了,编译出词典也不太成问题吧。
; t9 Q. @9 t' d; |% Z比如说如果派生出了一个非官方团队,然后开发出了一个mdx extended格式(mdxe),然后sql, python/lua都能支持一下。而且还能摆脱mdict的ie依赖性。(当然不可否认mdict的应该是用mfc写吧,查维基百科毫无压力,处理大文件txt表现也不差),一大堆mdict排版的问题都是ie6造成的。或者让mdx支持xml和xslt等,(如果能支持php等动态生成页面内容的语言就更好了,可是那个要php后台,唉)。3 `9 P/ W7 V% l, {. z8 A0 G
* t9 _8 x  }. a0 [# {
以上纯属个人空想和看法。8 g! f! u) c9 v" D+ g
为什么mdict.cn没有mac版的mdict 但是bing能够搜索到?不过goldendict在非windows看mdx上就发威了。对我来说真的很方便。一点也没有要贬低windows的意思,只是我觉得在非win上编辑替换txt比在我的xp上大概快1.3倍。然后重启到xp上用mdxbuilder

该用户从未签到

发表于 2014-10-8 09:38:32 | 显示全部楼层
1. 目前转换 mdict 词典的思路是, 使用类似 GetDict.exe 的软件转成 stardict 格式,' r5 u  H! Y/ I% Z" r% x) f/ h& T2 P
    然后使用 fastwiki-stardict 转成 fastwiki 格式.- F% u: R0 l' f. Z3 I5 r
   因为本贴中列出的诸多原因, 至少在半年内不会有直接 从 mdict 转成 fastwiki 格式的工具.2 |( F6 v2 r1 R
   (反正半年内我是不会开发的, 当然也不排除有牛人来开发的可能. fastwiki 是开源的)+ g2 ~, ^" ]) z; }

2 i5 V1 l2 _6 X* j" E2 T% o2. 实时编辑? 如果说增加一些批注还说得过去. 等到有人作出一部我认为不错的英汉词典, 我就会增加这个功能.
2 z! r7 L8 X3 S' S$ E/ ^( x- Q   但是, 你不会是还想 增加条目吧? 8 R. `# n% H2 ]# Y! v

0 H1 _. P2 |4 Z! y# O! m3. fastwiki 的图片与文字是分开的, 后面如果支持音频的话, 音频数据也是分开的.& t, V& j4 e8 g
   如果希望自制词典, 最好是使用 PC 进行制作, 你能给一个在手机上编辑这么复杂的东西的理由吗?9 X2 G; N# c2 A  v" y* x& {# N
   你不会是希望在 词典 app 里还嵌入一个像 OfficeSuite 那样的编辑器吧?# M& K+ |/ Z( }3 ]2 V- r
   如果你要编辑这么复杂的东西为什么不使用 PC 呢? 为什么不先制一部完善的词典, 然后只是增加一些批注呢?- C- ~2 A( h0 k" W9 I2 m

  [; U6 H% b2 Q4. 是说直接读 html 文件吗? 还是想把  html 文件导到原有的词典里面?
; _. |' m- K6 X( W   如果只是读 html 文件, 这还是容易做到的.  如果想把 html 导到原有词典里, 为什么不在 PC 上制作呢?
2 k* Q7 {8 D* ~4 m; H! H  j# e$ i7 a' h! O" @+ L
5. 导出 html 功能, 这个可以考虑增加.2 x; C1 M# m4 b

; d. w1 v" D( E& l   在手机上编辑复杂的东西还有一个缺点: 就是你编辑的词典很快就有更完美的出来了, 你之前编辑的数据可能已经没意义了.
. x, g$ @! A- o8 S: [8 f* w# i
  • TA的每日心情
    擦汗
    2023-9-2 09:16
  • 签到天数: 1103 天

    [LV.10]以坛为家III

    发表于 2014-10-4 20:40:07 | 显示全部楼层
    本帖最后由 spoony1971 于 2014-10-4 20:46 编辑 , d5 o( _3 p8 N5 d4 S/ ~
    wubis 发表于 2014-10-4 19:50  S7 P9 x) j4 |9 e) V6 q9 z- {
    可是stardict索引是idx,内容是dict,而且idx好像是编译过的二进制码。7z通吃包括deb/rpm

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

    该用户从未签到

     楼主| 发表于 2014-10-4 19:26:22 | 显示全部楼层
    @meigen  _- D! a3 s7 }" [
    你搞了新格式,是开源的吗,如果你不是技术大牛,格式开源你得求别人帮你弄对应的软件或者加上比如goldendict的支持,要是你的格式马上就被别人改进并且被别人闭源了,你就杯具了;格式不开源你就更辛苦,哪里错了你也可能不知道。不过世界往往就是这样被改变的,用惯了mdict,很难想像android上只有那stardict而且那个格式不知道哪个人想出来这么复杂的。
    / e7 |6 m; t, C8 S- U5 R3 I$ K" c$ y4 o7 Q
    其实我们要求不高,就是希望比如我想全文搜索能够定位到行,就可以自己钻研,然后光荣地放上一个patch(要是小学时就开始考编程,那么现在很多人都是牛人了,可惜我不是);而不是重复地造轮子。不过不开源也真的没什么,就是写词典的门槛提高了,注重点更多放在内容而不是功能上。而且必须内容通常可以弥补功能的不足,功能却往往不能弥补内容的不足。mdx没有全文搜索?getdict解开txt后自己搜呗。可是英汉大词典却不是基本ESL双解就能完全替代的。这个方向到底可不可行?
    $ \2 x* ~( F+ t2 ?; ]4 c. _
    0 P; j0 s' @$ z. U2 d原来getdict不受官方支持啊,我以为yhssdl和rayman是好朋友。; m$ Q' B. M. g! P. h1 u
    1 l: t1 U0 A5 f# Y: B8 [' p
    怎么在现在windows都出到了8,我们写软件、设计很多东西的速度和概念还像是dos时代。我不是技术方面的,可是真有疑惑。格式的问题是硬伤。GEMING尚未成功,同志仍需努力

    该用户从未签到

    发表于 2014-10-4 17:39:56 | 显示全部楼层

    + N% _% K% x3 ^9 J7 {1 ?# ]& W* N% \5 M( ]. t+ {0 p  C  S( u3 ?" w+ `
    我有一些足以改变世界的想法,就差几个牛程序员免费帮我干活了。
    ( ^7 t6 a  m  x4 E/ Y8 L% p. {9 ^. _6 a

    该用户从未签到

    发表于 2014-10-4 16:43:41 | 显示全部楼层
    mdict还有lingoes这些词典官方没有给出词典结构说明,都是第三方进行解析,当然解出来的不完全正确,getDict对付一些mdd会出现读取失败的情况,xwang对mdx mdd解析里面一堆unknown,另外加密的mdx 没人能读出来。
    ) o& Y9 k; D  q- e7 M( o6 v6 z目前已有的词典格式里面应该属epwing最容易读了,全明文,官方甚至还有ebDump工具1 u6 H9 j3 G' |/ o& a4 a7 Y
    换做是我我肯定不会去研究别人已经做出来的东西,要搞就搞全新的格式,集合各大词典的优势云云。
  • TA的每日心情
    擦汗
    2023-9-2 09:16
  • 签到天数: 1103 天

    [LV.10]以坛为家III

    发表于 2014-10-4 19:47:08 | 显示全部楼层
    stardict格式是明文,直接gunzip解压即可。

    该用户从未签到

     楼主| 发表于 2014-10-4 19:50:07 | 显示全部楼层
    spoony1971 发表于 2014-10-4 19:47
    0 {* P9 N( v1 @; k  ustardict格式是明文,直接gunzip解压即可。
    6 ?% u9 `. T4 _: [, I! A
    可是stardict索引是idx,内容是dict,而且idx好像是编译过的二进制码。7z通吃包括deb/rpm

    该用户从未签到

    发表于 2014-10-4 22:52:47 | 显示全部楼层
    Oeasy 发表于 2014-10-4 17:398 ?% I; r" d! T( n6 `; N3 {
    我有一些足以改变世界的想法,就差几个牛程序员免费帮我干活了。

    & }' P2 T. O1 o; C6 y! K* C神马想法?这么宏大!!

    该用户从未签到

    发表于 2014-10-5 06:29:39 | 显示全部楼层
    zhu1234 发表于 2014-10-4 22:52
      W0 Y# k+ a" y8 f神马想法?这么宏大!!

    0 E% h; Z/ E, o6 Q: c开个玩笑而已啦.

    该用户从未签到

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

    该用户从未签到

    发表于 2014-10-7 14:02:13 | 显示全部楼层
    可以试试 fastwiki , 开源代码, 全新格式, 快速制作及快速查找.
    : y+ h% a1 r. u支持关键字模糊查找, 支持全文检索. 支持 Linux, Windows, Android 平台. (即将支持 Mac 平台)
      _8 y9 u$ x: {" [: R9 S3 A
      m0 W2 _2 Y, r4 t( }1 l0 Y最开始是为了支持离线维基百科, 现在也提供工具自制词典, 如:- N) b% H+ {! u+ A, M: C& A4 X) F/ j/ K0 P
    1. fastwiki-stardict  把 stardict  词典转成 fastwiki 格式
    & D: f1 t+ o( F$ o: p1 h( e2. fastwiki-text  把文本转换 fastwiki 格式.$ q1 b2 B1 ]" ~% @. C& F
    & Q1 z2 A! k  V/ }& U
    我本来也打算写个工具从 mdict 格式转成 fastwiki 格式的, 但是发现 mdict 的格式实在是太无语了, 后来完全没有写的兴趣.
      R6 d+ h  H" h# K- A" y$ r6 v7 o9 w% l/ G: `
    更多工具可参考 https://fastwiki.me/index.php/Main_Page/zh" H! T7 Q, e1 D" Z; _
    这里有全文检索的截图: http://weibo.com/fastwiki

    该用户从未签到

    发表于 2014-10-7 14:03:57 | 显示全部楼层
    wubis 发表于 2014-10-4 19:26
    2 a) b9 h# U) I4 j@meigen* f8 M1 A% F* ^. k1 K/ ]
    你搞了新格式,是开源的吗,如果你不是技术大牛,格式开源你得求别人帮你弄对应的软件或者加上比 ...
    ; U7 k, c+ e* J! n+ ^4 P
    欢迎使用及开发 fastwiki , 最新版本开始全面支持全文检索了.

    该用户从未签到

    发表于 2014-10-7 15:34:25 | 显示全部楼层
    本帖最后由 ok927 于 2014-10-7 15:37 编辑 * Z; ?0 Q  I' y
    fastwiki 发表于 2014-10-7 14:02
    . z! k9 r2 o# S可以试试 fastwiki , 开源代码, 全新格式, 快速制作及快速查找.
    : c6 Q7 e6 b7 d' w: [支持关键字模糊查找, 支持全文检索. 支持 ...
    % b: A+ Y' [' X7 f

    7 g- B0 ?0 m, E5 Q1 q, w3 C) _现在mdict的词典是很多很全的。为了方便使用,建议您为fastwiki增加“读取mdict词典”的功能。这样就可方便用查词典的功能了。

    该用户从未签到

    发表于 2014-10-7 15:56:36 | 显示全部楼层
    ok927 发表于 2014-10-7 15:34
    ; ~. y9 t; H, c$ N4 B  c# O! K现在mdict的词典是很多很全的。为了方便使用,建议您为fastwiki增加“读取mdict词典”的功能。这样就可 ...
    % p8 @$ r1 j; C3 [
    仅仅读取  mdict 实现不了很多功能的, 例如全文检索.
    , U2 g. C8 S4 r' m& f6 J如果用户希望在 fastwiki 上使用 mdict 词典, 目前可以这么做:; P. |( ~% z& e2 y8 f
    1. 把 mdict 导出成文本
    ! ?# v+ O$ a$ w3 L, T& `2. 使用工具转成一定格式 (参见 https://fastwiki.me/index.php/Fastwiki_text/zh )
    ! @) ?4 p# y/ T, J, ]3. 使用 fastwiki-text 转成 fastwiki 格式
      ^# [! g7 O9 U% o+ S; ~
    6 J1 W, g6 F5 Z9 S& \9 c3 b9 j) o这样就可以使用 fastwiki 的很多功能了. 9 U- x8 ^  \+ r9 x+ n% \
    - W( R# T; K5 Q4 E$ [" n$ D+ K
    虽然 mdict 的资料很多, 但就词典而言, 有时只需要那么一两部好的词典就足够了.

    该用户从未签到

    发表于 2014-10-7 16:25:13 | 显示全部楼层
    fastwiki 发表于 2014-10-7 15:56$ k* ]1 T) M8 @) j/ i
    仅仅读取  mdict 实现不了很多功能的, 例如全文检索.
    2 P8 F% w2 q- \! s. G6 o1 _如果用户希望在 fastwiki 上使用 mdict 词典, 目前 ...
    6 k5 r$ m. w6 ^; w
    好东东。惊喜中。。。不过下的工具怎么用呢?如windows下的转换工具,Pc上的检索软件没界面?android下的软件在那下?

    该用户从未签到

    发表于 2014-10-7 18:16:57 | 显示全部楼层
    zhu1234 发表于 2014-10-7 16:251 y1 Y; M0 C; `; C8 r: r- c% {
    好东东。惊喜中。。。不过下的工具怎么用呢?如windows下的转换工具,Pc上的检索软件没界面?android下的 ...
    2 z7 U4 v2 F' X; M& o6 A: \- i) [& ~
    fastwiki 的转换工具需要在命令行下使用, 如用 windows 就点 "开始" -> "运行" -> cmd 即可.( \" o4 B2 I0 W: d: k; ], V
    fastwiki 提供很多转换工具:
    " O. m1 U+ _- W1. 用来转换维基百科原始文件文件的, 见 https://fastwiki.me/index.php/Fastwiki/zh1 |, y% m. ^3 l) F6 e3 C
    2. 可以从 zim 转成 fastwiki 格式的: https://fastwiki.me/index.php/Fastwiki_zim/zh$ R. b# ?% }. J# K$ y6 l8 {
       zim 文件是 kiwix.org 发布的完整版离线维基百科数据包.$ o6 `8 i, V8 x: Y" G* e5 j  _
    3. 可以把 stardict 转成 fastwiki 格式的, 见: https://fastwiki.me/index.php/Fastwiki_stardict/zh2 c; z$ O1 p4 e" s; K8 }( p
    4. PC 上使用请看 1. 和 https://fastwiki.me/index.php/Fastwiki_httpd/zh
    , }. n) A5 q0 r- q等等...( M+ v5 \, h+ A1 L' W9 a, K3 S9 s

    9 e) m. H, \5 Z7 y7 m4 n* z1 vAPK 可以在这里下载:4 q% W$ _$ [. \( y3 a3 f$ ^
    https://fastwiki.me/index.php/Download0/zh
    7 T1 f' D9 J. o1 Z! Q7 r
    " ^  r" |. x$ x$ `% bfastwiki 支持直接制作离线英文维基百科, 转换效率非常高~~$ a; i5 Y+ F. j# |! e: C

    0 z& k/ T" r/ z/ @, U) M. wPC 功能预览: (201402 英文维基百科数据)
    3 }' \; z) Y, g& K$ S9 m$ s; Uhttp://fastwiki.me:8218/

    该用户从未签到

    发表于 2014-10-7 18:24:21 | 显示全部楼层
    zhu1234 发表于 2014-10-7 16:25
    0 f  f2 U2 ]7 _  [" P5 w7 D. k好东东。惊喜中。。。不过下的工具怎么用呢?如windows下的转换工具,Pc上的检索软件没界面?android下的 ...
    8 ?% t* T0 P& p. F
    可以先下载 apk 和 百度网盘的 21世纪英汉 来测试:
    2 M: o: r  @& p7 shttp://pan.baidu.com/s/1hqophVA  密码 dvn1. M+ k+ a4 R4 |, Z6 U; u
    支持全文检索.

    该用户从未签到

    发表于 2014-10-7 18:48:07 | 显示全部楼层
    fastwiki 发表于 2014-10-7 15:56
    8 ]; D: j! y0 A7 S仅仅读取  mdict 实现不了很多功能的, 例如全文检索.
    ! i% ?: p5 t: r. V% B' M如果用户希望在 fastwiki 上使用 mdict 词典, 目前 ...

    6 G) x3 ~8 J) O& x
    : d" I& x8 K) K$ e1 m6 b4 k3 \带语音(发音按钮)、图文混排的mdict词典能成功转换(正常显示、发音)不?

    该用户从未签到

    发表于 2014-10-7 18:55:33 | 显示全部楼层
    ok927 发表于 2014-10-7 18:48
    ! l8 L8 g" O0 D3 }7 t. L9 U带语音(发音按钮)、图文混排的mdict词典能成功转换(正常显示、发音)不?
    6 z0 \9 o* S7 A% V. V/ t: U5 N( }
    目前不支持发音. 不过这个功能是简单的.% y6 F$ y2 v- p1 [
    据我了解, mdict 有发布转成 html 格式的工具, 所以转成 fastwiki 是没问题的, 只不过不是直接转而已.1 H8 `5 e1 D: e5 f' }4 ~% n
    1 S( n4 R8 C$ E3 t  G, X0 t
    因为 fastwiki 以前一直以快速自制 离线英文维基百科 为目标.  e0 x- v! [. {2 o2 f+ ]
    (由于英文维基百科数据最大, 这样一样, 自制其它的维基百科或词典自然也是很快的了)1 G4 l( ^* w" i9 p) b* m/ Z  [
    所以没有太关注词典的功能, 以后会重点关注词典功能, 欢迎大家提建议:( C& a# a9 q0 |6 t- h. [5 z) \
    https://www.pdawiki.com/forum/thread-13110-1-1.html* |! V6 j: y5 ~# x* K

    该用户从未签到

    发表于 2014-10-7 19:01:40 | 显示全部楼层
    发音的功能,真的是很重要、实用的!
    + ~* o* O( w' r1 [查词典的目的,其实就是发音和释义。因此,建议:在转换mdict词典时,保留发音、图文混排的功能。

    该用户从未签到

    发表于 2014-10-7 19:13:28 | 显示全部楼层
    ok927 发表于 2014-10-7 19:01
    5 O+ I( K. ~5 `. x7 T7 |发音的功能,真的是很重要、实用的!2 y1 {3 j2 B& B7 e6 D/ n/ }: O: R
    查词典的目的,其实就是发音和释义。因此,建议:在转换mdict词典时 ...

    " b' Z, R/ q: |/ Q+ p0 T以后版本会考虑支持发音,
    $ e  l) |: S! \4 r目前 fastwiki 已经是支持显示 图片的了, 也支持 html 的.

    该用户从未签到

    发表于 2014-10-7 19:51:57 | 显示全部楼层
    fastwiki 发表于 2014-10-7 15:56
    . j& p/ ]; C& j4 \仅仅读取  mdict 实现不了很多功能的, 例如全文检索.- b; w5 G4 ~. C7 K
    如果用户希望在 fastwiki 上使用 mdict 词典, 目前 ...

    # M% }- G4 Y# Q# G; r8 Z1 q最好能实现即时编辑或编辑阅读二合一,现在MDICT编辑和阅读使用功能分离不方便。

    该用户从未签到

    发表于 2014-10-7 20:02:01 | 显示全部楼层
    lwangls 发表于 2014-10-7 19:51
    7 {+ A# o0 L9 y5 m最好能实现即时编辑或编辑阅读二合一,现在MDICT编辑和阅读使用功能分离不方便。
    9 h4 E0 q6 L" e  u
    实现编辑功能是较简单的, 直接增加即可." ]' X) c5 y6 \' M( P
    有一个问题: 就是编辑后的内容部分无法进行全文检索.
    . o! u- r% x1 {! I4 I/ I还有就是, 手机上编辑会不会操作太麻烦了? 那可是直接对 html 进行修改的.
    5 x% g( T  ~0 h* S0 z+ Y3 M
    2 \/ x5 A" v5 Q3 m4 K$ }不过, fastwiki 后续版本将考虑 android 版本的编辑功能.

    该用户从未签到

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

    该用户从未签到

    发表于 2014-10-7 23:04:37 | 显示全部楼层
    本帖最后由 zhu1234 于 2014-10-7 23:39 编辑
    ; i$ }7 o- D' P( a3 A
    , d0 c7 A* ~1 x/ Z( Y8 B5 Qfastwiki   android版,词库只能放在存储卡上?
    4 Q4 o  l; \* T, f9 B+ d  A
    ) D; t: k  K6 \8 i. v与Hdict 对比了一下。fastwiki   android版 还有不少差距,不论是词典界面还是易用性,还有词库制作,在fastwiki改进方面,建议参考Hdcit。 至于说支持图片,还是很期待的。不知道什么时候能实现了?
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2025-5-3 17:48 , Processed in 0.024137 second(s), 22 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表