掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 46790|回复: 892

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

    [复制链接]

该用户从未签到

发表于 2016-11-9 19:41:30 | 显示全部楼层 |阅读模式
本帖最后由 spoiltbrat 于 2017-3-27 23:00 编辑 9 k# H" ], z4 H4 A% h

* M1 H! e5 }+ x# K0 q9 QMdict Editor Tool v2.0.35  -- 多功能个性化词典制作工具
( L  }- t9 ?, H" N: s: Q$ D5 ?4 \: x( C

+ q: u" ?7 p* m5 I5 a% e( D( T$ X3 i+ n4 e. N+ H8 F% Q3 G  E5 ^+ Y1 w
2017.03.27:" w. P. _, F# g5 L7 L! H, v
发现bug,修正更新。
+ C: _( `5 @' U1 r8 r. E3 G3 G% ^) {3 ^8 {7 m
2017.03.15:
* Q9 }* Z5 \9 R9 N/ }0 N新增提取功能,按HTML标签提取,速度虽然比不上正则,但简单易用,适合没有编程基础的同学,提取更方便。
- l1 c# g/ t2 H* t# D正则虽强大,速度快,但处理HTML多层嵌套标签就显得力不从心了。& M& D6 G: p& s0 `  I1 F, f' Q3 q
此功能依赖第三方库lxml,软件打包后体积也略大了一点。
: \, Z1 w# t" A0 B( ]8 v/ m& r3 r
9 U: K% M) D/ g5 ]0 R5 S+ W; P

$ b1 l$ d$ m5 D+ N3 {) J3 w) o8 R% ]4 N! |4 l3 a
关于多个词典CSS类名(class)重名问题,导致词典合并后样式混乱的解决方案
: t3 P$ b, J( J: _( m  }5 @5 V将词典源文本的所有类名批量改名,添一个前缀字符,再将该词典对应的.css文件里的类名批量替换,添加上该前缀字符。3 _* r$ e; f5 K) L  k; o2 r1 \
以《21世纪大英汉词典》为例,把词典源文本中所有的类名 class="example" 添加上 【cent21_】前缀字符(即替换为 class="cent21_example";前缀字符由英文字母、数字及下划线组成,且以英文字母开头),与其它词典区分开来。
* D& N" p$ g, s; A, X6 J8 t4 w1. 词典源文本正则替换:% H3 `+ {+ `' r: h/ y  m. h2 M
  1. class="(.+?)"
复制代码
替换为
  1. class="cent21_\1"
复制代码

; S  t& N4 X9 P+ C: s- {2 J2. 将样式表文件(.css)正则替换:3 ]7 x' v3 v0 t5 V: P, d) }3 p
  1. \.([a-Z])
复制代码
替换为
  1. .cent21_\1
复制代码
) Z' d0 T( j! [9 s, Y" ]
即可解决合集词典CSS重名问题。该方法仅对class有效。2 Q! p8 G* X/ F) ?
# q/ q; j7 n8 R( C8 Z: \

/ H2 w, @# l2 z  j* p% L+ H- C5 s, a" c" h: ?' f& H9 e8 G- ]

0 B5 t3 ~6 E5 ?  z* K  B  Q! D* B* }$ Q4 q

+ M# m8 M( U1 m: j! O) ~" M! @4 _. s7 J* K! R2 G/ E

8 v0 t$ A7 N% o: Q% L& q: L1 Z使用过程中网友遇到的问题解答:
( {% R2 d" G$ {7 f" Z- _7 G& V
+ m6 s% S: U) ?) Q2 i: p第一类问题:合并词典的词条大小写区分问题
2 \/ c; o: X$ O* S如网友VIPcoco所描述的问题: 36楼 place词条 language的内容跑道所有内容前面去了,mac下的欧路。" D4 E+ q3 V: d2 L
及网友rit919所描述的问题:  32楼  wood的人名词条重复出现extras区的最底部,而不是顶部。查cook,bush等词也有同样情况。
" G( l; S2 Y' m8 b. q/ I9 O1 @& M. m" p0 t5 D5 v
原因及解决办法:  见原帖39楼   https://www.pdawiki.com/forum/fo ... &fromuid=203976$ U; g# r( l& o/ W4 j1 v6 N; A

