掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

楼主: spoiltbrat

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

    [复制链接]
  • TA的每日心情
    开心
    2018-5-15 08:32
  • 签到天数: 35 天

    [LV.5]常住居民I

    发表于 2017-3-14 09:04:44 | 显示全部楼层
    python打包的?我这里一开始跟我的py冲突。

    该用户从未签到

    发表于 2017-3-14 16:10:50 | 显示全部楼层
    有需求才会有动力不断更新软件!谢谢!
  • TA的每日心情
    开心
    2020-4-22 11:12
  • 签到天数: 88 天

    [LV.6]常住居民II

    发表于 2017-3-15 08:31:46 | 显示全部楼层
    感谢分享,软件很强大。试试看
  • TA的每日心情
    开心
    2020-4-12 13:04
  • 签到天数: 453 天

    [LV.9]以坛为家II

    发表于 2017-3-18 07:56:10 | 显示全部楼层
    可惜我是计算机语言白痴。感谢大侠的分享。
  • TA的每日心情
    开心
    2018-2-9 09:10
  • 签到天数: 23 天

    [LV.4]偶尔看看III

    发表于 2017-3-23 15:58:33 | 显示全部楼层
    用了楼主大神的工具 但是测试用示例生成个mdx,然后也不能实现跳转,词典不能切换

    本帖子中包含更多资源

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

    x
  • TA的每日心情
    开心
    2020-4-3 07:40
  • 签到天数: 491 天

    [LV.9]以坛为家II

    发表于 2017-3-30 09:13:29 | 显示全部楼层
    PC MDICT上JS报错是经常遇到的,手机EBDic上邻近的单词点击没反应。找原因却没发现词典格式有错。
    - _' y) ?* _  V# h5 J6 A: Q其他词典中用不同的JS却没此问题。
    ' H- G6 X, O' l, @6 f经比较后,发现是其他的JS用了自检查的方法(IF THEN 等)等嵌套。& v# n3 R$ l' e7 {, L8 K. W
    ' n  }7 n6 G* B' I: ^1 l
    若是能在JS上找到好的办法,就不用对词典源折腾了。
    , ]- O: n3 M" t, d+ [# b4 d# b  T0 S/ B% }& w2 ~* W: S
    供参考:
    ' }5 T! f$ ]8 w' V" ]
    * J) s: c! {0 F0 L  M
    1. var vrh = (function() {: c, h/ G: h; k7 A! K  S* ~
    2.         return {$ k2 l$ b& q- J% z
    3.                 c: function(c) {! c" Y8 k" H/ F- n# C) W4 ~
    4.                         var p = c.parentNode.parentNode;. V5 D8 P; k( I+ }
    5.                         var d = p.getElementsByTagName("div");
      * d! _- p  [8 u5 T) }, d. ?: x
    6.                         var r = /\w+(?=\.png$)/;0 |. h% U) i5 x, W
    7.                         for (var i = 0; i < d.length; i++)) i. S* X& J% F6 p4 B
    8.                                 if (d[i].style.display == "block") {
      % T0 T: f$ R5 N
    9.                                         c.src = c.src.replace(r, "x");1 p4 l, D7 w0 |5 C  ?4 U
    10.                                         d[i].style.display = "none";5 |3 u3 I; ?. ?% ^1 O3 Q
    11.                                 } else {
      " U( _2 p7 K6 @; x# Q% P+ ^6 b
    12.                                         c.src = c.src.replace(r, "c");1 z$ a& z; ], k0 w6 Q
    13.                                         d[i].style.display = "block";
        Y3 U3 J+ @4 H1 [  l
    14.                                 }
      # r( }2 A) [9 L; b! j
    15.                 }% z! o6 `% g/ S3 |, h9 l; w* {
    16.         }
      6 s. f' G9 X2 N; V8 n
    17. }());
      - g* I4 X" n3 `* x: w
    18. var dzp = (function() {
      " Q2 V: O  T1 ?: r' g: I/ ^
    19.         function e(t, c) {2 {7 K# G/ I$ v& o, k5 o- b
    20.                 var d = document.getElementsByTagName("div");
      ) o) C, [3 w% P. W: y: @, M
    21.                 for (var i = 0; i < d.length; i++) {
      4 M0 y- f7 z; D# }
    22.                         var p = d[i].previousSibling;
      + i1 x; q" C1 ?3 L+ j' Q3 E; |
    23.                         if (p && (d[i].className == "cdw" || d[i].className == "oje")) {
      4 o  k# v& ]- w6 S
    24.                                 var h = p.offsetHeight;
      5 m* `' {3 ~/ o- Q0 M
    25.                                 if (p.childNodes[1].className == "izv" && d[i].offsetHeight > h * 12) {
      , x2 I% g3 L' X4 d4 ]
    26.                                         p.childNodes[1].style.backgroundPosition = "0 0";
      : b0 u. J! w$ a* R# U: F5 R9 p" o
    27.                                         d[i].style.display = "none";5 l8 {' w( \' U/ r4 p  S
    28.                                 }
      3 H2 z( E/ ~6 z! u/ d( d4 r
    29.                         }7 u" y! ^+ y) j( c8 i; `" p3 ?, \
    30.                 }
      ' M$ q& p1 d3 Z- Y' ]! t/ f
    31.         }% e# l$ y# }& v# {! W

    32. 3 _9 }8 n8 H7 \/ O' T0 e) ?& l1 ~. T
    33.         function g(a, b, c, d) {- s# C" m  E: f
    34.                 var s = a.style;
      * w! t9 a, h( v; Z8 t- }; R
    35.                 s.backgroundColor = d;
      ; }8 s) Z( E3 ?6 p9 x! F
    36.                 s.color = c;
      9 `3 Z2 ^" ^& ]3 A6 A0 a
    37.                 s.borderColor = c;
        J, Z9 }. N1 h, u, v% R( i" n  s
    38.                 s = b.style;
      * |& i* Q$ B7 B
    39.                 s.backgroundColor = c;
      + }% k3 W9 i. D: p5 C
    40.                 s.color = "#FFF";6 ?% e/ s: n8 k) H) Y
    41.                 s.borderColor = c;' A/ w0 r: K7 ^& s: V
    42.         }
      4 T! y6 q  R$ H6 {6 j
    43.         if (typeof(dzp) == "undefined") {' j# _: H0 F3 T
    44.                 if (window.addEventListener)! s0 x! A! }# K
    45.                         window.addEventListener("load", e, false);9 \4 q. h, u* |% P& B2 m7 w
    46.                 else window.attachEvent("onload", e);
      " b! g: T, r6 v  b' L
    47.         }
      6 U% H0 `* j5 n% @1 a
    48.         return {
      / w$ d- v+ W' D
    49.                 v: function(c, f) {
      - |. I+ @2 M. v5 J6 C
    50.                         c.removeAttribute("onclick");
      , n# S- o1 \- K+ `7 |: G) {0 c
    51.                         with(c.style) {: r% R3 X9 |3 h3 Q. t8 Z; G
    52.                                 cursor = "default";
      ' _' n+ v2 g: ?1 k+ u8 {
    53.                                 outline = "1px dotted gray";: q; `2 r- c' r, ]8 I" M
    54.                         }
      . p, S; y2 ]6 u2 s4 @/ N
    55.                         var p = "soundc11/";
      ; t5 l+ P1 F- v/ I) G) r
    56.                         if (/^span:/.test(f)) {5 @5 _7 _6 r2 [+ ^, x
    57.                                 var l = f.replace(/^span:/, "");
      - H6 @) r& Q+ V' b# q- s- n% e
    58.                                 p = "audio/prons/" + l[0] + "/" + l + ".mp3";
      ' l5 q6 n8 i9 c  n, a
    59.                         } else {
      . k0 {1 i" W& B
    60.                                 if (/^gg/.test(f)) p += "gg";3 L) [. `- \/ M7 x! l
    61.                                 else if (/^bix/.test(f)) p += "bix";
      1 m  d, l+ K* Y
    62.                                 else if (/^[0-9]/.test(f)) p += "number";1 `; F( R, {- U" Z% I  C
    63.                                 else p += f[0];+ u, `7 N" l2 p
    64.                                 p += '/' + f + ".wav";9 S" G* F) J% E  m* z7 [% C
    65.                         }
      ! \( p1 a, _# |8 v/ N6 `
    66.                         var u = "http://media.merriam-webster.com/" + p;: w( J+ @8 h4 t
    67.                         var b = function() {: }  G  a5 \5 X. l
    68.                                 with(c.style) {6 f6 s; x% W% o; g0 |7 e6 h9 J
    69.                                         outline = "";, x* T5 d& `, g$ H' }
    70.                                         cursor = "pointer";
      % n; t  A/ ^6 L2 L$ Q
    71.                                 }
      " s$ }0 X5 ]8 G0 E& \
    72.                                 c.setAttribute("onclick", "dzp.v(this,'" + f + "')");
      $ ~" ^5 k) M) I) F9 n
    73.                         };2 }7 [' i3 }: x1 L6 D
    74.                         var t = setTimeout(b, 2000);
      $ V7 S- r( y$ o% R: h
    75.                         try {
      + `- U* o) n9 l) c- ?
    76.                                 with(document.createElement("audio")) {
      & @  s( g9 m- [5 a9 ~1 P. l# L
    77.                                         setAttribute("src", u);
      " ^$ l6 t+ u  {4 ~# g( V) O* ~- N
    78.                                         onloadstart = function() {: I1 g; J  n, h9 I
    79.                                                 clearTimeout(t);, J& `8 b' H7 S6 O% a
    80.                                         };
      7 a2 |/ t. u1 M& e# P6 C
    81.                                         onended = b;! G( _1 c# g8 V4 x) k
    82.                                         play();/ V$ w& ~/ n; f! d# D1 ^4 ]" @
    83.                                 }1 k9 \+ p9 Q$ t& t' G& F- V
    84.                         } catch (e) {0 J3 k' g+ B( [! i2 X) a# a/ L" c. U
    85.                                 c.style.outline = "";
      % E# s& X2 z8 ^7 q
    86.                         }7 R6 D1 u1 H: |  {9 K
    87.                 },2 N! I! [. ~) r& ^' J
    88.                 x: function(c) {. a/ \; u* [- e* \3 ?
    89.                         var n = c.parentNode.nextSibling;
      1 S1 e  d' [8 k0 r, r
    90.                         if (n.style.display != "none") {
      , `: O( S" m: ?+ R6 ?
    91.                                 n.style.display = "none";/ d- O" S+ V; K: _. t0 V5 t( L
    92.                                 c.style.backgroundPosition = "0 0";5 w% q, w1 h/ i- E5 `
    93.                         } else {
        l, `9 _0 l2 o. c
    94.                                 n.style.display = "block";/ l' q" d+ n: f3 G/ P5 G
    95.                                 c.style.backgroundPosition = "-16px 0";" U& x: x6 d  A4 o$ N3 Q6 A8 Q. @* v  b! g
    96.                         }
      * i# I) r3 _' \5 N
    97.                 },& [' {, C% {; X9 ^
    98.                 h: function(c) {: G& c$ R" d8 T, K  Y
    99.                         var p = c.parentNode;
      1 I/ S" D& D% O) v, N1 A
    100.                         var d = p.nextSibling;
      * ^1 d/ b' W1 [6 A. {! D. {
    101.                         var t = d.nextSibling;
      ; O. `4 U8 p: }  h- m+ m+ _) A3 ^& d
    102.                         c.className = "kfh";
      ! k0 \5 D7 P* [6 Z& N* j6 C
    103.                         c.setAttribute("onclick", "javascript:void(0);");
      ; J2 W8 v1 f  T2 ?1 P2 L+ ^
    104.                         var b = c.nextSibling ? c.nextSibling : c.previousSibling;! w! Z0 w; {+ k0 u* c
    105.                         var j = c.nextSibling ? 1 : 0;
      5 \1 P/ J7 ]% o5 I
    106.                         b.className = "dt7";
      , E' E( Q& {- {
    107.                         b.setAttribute("onclick", "dzp.h(this)");: ^1 n* k/ E% c' Q8 i) ^
    108.                         if (j) g(b, c, "#4AB0EF", "#F5F7FB");
      $ F: m. Z, {, y5 ^: c8 p" v/ U( o
    109.                         else g(b, c, "#F48040", "#FDF9F7");
        _' ?" \! B) T5 g& E& L
    110.                         if (t.style.display != "block") {( O2 T7 D7 c+ m' e/ h! t
    111.                                 t.style.display = "block";
      7 [# n1 ~. n9 A
    112.                                 d.style.display = "none";
      : q0 @" X" p7 |1 t$ a8 Q
    113.                         } else {
      % b: N& P9 e9 x. t+ t: d$ W
    114.                                 t.style.display = "none";( v. p* P. A/ _8 a- a5 B; v* U
    115.                                 d.style.display = "block";9 k* y4 ~0 |3 H" J2 l. U' a& u  c
    116.                         }
      : T; c! l/ u$ X4 w
    117.                 }
      ; A% }1 a. g* P" t2 O+ }
    118.         }! n& M6 z1 S; z8 c; @9 a2 W
    119. }());
    复制代码

    该用户从未签到

    发表于 2017-4-5 09:49:26 | 显示全部楼层
    感谢S大的更新。
  • TA的每日心情
    开心
    2023-12-20 19:51
  • 签到天数: 248 天

    [LV.8]以坛为家I

    发表于 2017-6-7 06:03:17 | 显示全部楼层
    Hi, 贴主,感谢您的工具,但我用的时候出现了几个问题,希望贴主可以帮忙。3 t* C2 U; w9 K# D4 @% L
      ^2 Z+ ~; F# {6 P/ u4 u, l
    就是在合并了几本字典后,在合并词典内,词典的发音图标,和词典内的图都是打××的,请问可以怎么解决呢?
    5 T. Z4 J) d2 ]: y8 A3 L, G: c* w* T# A. y
    我是先从原本各字典的MDX 用软件 转成 mdx源文件格式,然后再用贴主的软件合并。可是转变为 合并的mdx格式后,就出现以上情况。$ U: |; |) K9 M# @% A9 p- `
    原来 各词典 的 MDD 是否也要转换呢?) S5 _% D) D. K. B. f" m% ~2 \# ?! n

    : l6 s0 b# L& M
  • TA的每日心情

    2020-10-22 07:38
  • 签到天数: 78 天

    [LV.6]常住居民II

    发表于 2017-7-6 11:55:52 | 显示全部楼层
    楼主真棒!太感谢了!
  • TA的每日心情
    郁闷
    2021-11-23 09:55
  • 签到天数: 77 天

    [LV.6]常住居民II

    发表于 2017-7-19 14:13:30 | 显示全部楼层
    我没有win7的64位啊。能出win7 32位的版本吗?或者顺手帮忙做做美国传统4的双向词典?
  • TA的每日心情
    开心
    2019-11-29 11:52
  • 签到天数: 327 天

    [LV.8]以坛为家I

    发表于 2017-10-6 21:12:01 | 显示全部楼层
      大神,我用你的合并词典工具合并了两部词典,可是在安卓欧路下,只能读取其中一本。似乎只要是用这个工具合并的词典都会相互干扰,请问要怎样才能让这些合并的词典独立不受干扰全部显示出来?
  • TA的每日心情
    开心
    2020-2-20 08:39
  • 签到天数: 117 天

    [LV.6]常住居民II

    发表于 2017-10-7 21:23:55 | 显示全部楼层
    玩转得很棒,
  • TA的每日心情
    开心
    2025-6-18 20:22
  • 签到天数: 981 天

    [LV.10]以坛为家III

    发表于 2017-11-5 15:02:36 | 显示全部楼层
    好好学**技术
  • TA的每日心情
    擦汗
    2018-3-24 09:35
  • 签到天数: 159 天

    [LV.7]常住居民III

    发表于 2018-1-22 00:01:37 | 显示全部楼层
    大神你好,我用您的合并多个词典,为啥出来的是html格式,不应该是txt的格式么,这样怎么转换成mdx呢?
  • TA的每日心情
    慵懒
    2023-4-7 01:55
  • 签到天数: 990 天

    [LV.10]以坛为家III

    发表于 2018-1-26 14:19:46 | 显示全部楼层
    谢谢分享,下来看看
  • TA的每日心情
    开心
    2018-8-8 03:13
  • 签到天数: 1 天

    [LV.1]初来乍到

    发表于 2018-2-6 08:22:09 | 显示全部楼层
    本帖最后由 喬治兄 于 2018-2-6 09:09 编辑 7 }+ p$ w( F8 \9 ?" H7 r4 f

    2 g# M7 o* t) F# S6 z1 dspoiltbrat 兄:
    3 b* j6 {7 i. b: E9 G# i: y# F3 r  h. d" L3 B3 o+ Q! n. V
    軟件很強大,但不太會用, js 會報錯
    5 Z5 L$ Z$ \! \) ?& k搞了一夜真不知錯在哪  N, q" n) I7 f8 v
    用IE打開經過你的程序結合成的out.htm切換都正常
    " g1 F* b1 v# O& `/ ]# T' w怎麼經過Mdxbuilder Compiler 後就, js 會報錯
    4 |4 |! p1 i+ \( x能否解決
    5 v, G5 L. b" o7 h或有同好若知如何解決請指點迷津. V7 R* z' O% [0 ]# ~) ~

    - ]9 ?6 {2 a. s! r" K已附上 css & js
    % o% \5 n, D" j3 J0 J6 q: n6 a& c( T( G4 v& V- J3 x
    因 mdx 和 out.htm 太大無法上傳
    $ ^" h* `; J$ U6 K) c; I) M* p! R5 _6 }& }3 T0 f
    感謝萬分

    本帖子中包含更多资源

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

    x
  • TA的每日心情
    开心
    2020-2-24 22:02
  • 签到天数: 3 天

    [LV.2]偶尔看看I

    发表于 2018-2-12 22:50:33 | 显示全部楼层
    这是做个性化词典的好东西
  • TA的每日心情
    开心
    2018-2-20 00:08
  • 签到天数: 11 天

    [LV.3]偶尔看看II

    发表于 2018-2-18 20:57:18 | 显示全部楼层
    非常好的软件,下载试试
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

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

    GMT+8, 2025-6-28 03:00 , Processed in 0.023208 second(s), 16 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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