|
本帖最后由 spoiltbrat 于 2017-3-27 23:00 编辑
b: G# V1 b) E. c7 I
, E. L8 r, W" K1 ?Mdict Editor Tool v2.0.35 -- 多功能个性化词典制作工具
+ J. G, S6 q8 [2 e( W; V6 B2 T% a$ t: S
$ B& r- ~7 y' ?6 E& @
" c3 s, Z& K8 m
2017.03.27:
9 J( ?/ H! P: N7 l4 J1 b6 c发现bug,修正更新。6 R& p8 T# f' e
- U1 `& m; E/ R
2017.03.15:1 r/ p- [6 S# g4 P8 L1 d& w
新增提取功能,按HTML标签提取,速度虽然比不上正则,但简单易用,适合没有编程基础的同学,提取更方便。4 {: S) @9 d. K0 e! G8 A
正则虽强大,速度快,但处理HTML多层嵌套标签就显得力不从心了。, E; [* i! {+ K1 d/ d* _( @- [
此功能依赖第三方库lxml,软件打包后体积也略大了一点。1 y% x* ~5 R( N5 Y
, x$ D& L" i; X5 R _
6 g3 ^# c7 z! I) A4 B4 G" O$ C1 M* Y7 y( b! _
- g# { x% L% s/ p( x6 Z( l# [( P; ^
关于多个词典CSS类名(class)重名问题,导致词典合并后样式混乱的解决方案:; }, t, `$ M! W' O
将词典源文本的所有类名批量改名,添一个前缀字符,再将该词典对应的.css文件里的类名批量替换,添加上该前缀字符。 L- {, e9 y6 j+ n9 D; D2 j1 r
以《21世纪大英汉词典》为例,把词典源文本中所有的类名 class="example" 添加上 【cent21_】前缀字符(即替换为 class="cent21_example";前缀字符由英文字母、数字及下划线组成,且以英文字母开头),与其它词典区分开来。
6 X: V q; g/ |8 |3 u) e4 K4 n5 _/ `1. 词典源文本正则替换:
2 X4 _! a3 X! l1 J- R C$ \% L替换为, g- ^9 e( Y& P+ Z( Z% a! E
2. 将样式表文件(.css)正则替换:
" s! Y! Z7 J9 C8 f替换为
/ S0 f. m4 N2 b3 Y" t! E6 y即可解决合集词典CSS重名问题。该方法仅对class有效。
9 H6 i2 g. L, f0 V8 M: A8 K7 G9 M- Z% F: n) T' z. |3 H
9 o/ ^5 q# p7 M# K, K3 f: `/ H/ R3 E z. t2 K2 v
& e7 K" G. {- Y/ S( D7 H
9 N, k5 ^ g3 c% n& H) h/ e, l
+ s. b* ]6 M: X" j1 L
1 Q! x4 i$ j) z- y1 m3 Q
% d! t0 v5 h, ^# g8 t/ ^使用过程中网友遇到的问题解答:7 Q9 @1 G( r' c6 l* U6 h
3 S9 |# f3 V1 r/ p3 n6 }
第一类问题:合并词典的词条大小写区分问题
5 \0 _, G' z4 \. x8 W9 V* X如网友VIPcoco所描述的问题: 36楼 place词条 language的内容跑道所有内容前面去了,mac下的欧路。
" D# n! Z) h. a及网友rit919所描述的问题: 32楼 wood的人名词条重复出现extras区的最底部,而不是顶部。查cook,bush等词也有同样情况。
: y0 k! @' f- a8 H& `, ~" B2 S( y- i8 J9 M/ e7 z# B; V
原因及解决办法: 见原帖39楼 https://www.pdawiki.com/forum/fo ... &fromuid=203976- H i3 x# k7 H+ \! h: f
8 o8 n) J; c8 B9 e5 Y! _" ?
+ R2 m0 s$ K0 L, k& c
第二类问题:词典合并后javascript脚本报错
- x3 t% P* }- L- p! q9 d5 b! X这种问题归结为两种情况:' S/ V9 Y; r% J" Y8 s/ p0 p( q3 L
第1种情况:MDcict PC打开合集词典进入某个词条(还未点击切换按钮)时就弹出javascript脚本错误。+ d" p" O4 m2 \3 {$ ]4 Y
这是由于个别词典个别词条内容下的源数据本身问题,也就是说原词典(合并前)在MDict PC中进入某些词条会报错,词典合并后错误仍然存在,导致合集词典(xin1)也报错。
4 ?$ V' B* g9 a 这种情况只能找词典原作者修复词典。
4 j" q0 }+ {( }5 D& Z第2种情况:MDcict PC打开合集词典进入某个词条之后点击切换按钮切换词典时弹出javascript脚本错误。5 I0 _) b8 i6 Z5 s; p
这种还是词典源数据问题,导致程序新生成的div标签无法闭合,javascript找不到对象,导致切换词典时抛出错误。9 M7 ~- r. u* c; y& t/ K, D
这种情况下导致合集词典(xin1)切换时抛出错误的原词典由于源数据差异,并不适合做该合并方式的合集词典。 6 F3 D4 x6 s0 {9 X$ V; M
出现第2种情况时错误排查:
1 X/ G& J% P; w2 D! N$ |* H 比如:A、B、C、D、E词典合并后"farther"词条出现此错误(即点击切换按钮则报错),那么应该就是这五个词典中的其中一个或多个词典源数据HTML标签无法闭合而导致的该问题。具体排查方法如下:& K- P3 k4 G/ J. ~
1.将合并词典源文件后缀改为.html(用于显示语法高亮),使用EmEditor打开,查找正则:【^farther\r\n】,勾选正则表达式,查找定位到所查找的行。
* r/ `& J. V% N; A 2.复制该项词条下的内容(HTML源码),创建新的HTML文档,粘贴到刚刚创建的HTML文档
( c1 {2 D' [0 u$ n0 z
4 ~9 ~4 s: I5 b* e 3.将显示切换为“wrap by page”
3 V, y, \' [+ V1 B- D L2 p/ u ; S8 y( q: `1 l& g- w
然后正则替换【<div class="dict_content_display】为【\r\n\r\n\r\n<div class="dict_content_display】,再将鼠标逐个点击到“<div class="dict_content_display”标签上,EmEditor自动着色显示该标签是否已完整闭合,若某个标签不能闭合,则就是该标签下的词典内容所导致的合集词典在切换某个词条时报错,这样就找到了源数据有问题的词典。1 ?/ ?4 @7 D$ e4 g& q
。; t) H7 N/ z( B8 u2 F( C
4.最后一步就是修正有问题的词典源数据了,具体操作就要看情况而言了。( p1 w0 [) x3 y5 Z) o) E" b
) A1 W2 S0 h$ I
4 Z' @7 R* H# D; q2 ]第三类问题:词典合并后的@@@LINK=
( w) j6 @+ k9 G' E0 i, P) z9 ?@@@LINK=这个用法我没有用过,不了解用法,不便谈论。: ^( U( D+ L1 C. Q/ C
程序更新已解决这个问题,只是简单粗暴地用正则把@@@LINK=替换成跳转链接,点击便跳转到主词条。: L3 z; j& d0 m& R2 K5 B5 F
- I% \ N8 I( W9 z3 h6 E! P# h
( g/ o& p% j- A$ |7 p* C' j
, x4 N V. F, f( l; m; F+ j# o# G4 M$ u7 U$ a& s
! z0 \/ u2 Q( H8 {# t- Z' v
& ^( y6 t) l* D- Q
: j2 J) l$ Q$ ? K! |
: B# s0 i8 x7 o; z: L! M; a7 K$ U% `- F/ u! F5 e) q* r
! N( J9 ?' I) C7 J+ q; y" h8 w! S( P5 u
, h1 y' l& [3 g9 z0 `) J% E. d; t, E# U
软件(win64 only):* K! K+ O* s4 }
7 T* ^4 C7 ]! z' [) p1 @, l
7 |! C( f, D, }7 }5 f% j7 B4 B+ `' r. N! a2 |& T; ?
" o; R2 N5 P9 e4 v4 j
' \. Q& e9 s$ l- O0 G5 N5 N2 i, s' _- [$ v* r; |8 h' R
/ `3 V5 d; [* C3 |5 D1 l* M
) o/ k) g: Y9 r3 W' C J( s
9 b8 P; w ?/ O4 v/ J. A9 c2 H3 Y& L* ~2 U
/ p! L, u$ F" p9 R" \
/ _3 K$ }! S' a* d1 y) t, q0 @: \0 d3 P/ B) a+ v
0 G7 a, a6 R f) x8 a; b1 w# Y; W------------ 请叫我华丽的分割线 ------------
- P! o% t! C) e1 _1 d4 t- c! H/ z6 `" d1 a4 P$ g5 n
( \$ o2 q4 p! L% V如果你喜欢此软件,可以点开赞助窗口给我赞助。
, M |4 y- g4 q9 g) v. R7 P0 l+ c2 s
3 \% Q0 Z P2 X6 Y: D6 C晕 →_→.... 竟然不能隐藏密码。。。
9 R' Y3 Y8 E. l7 [$ C
3 z& W! @4 \; ?* E7 Y- u i6 M0 L: m6 ?2 d+ \& r4 t
; T: [+ n- ?! U6 u% m( p) {
/ Q" R `2 _" i; q1 ?: N3 j ^
------------ 请叫我华丽的分割线 ------------" t& o; i2 M* t1 H- M. @
& y6 M$ g# [ m: r% ?4 d0 j1 g. [0 b7 f. {* o
% w8 e+ B- k& ]8 m' a- o
9 N1 |' W8 K; ?- v8 {Mdict Editor Tool v2.0.35" W/ Y: B" \- X3 N
/ j V: T! f2 r4 i2 R0 g) S软件功能简介:
2 U' M4 }% y, d8 a/ d- o# g8 a' H6 l0 X
◆1.词典内容提取:
( e5 a7 V i) X w" L/ |/ d ①按单词列表提取。
3 c; k# Q! s6 ^- ^/ R) M0 ~. J; J6 U ②按正则表达式提取。如提取例句、音标、释义等。* b9 A8 ]. \' c$ D& t
③提取词典中所有词条。
* q Q7 F# x0 c( y3 m" a+ A ④按HTML标签提取。& w7 ^; H9 M4 ^% i. E
* T" k1 z. Y' Q* R7 g◆ 2.多词典合并:
( u- V" Z' Z, T( A7 Q. F r可合并多部词典,合并样式丰富,可自由选择样式。' ?2 [3 S$ D- k/ e$ w: B
程序自动生成CSS、JavaScript文件。1 n) o8 L1 N: i- y" M
理论上可以合并任意无限多个词典,但合并词典数量取决于电脑本身配置。
* R# _1 w2 L4 x1 L4 E5 P
7 S# u6 a# u" M* R◆ 3.词典锚点与制作:, M- l8 ^* U: \) a6 ]
用于Mdict词典锚跳定位自动化制作,如词组短语、例句、释义、音标等多维查询词典制作。" m! p5 L7 r1 x K% R: i
6 ?8 H, i7 n8 ^. i2 x4 }
◆ 4.词条合并:' x0 `+ N( l+ Z" Z
只需确定词头的所在的标签,便可自动给词头的右上角加入序号。同时生成可定位查找的词头标题。! f1 E+ h$ M" g# E1 D* T& Z
7 _& o, k# b/ y; b' a◆ 5.词条去重
6 E# y' g; B6 Y% |( ?! F9 S6 M) y; i
3 [* [. b2 V% Z2 @5 Z◎ 启动软件时部分功能已经预设完毕,刚开始使用此软件的同学可直接点击右下方按钮尝试制作。 |
本帖子中包含更多资源
您需要 登录 才可以下载或查看,没有账号?免费注册
x
评分
-
6
查看全部评分
-
|