. @/ d& }, O7 e4 a' X8 i( u* ]- m9 b" j8 u
第二类问题:词典合并后javascript脚本报错
: V8 ~; s/ J- Y8 }# q2 B这种问题归结为两种情况
4 P% J1 h  h, L9 W* `2 b6 {. D) V! P1种情况:MDcict PC打开合集词典进入某个词条(还未点击切换按钮)时就弹出javascript脚本错误。
/ @9 \& F- k6 {( G! Q. d    这是由于个别词典个别词条内容下的源数据本身问题,也就是说原词典(合并前)在MDict PC中进入某些词条会报错,词典合并后错误仍然存在,导致合集词典(xin1)也报错。! q. r4 p2 |0 `0 X  s' {' f: ^( t
    这种情况只能找词典原作者修复词典。1 O! @8 b2 B7 Y$ L- g' v$ h
2种情况:MDcict PC打开合集词典进入某个词条之后点击切换按钮切换词典时弹出javascript脚本错误。
5 l8 e  f, k4 u6 f" [3 j7 J; u  U# A    这种还是词典源数据问题,导致程序新生成的div标签无法闭合,javascript找不到对象,导致切换词典时抛出错误。0 u/ F- N5 P6 Z/ u
    这种情况下导致合集词典(xin1)切换时抛出错误的原词典由于源数据差异,并不适合做该合并方式的合集词典。
  x7 y2 ^1 k7 B* q, H    出现第2种情况时错误排查:; j3 F$ ]6 a$ f( n. W  |  q% d( R
    比如:A、B、C、D、E词典合并后"farther"词条出现此错误(即点击切换按钮则报错),那么应该就是这五个词典中的其中一个或多个词典源数据HTML标签无法闭合而导致的该问题。具体排查方法如下:9 j1 j4 W% i( K- Z2 X
        1.将合并词典源文件后缀改为.html(用于显示语法高亮),使用EmEditor打开,查找正则:【^farther\r\n】,勾选正则表达式,查找定位到所查找的行。
2 n( x6 Y8 a% b        2.复制该项词条下的内容(HTML源码),创建新的HTML文档,粘贴到刚刚创建的HTML文档; u. U! e0 D. j5 s! M' i
          $ Q. Y  T% }$ [. k
        3.将显示切换为“wrap by page”3 @6 J: m0 a. I8 ^- K) A# n
          8 F0 ^" s9 x3 ?
          然后正则替换【<div class="dict_content_display】为【\r\n\r\n\r\n<div class="dict_content_display】,再将鼠标逐个点击到“<div class="dict_content_display”标签上,EmEditor自动着色显示该标签是否已完整闭合,若某个标签不能闭合,则就是该标签下的词典内容所导致的合集词典在切换某个词条时报错,这样就找到了源数据有问题的词典。- T+ u, \1 j- g( w8 I: q% H
          。
1 p" o* y0 b* R" b' o) _5 b7 D$ O  }        4.最后一步就是修正有问题的词典源数据了,具体操作就要看情况而言了。
/ I5 C6 A- l: ?" c* V
  y8 q1 o2 g$ R$ ~# c  D1 v% A4 w4 @" Q4 `# r2 _
第三类问题:词典合并后的@@@LINK=5 z- d: ]7 a0 W* R: @: m6 I# L" m9 ^
@@@LINK=这个用法我没有用过,不了解用法,不便谈论。
9 W# ~3 p0 d% w/ f程序更新已解决这个问题,只是简单粗暴地用正则把@@@LINK=替换成跳转链接,点击便跳转到主词条。- _* e; b! X8 _8 c' `7 b- {0 L
5 f, `6 h" `" r8 i4 J& T
. l+ f4 `4 `! n+ X" ]% n
- U" l* K( V/ l; \- b

6 g  k2 Y, }: A8 V$ S3 R$ \
9 o7 ?# v, f. D6 I3 v9 Y$ G: e* e2 O9 M7 L0 b/ E9 C; |

. i# u- x) T) R1 O! n
; v, I/ F1 F: K" n' l* R6 c4 d6 Y( m! x6 y3 N
- ]& b: M# c4 G. ]: @7 Q* f

4 P/ ]" D3 d! M4 g6 G7 O* o- Z" O
8 D3 F' J! f. \7 |0 u! c" C
软件(win64 only):
- s7 ]4 J" b/ g& b7 ~7 k0 S/ e- D, G2 w' @& |* B+ L
$ u0 `$ J6 T$ R' F5 c
& D5 F7 e: k' f" c$ J2 J0 k* `

