掌上百科 - 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上邻近的单词点击没反应。找原因却没发现词典格式有错。3 Z+ _7 d8 B) p, V
    其他词典中用不同的JS却没此问题。1 W  W! e1 Q( \; N- h1 `0 M, l1 M
    经比较后,发现是其他的JS用了自检查的方法(IF THEN 等)等嵌套。3 _; w6 _* ]7 K# z) n# D

    " p5 v# h- v9 u4 m5 x若是能在JS上找到好的办法,就不用对词典源折腾了。4 G) Q/ X4 P" z3 h  ?
    ; J1 r2 S& ^3 Y% y* ?8 c
    供参考:
    5 E9 p7 q5 K0 \$ u8 c
    & E" N# m+ W+ [
    1. var vrh = (function() {& H9 `# Z: |( ^) i7 t) F. S2 f
    2.         return {
      $ {, w0 e, A( y' e2 S* O/ R
    3.                 c: function(c) {
      : x: z4 T: A' w0 m
    4.                         var p = c.parentNode.parentNode;
      . P5 P6 O, b. K+ s& n. d! J
    5.                         var d = p.getElementsByTagName("div");& z3 r+ z8 x- w  f, h/ y
    6.                         var r = /\w+(?=\.png$)/;
      ) Y9 L' S7 W8 s' a/ s2 F8 @8 [% X( x
    7.                         for (var i = 0; i < d.length; i++)) ?9 ]" O) a4 x" ~, K
    8.                                 if (d[i].style.display == "block") {
      2 M* ]. o: F% Q1 @! l/ g
    9.                                         c.src = c.src.replace(r, "x");8 X/ Z! F: o0 N2 G. S' C7 f/ g8 n1 j
    10.                                         d[i].style.display = "none";
      ; ]/ o" G1 J( z) M
    11.                                 } else {: s* I' E) n& Y+ \
    12.                                         c.src = c.src.replace(r, "c");* k' t* L- Q+ F: g8 ~! h2 g
    13.                                         d[i].style.display = "block";
      2 C1 K; m( ~2 T2 O0 V
    14.                                 }$ g  K- Z/ X0 e1 h) F
    15.                 }
      6 |, D; ]  n2 q' z& i# c
    16.         }
      0 n8 F' n8 m$ D2 ~0 Y  _. C
    17. }());
      7 C% Y" A3 ^8 f0 X- {. h" a
    18. var dzp = (function() {) w; B0 R! t( f6 @" X
    19.         function e(t, c) {6 r; [) J! t8 H+ l
    20.                 var d = document.getElementsByTagName("div");
      3 k) e9 X( y" l' s  l
    21.                 for (var i = 0; i < d.length; i++) {
      ) W/ K$ K' I" Y% W- W; A
    22.                         var p = d[i].previousSibling;7 P1 x4 l+ z9 ~
    23.                         if (p && (d[i].className == "cdw" || d[i].className == "oje")) {, ~( u  ^: J' f* ]% _' |
    24.                                 var h = p.offsetHeight;- [$ y% ~( o6 P
    25.                                 if (p.childNodes[1].className == "izv" && d[i].offsetHeight > h * 12) {- u  q4 t# F  k
    26.                                         p.childNodes[1].style.backgroundPosition = "0 0";( O+ ]; U+ |5 v$ h; J; E
    27.                                         d[i].style.display = "none";
      % l5 p4 ]9 y: T8 u+ r
    28.                                 }
      $ D, q6 v- M) {$ C! ~
    29.                         }6 A+ b4 U+ d7 o" {
    30.                 }! B2 @5 f; D  D5 C& G
    31.         }, A! N  v8 d* [1 C' N
    32. / P! G, F0 _8 [
    33.         function g(a, b, c, d) {
      ; p7 {( f- p7 d1 ~! p
    34.                 var s = a.style;
      % R7 r' y; i0 i" P2 R
    35.                 s.backgroundColor = d;, ]2 a; u5 m; X! g1 U/ M
    36.                 s.color = c;5 ]% d4 G3 ]( M; w
    37.                 s.borderColor = c;
      . `9 _! @! @' g  [. {1 O2 K
    38.                 s = b.style;
      1 I6 n# O) Z  L; P2 M
    39.                 s.backgroundColor = c;1 j9 a) x, G8 Y% G- e5 E# Q
    40.                 s.color = "#FFF";
      ' \; E- r) e2 p% U
    41.                 s.borderColor = c;
      1 ~' @) K. g8 ?) w% H, B0 B: ^
    42.         }
      " _* c9 Q* G( H
    43.         if (typeof(dzp) == "undefined") {, a; U$ s+ }# z4 a- V9 d: Z# d
    44.                 if (window.addEventListener)! f# P4 @  u& x" X
    45.                         window.addEventListener("load", e, false);
      & Z: I% ]# {% N% W+ u* c9 }
    46.                 else window.attachEvent("onload", e);! r$ c) k8 f7 j1 V% ~4 E$ o
    47.         }
      8 e. R& D# R& i8 O0 w/ j
    48.         return {- _( k8 r9 y! A
    49.                 v: function(c, f) {
      5 k& X: L; g# W' B" ^7 Q3 X. K) V/ z
    50.                         c.removeAttribute("onclick");- W: l' q$ A5 E3 W( C
    51.                         with(c.style) {( e0 \4 E, }' P* r2 E+ d+ K
    52.                                 cursor = "default";
      . \6 c0 d) d+ j+ y) W
    53.                                 outline = "1px dotted gray";
      ' C( O4 j' ]) M* i& @- Z
    54.                         }- \/ I$ O* {2 ]: o# [3 Q: Q6 L. j
    55.                         var p = "soundc11/";
      + `! k0 r9 N& z$ |# c
    56.                         if (/^span:/.test(f)) {
      & C6 M/ |/ Q3 t/ |
    57.                                 var l = f.replace(/^span:/, "");
      1 B9 [  i  _) L% x5 O5 O9 D
    58.                                 p = "audio/prons/" + l[0] + "/" + l + ".mp3";+ V2 _1 h" T( m/ p
    59.                         } else {
      ; ]8 J5 H9 }% m# Z, t
    60.                                 if (/^gg/.test(f)) p += "gg";
      & @* x7 N$ P. V
    61.                                 else if (/^bix/.test(f)) p += "bix";& v  k4 x( v8 y# u6 m
    62.                                 else if (/^[0-9]/.test(f)) p += "number";
      3 [/ Y# l, c) }- C) S
    63.                                 else p += f[0];
      : y+ I$ w+ I# i
    64.                                 p += '/' + f + ".wav";1 A6 b( z( ]; b' v" R5 I
    65.                         }% ~; ]& a% s" V$ w
    66.                         var u = "http://media.merriam-webster.com/" + p;
      ) ~& {; e( i0 h+ T' ~1 X" K
    67.                         var b = function() {: d/ b6 b" R# V% i, ]) t
    68.                                 with(c.style) {
      6 t) c! v% P/ T1 i% ^! {- n; S- W
    69.                                         outline = "";: U. R% g7 R4 b
    70.                                         cursor = "pointer";( u! y/ h: N# [7 D" [* d
    71.                                 }
      # ~! ~5 r# B$ w
    72.                                 c.setAttribute("onclick", "dzp.v(this,'" + f + "')");) j8 q& p8 N4 k: w  m$ Y
    73.                         };
      # ^, u. b, b$ j  M
    74.                         var t = setTimeout(b, 2000);) }) a/ ~# a# {1 c0 d1 B
    75.                         try {7 z3 e: p% @6 @( L$ q: D7 s( u/ s7 D* R
    76.                                 with(document.createElement("audio")) {
      " q. Q7 w" K! ?; O1 r- u5 A7 U: f$ W
    77.                                         setAttribute("src", u);
      4 @* M* x6 u% \" y" Q6 \) E4 H
    78.                                         onloadstart = function() {1 K$ y  I7 b- A0 G3 U  w4 d5 T
    79.                                                 clearTimeout(t);& A) m5 l$ X) O$ ?$ ]7 f, A
    80.                                         };; M; Z* ?" p+ H! q. @
    81.                                         onended = b;
      # f. O4 l- E9 X) d
    82.                                         play();
      . r& s1 i1 b: C
    83.                                 }) `& f8 G, @/ j# u
    84.                         } catch (e) {
      2 H& E4 q& v* p: N8 H4 `! Z; v( r. v
    85.                                 c.style.outline = "";+ }- z: e; V0 u4 g6 S. X
    86.                         }
      ! a; Q. n8 `  M  N. \; k
    87.                 },- Z! v. `0 ^4 m7 w
    88.                 x: function(c) {: \4 }" |4 d9 U
    89.                         var n = c.parentNode.nextSibling;/ i4 T* o% X& \/ q+ ?' i' m7 K+ o
    90.                         if (n.style.display != "none") {
        _$ w; ~: q+ z' u+ z+ T) t
    91.                                 n.style.display = "none";
      $ s4 w7 _4 P8 C! k1 j
    92.                                 c.style.backgroundPosition = "0 0";$ Y! V9 o1 O% A
    93.                         } else {7 t7 @" F7 C9 c
    94.                                 n.style.display = "block";/ M3 d) o/ R' L0 o& m
    95.                                 c.style.backgroundPosition = "-16px 0";
      0 c# r# I6 A; {
    96.                         }
      8 m% }. V6 H6 v! s* a
    97.                 },
      + E! _0 }  Z) C8 O% g( R
    98.                 h: function(c) {
      : N! g* V, T; S$ ]; b" s, K7 E* u) U- s
    99.                         var p = c.parentNode;
      8 d" ?' x- R# u; n1 t/ {
    100.                         var d = p.nextSibling;
      1 s; T3 i9 f: x  G% b
    101.                         var t = d.nextSibling;
      ) ?7 K0 J2 o( o: ]3 r
    102.                         c.className = "kfh";5 k5 U% ?# L& V, u* b- b
    103.                         c.setAttribute("onclick", "javascript:void(0);");9 ]! Q# r% s: P) t3 ~$ H( {
    104.                         var b = c.nextSibling ? c.nextSibling : c.previousSibling;4 A" |: n4 Y; N; C( G5 }
    105.                         var j = c.nextSibling ? 1 : 0;
      + T* B0 B: B: U. Q" k" A
    106.                         b.className = "dt7";+ a2 J5 U( t. o1 A. V
    107.                         b.setAttribute("onclick", "dzp.h(this)");5 g) Q& D+ x0 [% p+ ^
    108.                         if (j) g(b, c, "#4AB0EF", "#F5F7FB");
      ( s9 k, |5 m( J( y
    109.                         else g(b, c, "#F48040", "#FDF9F7");- W6 L2 ~( s: @/ q7 h% O; K$ b
    110.                         if (t.style.display != "block") {* L7 ?% N& s& x6 D1 E; E' u1 b
    111.                                 t.style.display = "block";- H* i/ V  t' W' F. E3 b& V
    112.                                 d.style.display = "none";9 C8 O+ Y+ j  E4 Q! O
    113.                         } else {" J9 S( A% e: n/ u5 K
    114.                                 t.style.display = "none";2 P: ]9 A. S! L) k: g
    115.                                 d.style.display = "block";: C. ?/ T( h0 e8 ]1 w  K: \& J
    116.                         }. ^& e9 D/ l4 z- z
    117.                 }
      6 h/ u6 @( T' u! E3 i& o5 \6 T2 y2 t
    118.         }
      + J6 R* V" j( o/ K5 e. t
    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, 贴主,感谢您的工具,但我用的时候出现了几个问题,希望贴主可以帮忙。
    + ]6 _* C, B$ W) i  n4 {- C( T$ @4 B( F# }
    就是在合并了几本字典后,在合并词典内,词典的发音图标,和词典内的图都是打××的,请问可以怎么解决呢?3 d+ }- p4 e; W

    ( s. d' }& V& T6 e" Z2 C我是先从原本各字典的MDX 用软件 转成 mdx源文件格式,然后再用贴主的软件合并。可是转变为 合并的mdx格式后,就出现以上情况。
    ; `/ _# L' K! E0 @原来 各词典 的 MDD 是否也要转换呢?
    + e- q# n1 w, P- X: y8 W7 p
    ! T6 F- _- l! k1 W8 W3 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的每日心情
    开心
    8 小时前
  • 签到天数: 971 天

    [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  g1 Q- E! P0 S
    - }( U+ u9 E3 k: B) ?3 Kspoiltbrat 兄:
    0 {, G% }: P( @* `5 H9 w- |  _( A' f5 l! R& Y+ |' L
    軟件很強大,但不太會用, js 會報錯! |2 @" ~, D9 ]9 e( G, R. E6 E
    搞了一夜真不知錯在哪# C6 ]& }/ ]& W. |. s* s
    用IE打開經過你的程序結合成的out.htm切換都正常5 h1 m* h& i+ |# [
    怎麼經過Mdxbuilder Compiler 後就, js 會報錯* r% F7 A* R( f* x4 r
    能否解決
    2 D5 G, A3 O/ |0 x或有同好若知如何解決請指點迷津
    . E  m5 l7 |9 j. \5 Z, u9 D) o9 `' o
    已附上 css & js
    ; u. E) Y& C- \& I) d# o% R9 n) E1 S/ Y7 D: F9 S
    因 mdx 和 out.htm 太大無法上傳
    - J& g7 G1 r; C0 L. [) q8 {9 F8 }! T8 p9 Z& b3 C- M6 _
    感謝萬分

    本帖子中包含更多资源

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

    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-5-3 18:16 , Processed in 0.023079 second(s), 16 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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