掌上百科 - 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上邻近的单词点击没反应。找原因却没发现词典格式有错。* L" F1 f6 m  z' t' c2 T" @6 q
    其他词典中用不同的JS却没此问题。3 C, d, c+ y; m) _2 d* d0 v8 [
    经比较后,发现是其他的JS用了自检查的方法(IF THEN 等)等嵌套。& z2 i; g% V! R( Z4 r8 U

    & U7 R/ k9 G3 M/ [1 S* k若是能在JS上找到好的办法,就不用对词典源折腾了。
    $ e8 U3 i1 G  x7 h7 o
    3 q, d, f2 |4 d0 n/ e供参考:. f0 h: k& g/ O% F( C$ T
    1 R) `4 e9 O; [1 r1 a! r
    1. var vrh = (function() {$ Z2 U* w6 V7 ^0 b4 h
    2.         return {
      : i8 Q2 @3 m% S
    3.                 c: function(c) {
      4 M+ t1 P( F" e0 `: [# D
    4.                         var p = c.parentNode.parentNode;; ~5 _# }2 c( S1 P" t* j
    5.                         var d = p.getElementsByTagName("div");
      , \! I; Z, k/ }$ l
    6.                         var r = /\w+(?=\.png$)/;  S9 q* d7 }* J3 ^
    7.                         for (var i = 0; i < d.length; i++)
      - T5 `7 ?( M1 q5 d% Q
    8.                                 if (d[i].style.display == "block") {' D; P  f' N. r% r
    9.                                         c.src = c.src.replace(r, "x");/ U* i$ [2 A" o/ t0 d4 {+ w5 l3 f
    10.                                         d[i].style.display = "none";' }3 L5 ^8 V6 d; I- a
    11.                                 } else {: |, D* M6 r7 I$ q
    12.                                         c.src = c.src.replace(r, "c");
      7 _) W9 E* x9 W# {+ l) X
    13.                                         d[i].style.display = "block";
      2 T) u4 e* }$ w9 F
    14.                                 }( P/ d. Q" v+ e( _. u' x- ?$ B
    15.                 }
      , w# k2 U2 l2 I) d5 `
    16.         }2 M. j$ C& a! _, p5 H. F' \
    17. }());6 E0 u9 j; i6 l# u. l* S% N+ l% j
    18. var dzp = (function() {( w. L; L( f7 ~* R. D* m' _1 y
    19.         function e(t, c) {
      1 F" h! Z5 y$ W8 V$ p2 ?
    20.                 var d = document.getElementsByTagName("div");) @- v7 {' F% q( K% ?5 u
    21.                 for (var i = 0; i < d.length; i++) {
      + G! t$ [/ Q9 k  K( ]. o
    22.                         var p = d[i].previousSibling;, O. ]( B2 |$ N$ ~  i: V) g
    23.                         if (p && (d[i].className == "cdw" || d[i].className == "oje")) {! Z3 Z# G4 I& d6 j. [" ^7 q
    24.                                 var h = p.offsetHeight;
        l, x* X+ m; H0 C; h2 b3 M! |( o
    25.                                 if (p.childNodes[1].className == "izv" && d[i].offsetHeight > h * 12) {, _; G% c; G  l
    26.                                         p.childNodes[1].style.backgroundPosition = "0 0";6 G3 `6 i# @- a% w3 [! K: d
    27.                                         d[i].style.display = "none";7 n3 S" N9 Z; S* E8 F! f+ J% ~
    28.                                 }
      : Z# ]4 j8 C- P5 J8 L
    29.                         }
      3 C* d# Q, M6 N+ B5 B
    30.                 }  `1 _( a* J( T1 S  N
    31.         }
      " {$ v7 n) B  h* {4 m5 w; Z

    32. 4 |5 J( y, B  P7 u7 X
    33.         function g(a, b, c, d) {
      ; E- L5 a  e; @3 \+ \1 |  T7 Q! ^) F
    34.                 var s = a.style;0 x, b- }( _) \: ~- A6 X% i1 Y
    35.                 s.backgroundColor = d;& @5 T9 }+ f  i2 w% J3 j
    36.                 s.color = c;
      - J! ]5 ~/ v: U4 z: `+ k# W: F
    37.                 s.borderColor = c;
      4 [  I3 K7 V3 ?- D7 l+ ^4 x
    38.                 s = b.style;
      # d4 q! B9 S+ [* a& E* _2 W, w* C
    39.                 s.backgroundColor = c;
      # _1 d. |, C6 v( v& P
    40.                 s.color = "#FFF";1 m6 _! N7 x$ z+ f- w
    41.                 s.borderColor = c;  a$ B7 z1 b$ w* r/ f' A/ }3 h9 [
    42.         }
      7 `( W% i0 Z6 Y0 V" F# R
    43.         if (typeof(dzp) == "undefined") {
      ! Y9 n$ G, }8 W
    44.                 if (window.addEventListener)
      9 H; a& @  N* u, f) e- O# T, m
    45.                         window.addEventListener("load", e, false);
      8 b$ p' z; ^% @
    46.                 else window.attachEvent("onload", e);
      ' b' ]% G$ r. f7 y# Z* h! h
    47.         }
      : O3 Y* s4 N3 D2 D
    48.         return {
      " f) l% b* H% P( u
    49.                 v: function(c, f) {& K% l+ i; @7 i. ^3 z9 `3 j
    50.                         c.removeAttribute("onclick");
      6 @/ S& G% u" ]( b% j
    51.                         with(c.style) {* ?* L; I* ^* N: B) e- r( U/ M
    52.                                 cursor = "default";
        J6 h6 R4 y0 E
    53.                                 outline = "1px dotted gray";
      * m7 D' {  ~9 a, k3 H8 m
    54.                         }' `; _1 N9 L& u& R$ x. A
    55.                         var p = "soundc11/";/ S/ x! q$ v1 e$ a8 ]1 p# A; Y
    56.                         if (/^span:/.test(f)) {! K, D$ j, t3 d7 W* x5 w; B
    57.                                 var l = f.replace(/^span:/, "");
      ) s; B2 D( A, {+ z1 d
    58.                                 p = "audio/prons/" + l[0] + "/" + l + ".mp3";+ L* `7 H# G2 R/ L% o6 O; c% ?
    59.                         } else {
      - J" Z: R5 v! G' M" S
    60.                                 if (/^gg/.test(f)) p += "gg";# D. N  W+ u/ x1 I
    61.                                 else if (/^bix/.test(f)) p += "bix";! e" y6 N. N; `0 K4 k0 o0 q
    62.                                 else if (/^[0-9]/.test(f)) p += "number";& |6 m* `9 o+ O3 b# G
    63.                                 else p += f[0];- r1 S  T$ K4 c( C' W- P
    64.                                 p += '/' + f + ".wav";3 N2 D" s- y/ [) X0 h) c2 m
    65.                         }: O9 r  c( M& ?* F
    66.                         var u = "http://media.merriam-webster.com/" + p;
        g: G9 u7 a! K3 R9 u( m& K$ P
    67.                         var b = function() {3 a+ m" ~2 _4 l& X& d2 y* D0 S! T
    68.                                 with(c.style) {
      9 S. d3 r5 i. P; Z) g1 h& O
    69.                                         outline = "";
      # S8 M% w: w4 R8 X& @; h: o
    70.                                         cursor = "pointer";
      ) ^8 b" J5 g* y6 H! T; x2 i) L0 o/ _
    71.                                 }0 @4 J' P3 @4 d! ~4 G" y
    72.                                 c.setAttribute("onclick", "dzp.v(this,'" + f + "')");4 q3 {& M# [: q+ _: {
    73.                         };
      2 ]/ J' [0 d- T: n  L! l( c
    74.                         var t = setTimeout(b, 2000);
      : v5 S9 Z/ H& X" Q6 i. N4 t
    75.                         try {
      7 B) l7 y5 I. N! E# r2 ?( Q4 H* ^
    76.                                 with(document.createElement("audio")) {
      " {6 u! h8 q6 i' y& y
    77.                                         setAttribute("src", u);1 W8 x9 w1 J, m- m0 e! O6 L) t# Z( Z
    78.                                         onloadstart = function() {1 Z8 E; W* j; X* h- f$ d
    79.                                                 clearTimeout(t);7 W, I! v+ ~- M  p2 G
    80.                                         };1 P2 @4 Y( l& @
    81.                                         onended = b;1 ~; D0 `# H) v; W1 Y
    82.                                         play();" p  H! I; y* W/ m
    83.                                 }- X6 b. c5 z- h4 I9 H
    84.                         } catch (e) {
      , g; Y# @" b) a4 w2 x# A+ {( g
    85.                                 c.style.outline = "";" C/ @( ?+ C; _: E: {; J- G. _
    86.                         }
      $ }) @- H& H& L3 A
    87.                 },0 u0 W5 z# q* j1 r# R4 `" L( m! M
    88.                 x: function(c) {/ s& N; g0 I) u
    89.                         var n = c.parentNode.nextSibling;& n( k' a3 o5 e8 m; }
    90.                         if (n.style.display != "none") {
      " _) I8 P$ z2 Q  Q  h4 @" {% R0 W
    91.                                 n.style.display = "none";
      ! e- X- B4 K6 u2 V3 G
    92.                                 c.style.backgroundPosition = "0 0";
      7 Q& s$ g9 @- e& h2 C5 m
    93.                         } else {. R8 F  H2 o5 e. F4 q# U
    94.                                 n.style.display = "block";
      ! ^' R: o( U. E
    95.                                 c.style.backgroundPosition = "-16px 0";) T/ Y* z: C5 k! }2 ?0 v# }9 V
    96.                         }2 s: c1 {5 t7 @7 X! `5 _+ D' B
    97.                 },
        H/ D, [- Q6 v8 r
    98.                 h: function(c) {- b+ l2 c: K" Y7 B
    99.                         var p = c.parentNode;
      - y( ?' r1 z0 S" C8 d
    100.                         var d = p.nextSibling;! ]2 |2 e- O$ q. E5 T
    101.                         var t = d.nextSibling;+ [0 b5 c& k3 y, M4 u$ t! w
    102.                         c.className = "kfh";0 O# V* I) T" n+ k8 z4 y6 y( U
    103.                         c.setAttribute("onclick", "javascript:void(0);");2 O% N' B0 Y* _; z
    104.                         var b = c.nextSibling ? c.nextSibling : c.previousSibling;
      ; t- ?& C4 H2 R7 J9 t
    105.                         var j = c.nextSibling ? 1 : 0;; [8 t" @4 B6 D2 F- m
    106.                         b.className = "dt7";5 E# N8 p3 S: N
    107.                         b.setAttribute("onclick", "dzp.h(this)");2 N  F) m8 t1 E
    108.                         if (j) g(b, c, "#4AB0EF", "#F5F7FB");
      . s2 o- R0 }/ }0 O+ R2 a
    109.                         else g(b, c, "#F48040", "#FDF9F7");
      : J( k0 x- h  [9 |( Z5 B
    110.                         if (t.style.display != "block") {+ g6 `! a. H' J  O8 `0 T
    111.                                 t.style.display = "block";
      1 `7 h0 {+ G8 g. p0 }; z
    112.                                 d.style.display = "none";0 _( h. ], l4 s- |
    113.                         } else {$ C! r& C- O3 p( y) ^" r
    114.                                 t.style.display = "none";, @( M1 t3 ~% F* K/ n9 L8 {; t
    115.                                 d.style.display = "block";
      & [' h- |+ d) _; g$ J
    116.                         }% \5 @# }+ N" S, z6 V+ r1 q
    117.                 }. e+ U/ x- j" l" D3 s- g- G5 z# t, C
    118.         }' r, m- N5 v/ B: B
    119. }());
    复制代码

    该用户从未签到

    发表于 2017-4-5 09:49:26 | 显示全部楼层
    感谢S大的更新。
  • TA的每日心情

    2025-12-24 07:02
  • 签到天数: 251 天

    [LV.8]以坛为家I

    发表于 2017-6-7 06:03:17 | 显示全部楼层
    Hi, 贴主,感谢您的工具,但我用的时候出现了几个问题,希望贴主可以帮忙。
    : n# l2 p* K0 b4 Z5 V$ L& Z( `/ ]4 g( _# e$ `* M3 t# a- ?
    就是在合并了几本字典后,在合并词典内,词典的发音图标,和词典内的图都是打××的,请问可以怎么解决呢?. u  M! b" E) M7 s5 Z9 R+ N1 P: m

    ! Q; {' T+ i& y$ L3 A, f我是先从原本各字典的MDX 用软件 转成 mdx源文件格式,然后再用贴主的软件合并。可是转变为 合并的mdx格式后,就出现以上情况。- |+ u2 r0 {9 h- h
    原来 各词典 的 MDD 是否也要转换呢?
      d# T& M9 [/ k$ ?/ \, L9 F
    2 t1 @, b- k& b( m8 f' h
  • 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的每日心情
    开心
    2026-9-7 11:34
  • 签到天数: 995 天

    [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 编辑
    * c' `# ^+ T( U. K" t" _
    9 I4 h/ }( w! _) ]3 q1 e2 rspoiltbrat 兄:
    7 b* G3 j8 l5 I" ]- f8 C: n  ?, N$ ]/ w
    軟件很強大,但不太會用, js 會報錯! B8 V1 ?* R6 r; P2 n" v" I
    搞了一夜真不知錯在哪. ^% l  ~5 G+ w/ z2 }3 s6 B
    用IE打開經過你的程序結合成的out.htm切換都正常; ]& h0 J6 @6 b# a) D6 v) g, u& t8 @
    怎麼經過Mdxbuilder Compiler 後就, js 會報錯) q4 \- N( c. Q* \8 [
    能否解決7 D4 T+ Q: |; r/ Y$ R7 S
    或有同好若知如何解決請指點迷津
    ; J, f$ l+ Z& H; i: ^$ h/ ]$ l* y" @3 ?) G
    已附上 css & js
    : i) g: N' A  e, S
    ; M, I6 l2 n) O8 z( x% S因 mdx 和 out.htm 太大無法上傳
    * u$ k7 w' L$ y6 f4 ?4 N- G" q+ P) r# c* \
    感謝萬分

    本帖子中包含更多资源

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

    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, 2026-9-21 18:41 , Processed in 0.021126 second(s), 16 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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