$ \: _$ d6 t1 L1 R
& w$ w7 r4 d! W) @" y) v6 H  ~
* d! S$ c( |* M3 R
' s' n/ D. E  D1 y+ c3 \% B- \: v% p7 e. A/ w$ R7 Q  }9 m- s7 A+ C
; V5 M! C" l7 e3 B1 D. X4 @- i% D

% b3 L6 v! O: A, l  `+ B* \' p9 B' T1 s8 {8 r# y5 H% z2 H

, s6 z  w2 k$ L& `' B) r5 k- A  @: v. S% @6 r9 A9 o

) Y4 N4 f) A: n3 J6 T------------ 请叫我线 ------------2 @7 z: _+ m9 h+ ]4 R7 j% D* a

/ b7 E5 w0 m. U% T8 M1 T* H6 I3 x, B0 {# w% d% R7 Q' M+ c+ {' B
如果你喜欢此软件,可以点开赞助窗口给我赞助
1 F( V8 N; P7 F' A
' S% b( q* r  U' Z  M
" T6 f& W6 T) O0 q( [ →_→....    竟然不能隐藏密码。。。
4 e" v- ^; _6 X: h3 g0 h0 _+ g
7 C9 D# D* i8 j* b- {' E2 A  p
游客,如果您要查看本帖隐藏内容请回复
% F1 b% e6 u' W6 }. z9 z- {

- f: z3 I6 U3 X0 v
+ y0 J$ L' O2 V; T5 c1 n3 n$ I------------ 请叫我线 ------------
; r9 `5 B& z& x+ @# b; S
9 C( k8 q& g9 c- |- [1 \1 U4 q8 i6 O7 i( [& i0 y, v

& V8 x& i! W5 N8 D$ k0 \  b8 I! g
Mdict Editor Tool v2.0.35+ G- ?9 x- J& d) y; k5 [* @
" D4 b( D% `* b! \8 G
软件功能简介:
; U' f2 g# o# k2 r' G8 N
1 Z! n( c, A9 T5 \( U◆1.词典内容提取:
# Y# O) Q7 S9 S9 ^: j" R+ b( L      ①按单词列表提取。$ J5 [) W, k8 X9 K+ c
      ②按正则表达式提取。如提取例句、音标、释义等。
. `9 [3 J) Q8 f      ③提取词典中所有词条。% C4 [' t: Y0 |2 x4 c3 F# _
      ④按HTML标签提取。
. h; X% |. n- [* ]4 [/ X6 `% _. W# s5 o9 s& L
◆ 2.多词典合并:
; s4 V& |% R2 j- B; j, f3 K  ^可合并多部词典,合并样式丰富,可自由选择样式。
& X- x/ B) `* g6 v. H( Q4 f程序自动生成CSS、JavaScript文件。
$ ~( ^) Q+ `5 x) n理论上可以合并任意无限多个词典,但合并词典数量取决于电脑本身配置。
0 l/ [5 r: p: z* I
+ C) H" ^: R2 c5 r, u◆ 3.词典锚点与制作:
) J* R3 m, H' f6 J  s' R! Z用于Mdict词典锚跳定位自动化制作,如词组短语、例句、释义、音标等多维查询词典制作。0 R9 E. S$ f3 N0 g0 b5 _- k: ~
" d" B- f) I' R
◆ 4.词条合并:
- F8 k4 G3 h) D, J只需确定词头的所在的标签,便可自动给词头的右上角加入序号。同时生成可定位查找的词头标题。1 [5 d, J4 r5 N7 P- h3 A; s
, }- V5 G) s' L# \4 Y) Y
◆ 5.词条去重
+ w2 L4 y5 d* C! }# M- E1 D* o* B, a7 h& n' W# K
1 L% a% [; ~" Q! g3 l+ \
◎ 启动软件时部分功能已经预设完毕,刚开始使用此软件的同学可直接点击右下方按钮尝试制作。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?免费注册

x

评分

6

查看全部评分

本帖被以下淘专辑推荐:

该用户从未签到

 楼主| 发表于 2017-2-24 17:46:50 | 显示全部楼层
本帖最后由 spoiltbrat 于 2017-2-26 21:20 编辑
  \6 S3 N( R2 A3 ~' J5 |  U& U! \6 O& T+ g
现将程序上传至论坛:- _8 R' m' l' J$ K8 i3 T6 @
/ U! n3 w. h+ b+ v/ h- c
程序在后期使用过程中发现合并后词典内容版面调整不方便,于是补充了一点代码上去,便于词典内容版面调整。
0 {+ e% v6 D- G5 D) H

0 W& Y/ d' e# ?  D
& Y( A0 g2 `4 M
# f  m$ {6 ~: V! q" \

该用户从未签到

 楼主| 发表于 2017-2-21 17:48:55 来自手机 | 显示全部楼层
暗潮涌 发表于 2017-2-21 15:56
; }0 p8 e5 Q+ w, X# |0 v4 c* x谢谢分享,很喜欢这个软件,有一个小请求,就是目前只支持单行正则提取,能不能加入多行正则提取,notepad ...
, E0 I1 l0 u6 O: ]& Y9 V
软件不再更新了。

该用户从未签到

 楼主| 发表于 2016-11-22 13:02:52 | 显示全部楼层
netninja2000 发表于 2016-11-22 09:21
' C3 ^+ D' X# g( Q7 C$ e, GOxford Dictionary of English 3e mdx 转出的txt文件7 u0 g) B* |) x* f0 e  ?
正则表达式
# p4 S! o  t' t7 j( w[a-z0-9_]+_gb_[a-z0-9_]+
  U& @% I& O/ Q  E
不太明白你要干嘛,正则提取功能是用来提取词典里的特定资源并生成MDict词典格式的文本(用于打包成MDX)
7 q8 L) W3 F) _0 y/ h
& }4 R( D5 x3 k5 |你说提取不到内容可能是正则不对,建议先使用文本编辑软件(如EmEditor)检测正则是否正确。

该用户从未签到

发表于 2016-11-18 11:27:53 | 显示全部楼层
任意单词列表(txt),除了能从带语音的词典中提取释义外,能同时提取对应的语音文件不(以当前单词命名,若多个语音(英音/美音),能够自动标识)。
6 x7 Z; }4 v/ I( ]- }1 V
; a& x" J, W% g' b* t8 z谢谢您。
  • TA的每日心情
    开心
    2022-4-10 17:43
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2016-11-17 16:30:09 | 显示全部楼层
    非常感谢分享软件,/ p8 e9 @* e' f8 r: q  H2 s
    发现在win7 64bit下出现, }$ N. W8 ~1 d+ i: R
    "Mdict Editor Tool v1.2.exe 已停止工作"
    " f1 h# D; B# `" Q无法运行程序; o% N  ?: c( ?6 J
    " F1 ^* Q% }, q0 O+ s

    该用户从未签到

    发表于 2016-11-9 20:40:16 | 显示全部楼层
    感谢楼主制作工具,真心佩服!

    该用户从未签到

    发表于 2016-11-9 23:42:20 | 显示全部楼层
    謝謝 spoiltbrat,你的新工具很棒。

    该用户从未签到

    发表于 2016-11-12 15:33:41 | 显示全部楼层
    要是能直接根据单词表提取文本,图片,语音等内容制作小词典就好了

    该用户从未签到

    发表于 2016-11-12 17:16:42 | 显示全部楼层
    支持,虽然看不懂是什么东西
  • TA的每日心情
    开心
    2022-5-5 19:06
  • 签到天数: 161 天

    [LV.7]常住居民III

    发表于 2016-11-15 18:56:17 | 显示全部楼层
    这也是一个好工具,但还没来得及用,不敢妄言。8 ]5 T  E4 `+ p
  • TA的每日心情

    2021-3-6 14:47
  • 签到天数: 107 天

    [LV.6]常住居民II

    发表于 2016-11-17 10:38:26 | 显示全部楼层
    Win10下运行没反应......

    该用户从未签到

     楼主| 发表于 2016-11-17 10:45:58 来自手机 | 显示全部楼层
    怪物猎人哥 发表于 2016-11-17 10:38
    4 D. G' H, x- I( `0 [3 \6 `Win10下运行没反应......
    # w; K' ^# E9 j6 `7 ^
    我只在win7上测试过,win8、win10的还不知道情况,等会儿我弄一下,发布个兼容性版本
  • TA的每日心情
    难过
    9 小时前
  • 签到天数: 1316 天

    [LV.10]以坛为家III

    发表于 2016-11-17 10:58:13 | 显示全部楼层
    谢谢分享的好东西!!

    该用户从未签到

     楼主| 发表于 2016-11-17 12:12:46 | 显示全部楼层
    怪物猎人哥 发表于 2016-11-17 10:38
    , O, Q2 W2 F; j" d  fWin10下运行没反应......

    ! c: G# p1 x/ w2 O- |0 x- I刚才在win10下测试了一下,没问题的;只是程序界面有些变化。
  • TA的每日心情
    开心
    2018-12-9 08:17
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2016-11-20 05:44:24 | 显示全部楼层
    好工具,拿來学学,謝謝!

    该用户从未签到

    发表于 2016-11-20 08:03:06 来自手机 | 显示全部楼层
    本帖最后由 lzr80 于 2016-11-20 10:36 编辑 3 O7 j; X' v. G$ y
    + C1 f. h+ P3 V7 G2 V4 {) ~
    请问合并后各词典的css,mdd文件如何调用?

    该用户从未签到

     楼主| 发表于 2016-11-21 18:35:44 | 显示全部楼层
    lzr80 发表于 2016-11-20 08:03
    8 \" a% P+ N6 ~1 L& N) a请问合并后各词典的css,mdd文件如何调用?

    : g( r9 |8 i: R0 v% F6 x3 I7 ]把各词典的MDD资源(或CSS文件)与合并后的词典放在同一个文件夹即可

    该用户从未签到

     楼主| 发表于 2016-11-21 18:38:03 | 显示全部楼层
    dhs1001 发表于 2016-11-17 16:309 F" t; i' F6 y' X7 Z8 V( u9 O. N7 P0 e  G
    非常感谢分享软件,9 ]; I7 r  V$ P0 u/ C' H+ O
    发现在win7 64bit下出现
    / a. }4 A6 y8 c+ K"Mdict Editor Tool v1.2.exe 已停止工作"

    - h" T8 O- Y! N本次更新问题已解决了

    该用户从未签到

     楼主| 发表于 2016-11-21 18:41:07 | 显示全部楼层
    ok927 发表于 2016-11-18 11:27( \! a' t- x( X' X  H1 B
    任意单词列表(txt),除了能从带语音的词典中提取释义外,能同时提取对应的语音文件不(以当前单词命名,若 ...

    * ^; @" ^4 i, y4 `! I& B
    3 e& h" t: B6 r; ]: T8 d' h. n这个很简单啊,没必要把这个功能添加上去

    该用户从未签到

    发表于 2016-11-21 23:01:31 | 显示全部楼层
    不是的。
    . A" a5 G9 S3 J) f6 M+ v4 L如果我提的功能可以实现,就可以从词典中提按需提取语音文件了。

    该用户从未签到

    发表于 2016-11-21 23:24:59 | 显示全部楼层
    很想试试这个新式武器。

    该用户从未签到

    发表于 2016-11-21 23:37:10 | 显示全部楼层
    软件很强大,谢谢。在标题跳转模式下只能从上往下跳,好像不能跳回来,是吗?

    该用户从未签到

     楼主| 发表于 2016-11-21 23:37:36 来自手机 | 显示全部楼层
    eeshu 发表于 2016-11-21 23:24$ X- i  v6 r0 h. h" \
    很想试试这个新式武器。
    % {# Q" }; L; \/ |. Z
    除了UI代码部分,这个工具纯手写的有一千多行代码啊……(当然部分功能借用了之前写的代码)

    该用户从未签到

     楼主| 发表于 2016-11-21 23:38:45 来自手机 | 显示全部楼层
    eeshu 发表于 2016-11-21 23:37
    $ ?, g  n8 b$ F' I( I7 H* l- P软件很强大,谢谢。在标题跳转模式下只能从上往下跳,好像不能跳回来,是吗?

    6 ]* u  c' g7 b% j1 a! ~
    # D. v% i+ [0 d% ~1 k2 _* O为嘛还要跳回去呢,好像没必要吧。
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI ( 美ICP 0000000字 )|网站地图

    GMT+8, 2022-5-16 16:52 , Processed in 0.064932 second(s), 10 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2020, Tencent Cloud.

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