掌上百科 - 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, q' s& P$ b5 d# k3 Z5 H* v& H其他词典中用不同的JS却没此问题。+ G* I* ]+ H) x+ i, p4 N* F
    经比较后,发现是其他的JS用了自检查的方法(IF THEN 等)等嵌套。
    * ?& A1 x" `; o. G# ]% M8 J" T+ k0 e' R$ m2 B
    若是能在JS上找到好的办法,就不用对词典源折腾了。
    ! B# M8 b2 m7 T
    $ i9 n* ?$ s- T  i0 r! q/ B- P7 U: \2 b供参考:
    5 P& M: a( \. I! Q2 i! F" d5 J/ R
    1. var vrh = (function() {- a! s& r) R; o4 v
    2.         return {, \3 T: z/ B0 N
    3.                 c: function(c) {- Q) r/ m4 U4 i1 p
    4.                         var p = c.parentNode.parentNode;8 f- J8 ~+ `& c& P: x
    5.                         var d = p.getElementsByTagName("div");) t4 c! k, H3 u! j
    6.                         var r = /\w+(?=\.png$)/;2 A1 n% W6 [+ i4 }3 Z
    7.                         for (var i = 0; i < d.length; i++)
      1 T5 @2 i0 x: Q& U  W$ W
    8.                                 if (d[i].style.display == "block") {
      4 o+ A' `6 j- W( Y, {0 r  s3 i4 b6 y. Z
    9.                                         c.src = c.src.replace(r, "x");' C  l5 }+ G9 q2 q5 O; T1 c- p7 Z; P
    10.                                         d[i].style.display = "none";$ I) q+ L2 h7 H% |. E. O
    11.                                 } else {
      1 N3 y* ^/ n9 }- N# k: d+ \
    12.                                         c.src = c.src.replace(r, "c");
      / }6 ]; n+ |# A0 Y/ q
    13.                                         d[i].style.display = "block";8 e3 j  Q9 A$ O, _
    14.                                 }) w. e3 c  L  w
    15.                 }
      # U) @2 J- c' N- ^$ K
    16.         }
      % q# E9 d6 Q. |+ Q
    17. }());
      * V3 i- q0 k& B1 L8 S3 l' X' _
    18. var dzp = (function() {
      1 l' Y! A" X. L/ b
    19.         function e(t, c) {
      & p7 w2 P1 ?4 |
    20.                 var d = document.getElementsByTagName("div");
      & K: k6 k$ Q# a- Y
    21.                 for (var i = 0; i < d.length; i++) {
      & V$ E& O3 {& ]( N9 {; D# G
    22.                         var p = d[i].previousSibling;
      , c7 T# _9 c! z: d$ p
    23.                         if (p && (d[i].className == "cdw" || d[i].className == "oje")) {5 ~! k) L& w, Y; ~% l
    24.                                 var h = p.offsetHeight;
        R7 c, y' g' I& o- q% F" [) z; N
    25.                                 if (p.childNodes[1].className == "izv" && d[i].offsetHeight > h * 12) {5 r* J3 g2 {0 |7 D$ S) M! x
    26.                                         p.childNodes[1].style.backgroundPosition = "0 0";
      ) B0 g1 H5 W5 J
    27.                                         d[i].style.display = "none";. {3 a, ~+ o& N9 ]9 \0 G7 I2 J
    28.                                 }
      / C5 U$ i; r2 c6 _; @
    29.                         }
      $ a8 F. Z+ ]. b4 _
    30.                 }
      8 q6 Z& s1 Z8 w% _1 x) H
    31.         }% l. N+ }7 }% s8 L1 f
    32. # Z$ E3 U- T) j3 L
    33.         function g(a, b, c, d) {
      . C7 b+ x1 N5 L4 j" r
    34.                 var s = a.style;
      $ f1 o4 P( G  h7 [  n9 b/ P
    35.                 s.backgroundColor = d;/ i/ L* q/ @& Y; E  @) o4 a
    36.                 s.color = c;
      2 W) o4 {7 p/ j0 r% ^
    37.                 s.borderColor = c;! |% B/ I# N- \( y# u, `) z
    38.                 s = b.style;
      ) l8 z8 U2 }! E* p" X( K
    39.                 s.backgroundColor = c;
      + K- S( G0 j: t1 P3 S
    40.                 s.color = "#FFF";
      / N" W9 g$ }* D' b
    41.                 s.borderColor = c;8 h  E% h9 i6 C$ }- Z. `. J
    42.         }
      2 J& b  M# @" `* S
    43.         if (typeof(dzp) == "undefined") {
      ! z) P: z  L# [! Z
    44.                 if (window.addEventListener)
      . h' @; n% ~; {) O- g) P+ X9 o9 @  w3 g
    45.                         window.addEventListener("load", e, false);
      $ a' i/ v0 t+ y4 r
    46.                 else window.attachEvent("onload", e);3 Y6 R7 W; |& ]1 C3 r
    47.         }; c8 L- x' i7 |/ y
    48.         return {
      + {- g0 P8 k3 t' `" R( S( o
    49.                 v: function(c, f) {
      7 x$ q( F/ z. I1 ?3 ]2 a
    50.                         c.removeAttribute("onclick");; G% B3 L' G' ^! u4 Z1 d* \% N: x
    51.                         with(c.style) {) M$ r, d9 `0 Z( E3 ]0 [
    52.                                 cursor = "default";
      9 G8 y( ~1 \; n& ^# l% _* K' b5 {
    53.                                 outline = "1px dotted gray";
      ! t- T4 `# Z; p+ g& _. ?
    54.                         }  b. K1 @  o$ }7 G; K* H1 e" j
    55.                         var p = "soundc11/";  g( l/ l# X; F/ v/ k
    56.                         if (/^span:/.test(f)) {
        b$ ^5 y0 h5 m
    57.                                 var l = f.replace(/^span:/, "");" s6 B+ J! l  v7 i; ^+ D7 e
    58.                                 p = "audio/prons/" + l[0] + "/" + l + ".mp3";
      3 B- t. o0 Q7 A& i
    59.                         } else {
      ) l% C; ?; J, B
    60.                                 if (/^gg/.test(f)) p += "gg";
      0 {, ^& R( F/ B7 _
    61.                                 else if (/^bix/.test(f)) p += "bix";
      # c6 _/ ?" @" t2 n' f8 L
    62.                                 else if (/^[0-9]/.test(f)) p += "number";4 c( `' G& W( S9 H$ j2 |  _
    63.                                 else p += f[0];
      2 T; h; z# I7 z
    64.                                 p += '/' + f + ".wav";/ R; m9 y$ d. I0 Z7 Y) L
    65.                         }( a9 G/ n- u; T: D# N6 a
    66.                         var u = "http://media.merriam-webster.com/" + p;
      * p/ z$ H  u1 ]' K* m4 v6 O
    67.                         var b = function() {
      , y) S; G% X5 R, I3 V/ |
    68.                                 with(c.style) {
      % y% H1 z; y$ C8 i) @) E
    69.                                         outline = "";
      1 n. J8 R9 a1 c, J7 v  m: p
    70.                                         cursor = "pointer";
      6 y: l8 Y9 T8 ?; Y  M4 P* @
    71.                                 }2 `; E) A- A% ]9 V
    72.                                 c.setAttribute("onclick", "dzp.v(this,'" + f + "')");
      . v/ T2 V! u0 p  F4 r- Z; t& G
    73.                         };+ o1 j% Q' L  g! C% V) r4 k; ^
    74.                         var t = setTimeout(b, 2000);( |$ K- I$ A) p! j
    75.                         try {
      ' w! Q2 T- }. p7 @
    76.                                 with(document.createElement("audio")) {/ e; B. c# a9 X
    77.                                         setAttribute("src", u);; Z; f8 V( V, H  T$ W
    78.                                         onloadstart = function() {
      $ x0 c! a0 B% A6 @, Z% X& ^1 A+ l
    79.                                                 clearTimeout(t);
      + J. g; j0 J$ Q' K2 B! @. T% u! }
    80.                                         };
      * g1 C+ M* c& B  O5 T9 O
    81.                                         onended = b;
      ( x$ l, D7 H- c. L4 @" _* i
    82.                                         play();
      2 i, V( N* u! a( r3 P
    83.                                 }0 l# }7 z+ n# l! B1 v% a
    84.                         } catch (e) {
      0 J5 t+ j; ]9 z! x7 q& H1 s
    85.                                 c.style.outline = "";
      9 n$ l) O8 e. P- F0 W2 P
    86.                         }4 g5 Z2 J5 E  U9 V# X& k
    87.                 },
      0 Y  W: F$ I# B7 l2 G
    88.                 x: function(c) {
      4 l3 h3 u' |) z
    89.                         var n = c.parentNode.nextSibling;
      & g+ `0 V  C% u. S% k. f8 H
    90.                         if (n.style.display != "none") {
      + B" `* D9 M4 s
    91.                                 n.style.display = "none";
      * `* H% F, O2 I' }2 h% f3 m0 a- |
    92.                                 c.style.backgroundPosition = "0 0";
      - x2 ]2 w( S8 E2 U
    93.                         } else {
      / L) u. A# J: ?% |( Z4 Z' S+ B1 Z
    94.                                 n.style.display = "block";; f% k# d$ v, R5 ?
    95.                                 c.style.backgroundPosition = "-16px 0";: \  _# m# p+ U+ y) e- Q& t( n
    96.                         }! D/ B+ H5 d: }
    97.                 },
      ( ]) f- E% W; e- X+ F
    98.                 h: function(c) {1 u: @  j* _* ]7 E
    99.                         var p = c.parentNode;' I- N3 O/ @' s& e
    100.                         var d = p.nextSibling;
      - Q8 i9 n1 x- S( w9 Y* @  C& Y+ j
    101.                         var t = d.nextSibling;
        l  V- F2 N) _
    102.                         c.className = "kfh";1 p0 n3 k; x# s$ i* Y3 d
    103.                         c.setAttribute("onclick", "javascript:void(0);");
      - a& [0 ^9 I. U# b: U8 o" V3 h( Z% w7 ]
    104.                         var b = c.nextSibling ? c.nextSibling : c.previousSibling;
      . M2 {/ [$ F& J. a1 z
    105.                         var j = c.nextSibling ? 1 : 0;8 m. j4 @0 M* e/ E
    106.                         b.className = "dt7";; [! _/ k" J# x& V  m/ X0 \
    107.                         b.setAttribute("onclick", "dzp.h(this)");5 Y% l$ y! o8 P" q
    108.                         if (j) g(b, c, "#4AB0EF", "#F5F7FB");
      * Z2 }5 x) b3 n+ n! \; T
    109.                         else g(b, c, "#F48040", "#FDF9F7");
      5 I* d- [; {. B) ?1 J$ U8 j
    110.                         if (t.style.display != "block") {# g+ i* b; G( k3 s! \5 v
    111.                                 t.style.display = "block";
      2 j7 g9 A: ?. K$ E2 w! [& J
    112.                                 d.style.display = "none";
      9 S7 n) N9 Q  w$ c: H5 I
    113.                         } else {+ [; K" L3 O" H
    114.                                 t.style.display = "none";$ q( }4 g) h' a% {* \
    115.                                 d.style.display = "block";
      9 A; q- g7 O8 {: L( ^% g! w
    116.                         }
      + y9 v8 b3 K- |" c+ y+ r
    117.                 }
      , [( [) H$ I! A7 R: g8 _; x, p
    118.         }
      # y- Z% z) d7 ?% H
    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, 贴主,感谢您的工具,但我用的时候出现了几个问题,希望贴主可以帮忙。
    ; U9 O. [( i9 W
    / F( O6 I* i* T$ t5 a就是在合并了几本字典后,在合并词典内,词典的发音图标,和词典内的图都是打××的,请问可以怎么解决呢?
    . M5 Q/ z" q8 ?! r' l
    0 \* d$ i$ o  i8 A$ r# l, u我是先从原本各字典的MDX 用软件 转成 mdx源文件格式,然后再用贴主的软件合并。可是转变为 合并的mdx格式后,就出现以上情况。5 n3 J( w# [# {6 f4 s5 N
    原来 各词典 的 MDD 是否也要转换呢?
    . J, D# ?) A0 y' S9 G% s3 s7 p9 Z& l6 @4 W  ]" n2 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的每日心情
    开心
    前天 21:21
  • 签到天数: 967 天

    [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 a7 j' S+ @/ f$ ]+ M( z5 w

    : N& G, n: `8 E6 \1 i3 sspoiltbrat 兄:
    ) T8 B0 L/ ^- d. K" M
    ( k8 J+ w6 h5 c  r軟件很強大,但不太會用, js 會報錯* c' m$ E! G* C" C
    搞了一夜真不知錯在哪. Y# o  Y) G8 q8 ?" H" }
    用IE打開經過你的程序結合成的out.htm切換都正常# }3 P/ X6 I$ z6 ?
    怎麼經過Mdxbuilder Compiler 後就, js 會報錯! P3 P2 b( K4 L/ e; A
    能否解決
    + P$ G3 F, G3 v6 U( O- U/ `- r5 J或有同好若知如何解決請指點迷津
    , a6 R. \" P" Q9 }- a7 j
    / U5 u1 f, j9 Y: U# v已附上 css & js. j2 Q! o! j" N' b

    1 c& B& t  A6 i7 R5 g2 w3 [因 mdx 和 out.htm 太大無法上傳
    : z, k; }6 Z/ [! q
    2 u; ^6 h6 L' C2 F) V9 v4 k感謝萬分

    本帖子中包含更多资源

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

    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-4-24 06:28 , Processed in 0.021095 second(s), 16 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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