掌上百科 - 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上邻近的单词点击没反应。找原因却没发现词典格式有错。6 A# B3 z5 }1 V8 C0 h$ C8 d2 T
    其他词典中用不同的JS却没此问题。2 s5 f0 z2 c0 Q5 Z" w" Z% J
    经比较后,发现是其他的JS用了自检查的方法(IF THEN 等)等嵌套。
    3 v8 L9 ^2 w/ S0 \& M7 d
    1 {: P/ k! Q6 _5 A8 ]4 f若是能在JS上找到好的办法,就不用对词典源折腾了。
    ! `/ l) n: D: k% U2 a7 c, Q8 }/ I/ Y+ l# ~
    供参考:
    4 ?( {! \4 E1 r- ?3 D3 U# s6 E. ?0 ^. b% C2 `) c) l9 e; c) z
    1. var vrh = (function() {
      ' \9 c+ e1 H4 u* \, \  V
    2.         return {4 @& O& X$ g- w  |2 E% p' {- O" K
    3.                 c: function(c) {4 y* a+ x$ C% n& B+ n! d  a
    4.                         var p = c.parentNode.parentNode;+ @! |0 O" B  y. X$ }* b
    5.                         var d = p.getElementsByTagName("div");' ^3 o  ?7 [- O* X
    6.                         var r = /\w+(?=\.png$)/;2 ?6 W$ S1 m) }
    7.                         for (var i = 0; i < d.length; i++)
      4 d" a8 a9 Y( `* K' q& `2 @
    8.                                 if (d[i].style.display == "block") {" {. z; B: Z" i3 H6 H
    9.                                         c.src = c.src.replace(r, "x");; K; W% j0 e% L8 \5 U1 b
    10.                                         d[i].style.display = "none";( v9 W1 K# M, U1 _" |  Z8 O1 v
    11.                                 } else {6 A6 I5 W; t: H$ c* M- \
    12.                                         c.src = c.src.replace(r, "c");% Z& j. E, O2 O% q
    13.                                         d[i].style.display = "block";! [% e; W+ p4 i6 K, h8 Q$ ^# w
    14.                                 }
      8 K3 M/ V- ?9 I7 s1 q$ @0 s$ k
    15.                 }
      % t" Y3 Y$ b# N0 Z, j" C
    16.         }
      ' e+ l% Q7 }7 O( g) X8 h
    17. }());- S+ G$ y$ p0 V* r# m1 ~
    18. var dzp = (function() {
      9 T: l! n9 D% C) G; \/ o
    19.         function e(t, c) {7 q6 x! ^/ t' [& g3 L
    20.                 var d = document.getElementsByTagName("div");! B; ?: S6 h; m, O6 G' U5 t# V8 z6 ?
    21.                 for (var i = 0; i < d.length; i++) {; m7 C  W4 o4 b) k, S: |
    22.                         var p = d[i].previousSibling;
      3 L6 ]7 ?- E9 B* B* I: n
    23.                         if (p && (d[i].className == "cdw" || d[i].className == "oje")) {
      4 h- P$ G4 _+ P
    24.                                 var h = p.offsetHeight;0 p# \6 u8 C: _* O/ p- V/ D- j
    25.                                 if (p.childNodes[1].className == "izv" && d[i].offsetHeight > h * 12) {( d  T- w3 Y0 u4 U
    26.                                         p.childNodes[1].style.backgroundPosition = "0 0";* P* s" U; V- k0 T
    27.                                         d[i].style.display = "none";
      5 P) t& r& K; h' N' i" {
    28.                                 }; a7 N# ^8 v  g; x* G, B% B
    29.                         }
      & I. |/ |  N% {' Q
    30.                 }
      . Z' e0 Q/ b8 _% [
    31.         }* z3 H  }. G5 H! \5 o  r1 J
    32.   [$ R7 q! E# z% l# x/ v$ v6 s
    33.         function g(a, b, c, d) {) }: }8 O5 f/ W5 E" b
    34.                 var s = a.style;( m; v+ h' _1 G! T+ o
    35.                 s.backgroundColor = d;5 E& p! V4 W6 Y% x
    36.                 s.color = c;. m8 ?1 f- q+ R
    37.                 s.borderColor = c;* W' d! T+ r2 V' D4 l) e
    38.                 s = b.style;
      1 `! G" q  u9 C( X3 ?6 ^
    39.                 s.backgroundColor = c;
      + k7 X8 K  f- P: ~" ~) x
    40.                 s.color = "#FFF";5 M# U2 Q' G4 B. F, u! S: v
    41.                 s.borderColor = c;
      3 a! J4 B4 F& N% M- r3 R: W9 i
    42.         }/ k4 t+ Q) F$ M( T/ Q# n. w% _$ ~
    43.         if (typeof(dzp) == "undefined") {
      + f0 O6 U" }5 f/ O# \
    44.                 if (window.addEventListener)6 I% O4 J& R0 J" w& ]
    45.                         window.addEventListener("load", e, false);% V# e, y! s$ U. f$ ?
    46.                 else window.attachEvent("onload", e);
      0 F0 d3 O2 b* A2 ^) ]4 {, _
    47.         }
      3 s' j6 C6 }) \# K
    48.         return {
      8 Q, Y" d4 ~, @* s0 V* @
    49.                 v: function(c, f) {
      2 H. J8 o6 k1 s. K
    50.                         c.removeAttribute("onclick");1 ~9 o0 j( p! _; x( F3 d! I
    51.                         with(c.style) {+ S! B: m2 d  A7 B2 x5 p
    52.                                 cursor = "default";' s5 {! D! N: O# V. \3 O
    53.                                 outline = "1px dotted gray";/ ^& A" R+ M: P' `
    54.                         }8 Q# |+ r5 p$ J4 g0 F* l
    55.                         var p = "soundc11/";
      8 M! ?6 e1 ^- k9 J
    56.                         if (/^span:/.test(f)) {
      + p, D5 [- I6 ?2 |8 ?$ r+ b7 L
    57.                                 var l = f.replace(/^span:/, "");
      2 S1 b$ \. P+ X" x( @# `; J) e
    58.                                 p = "audio/prons/" + l[0] + "/" + l + ".mp3";; J: V' S' z7 c2 V1 |$ u; @
    59.                         } else {) |: `: N1 V8 {$ |4 R4 o
    60.                                 if (/^gg/.test(f)) p += "gg";  @+ `8 \9 |$ E7 q1 R
    61.                                 else if (/^bix/.test(f)) p += "bix";
      4 T# A' v% |& K; O- n$ `
    62.                                 else if (/^[0-9]/.test(f)) p += "number";
      . Q- m+ K& }. d5 a5 D+ D$ [8 Y1 v5 n
    63.                                 else p += f[0];
      7 q/ `% w4 L7 `( x
    64.                                 p += '/' + f + ".wav";
      / k) `+ N  ^- f7 [1 [4 ^3 U- g# x
    65.                         }
      7 O+ P! }3 O9 a$ ^6 ^
    66.                         var u = "http://media.merriam-webster.com/" + p;' v2 w( b- L: d" l7 g1 b3 D' E
    67.                         var b = function() {) {4 Y8 Z" U$ `" J) ^
    68.                                 with(c.style) {5 q/ L7 g8 g% _, _# [5 Q% W" }7 {
    69.                                         outline = "";3 s" P+ N/ Y# F) Q1 v
    70.                                         cursor = "pointer";4 v: M7 V: ~# c  `1 v. a8 u
    71.                                 }
      ; n9 g+ B& j+ g- _
    72.                                 c.setAttribute("onclick", "dzp.v(this,'" + f + "')");  I% N, k$ W1 v
    73.                         };  L/ S# _0 j8 p5 y
    74.                         var t = setTimeout(b, 2000);) _1 ^) M/ X* V9 u( V
    75.                         try {# Q! Z  y, l. m$ w; z" s
    76.                                 with(document.createElement("audio")) {
      : z; G; M, D0 a0 l8 {0 h% M
    77.                                         setAttribute("src", u);
      - f4 @5 J0 M1 i$ j  k9 {
    78.                                         onloadstart = function() {7 R- P: g' Y  x5 e& v, j4 h+ m$ O
    79.                                                 clearTimeout(t);: ^5 x+ n# p) `0 p" u. |* A
    80.                                         };5 j1 d  |! \( R' V. Y& G5 \2 D
    81.                                         onended = b;
      + h- w7 V% O" A- f4 @+ Q$ f
    82.                                         play();
      3 U8 b% g* u* l, G
    83.                                 }# \4 q4 p2 `. Y5 C1 J) c
    84.                         } catch (e) {
      $ ]7 D6 R! P8 E( v6 |" }* b
    85.                                 c.style.outline = "";
      8 \/ I. x8 i# X0 }6 [, }
    86.                         }5 F! y5 h/ ~8 x' `
    87.                 },* L4 b& _. X+ ?1 ?" \+ Y4 ~& G8 S
    88.                 x: function(c) {2 G  n" s( B, @) o, u9 v1 N
    89.                         var n = c.parentNode.nextSibling;
      & V" S- p- N& M8 m/ w8 m: j9 g
    90.                         if (n.style.display != "none") {
      " n& K/ P' ^8 ~5 [, e- c
    91.                                 n.style.display = "none";! E0 O( S1 w  a* J  L/ c
    92.                                 c.style.backgroundPosition = "0 0";
      " Y4 z* w* m- Y8 {: M1 g( S
    93.                         } else {
      8 p% Z) z6 Q  ~4 }) I
    94.                                 n.style.display = "block";
      " I* s& d/ l3 C- v2 Q  c
    95.                                 c.style.backgroundPosition = "-16px 0";
      1 u: Y% @  q" E3 }& N  I
    96.                         }
        s( s5 Y8 b& U, q
    97.                 },1 \) J5 P$ {$ {
    98.                 h: function(c) {
      5 X. g# t: ?1 c" y$ F4 r
    99.                         var p = c.parentNode;
      2 k) O1 I! ?4 ^+ @" K
    100.                         var d = p.nextSibling;
      ! N) I9 x# J: o: d: A
    101.                         var t = d.nextSibling;( m6 g. ]; A/ r. R5 x
    102.                         c.className = "kfh";! y6 P- y+ F/ w
    103.                         c.setAttribute("onclick", "javascript:void(0);");* H8 k/ r9 c$ ^* u( {$ {+ X. u
    104.                         var b = c.nextSibling ? c.nextSibling : c.previousSibling;
      % I8 T1 B+ T+ X5 S' U  R0 j
    105.                         var j = c.nextSibling ? 1 : 0;/ a, p+ Y9 q  K% _# W, o$ s' M: B
    106.                         b.className = "dt7";
      , [1 p# `% f8 V$ k% O
    107.                         b.setAttribute("onclick", "dzp.h(this)");
      9 p: q- L, e9 m8 u/ w% B
    108.                         if (j) g(b, c, "#4AB0EF", "#F5F7FB");$ N' c0 s( o3 J: J5 i' ]$ W
    109.                         else g(b, c, "#F48040", "#FDF9F7");
        K0 V  c- ^0 {; F1 E$ L
    110.                         if (t.style.display != "block") {
      4 c  r2 x  c1 p) @( A
    111.                                 t.style.display = "block";
      + ]. c  c; v4 u5 |
    112.                                 d.style.display = "none";- K# y( t' ^' R! ]
    113.                         } else {
      * `3 D7 _4 I2 z, b& _
    114.                                 t.style.display = "none";
      ' Q8 w, m! B. ^$ }2 J% ~
    115.                                 d.style.display = "block";7 h, b" o3 l* H0 ^( F" u7 j% ~
    116.                         }- M, A! ~, m5 A# N' u
    117.                 }
      % V4 `- \. f& o9 F' o1 ]6 V
    118.         }
      0 \* M& @8 F0 `  S2 X3 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, 贴主,感谢您的工具,但我用的时候出现了几个问题,希望贴主可以帮忙。
    ) C0 C6 b8 ]& I) P$ b: _2 d. L( h9 D* I5 N  w8 Z- Y
    就是在合并了几本字典后,在合并词典内,词典的发音图标,和词典内的图都是打××的,请问可以怎么解决呢?8 I7 D0 {$ d$ w9 \* N
    ' n- ^( Y) Y8 Y3 ^+ h6 q7 x
    我是先从原本各字典的MDX 用软件 转成 mdx源文件格式,然后再用贴主的软件合并。可是转变为 合并的mdx格式后,就出现以上情况。
    / R: O7 h$ `4 W  c' d9 s4 J原来 各词典 的 MDD 是否也要转换呢?
    6 z, M; T' f! f2 v9 R
    % M$ V! O  i7 [2 x
  • 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的每日心情
    开心
    7 小时前
  • 签到天数: 929 天

    [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 编辑 4 f* j; X1 @3 ?) w8 D5 e
    # k% H2 u4 q& @/ B
    spoiltbrat 兄:: q" Z& q0 j" O9 N: S$ N- u
    2 ~7 A8 X# S8 h
    軟件很強大,但不太會用, js 會報錯
    7 z! x1 i1 G5 K; p) `搞了一夜真不知錯在哪7 s6 O+ z$ {- I9 V9 V( ^# L
    用IE打開經過你的程序結合成的out.htm切換都正常
    & `- g8 Q& M" z2 a怎麼經過Mdxbuilder Compiler 後就, js 會報錯; K; n3 }( b, q
    能否解決
    0 ~2 V. O8 C) Z$ z* H% v或有同好若知如何解決請指點迷津
    $ t3 q: o+ b4 \5 ?+ K5 J  B0 P+ x% s/ u) u3 w/ _
    已附上 css & js
    ) @; I# W# m2 D0 @4 {0 \; K, u' }9 F$ b) L, {0 E  w2 G8 [! `
    因 mdx 和 out.htm 太大無法上傳3 C& c7 |7 R& J9 e' y
    / a% F9 V6 \9 ?
    感謝萬分

    本帖子中包含更多资源

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

    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, 2024-4-18 17:32 , Processed in 0.096799 second(s), 4 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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