掌上百科 - 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上邻近的单词点击没反应。找原因却没发现词典格式有错。2 p) S2 y+ ]5 t( W
    其他词典中用不同的JS却没此问题。& J+ I, X3 E/ Z, s  C
    经比较后,发现是其他的JS用了自检查的方法(IF THEN 等)等嵌套。
    . R: r. K. |+ L7 I6 _# S4 W' Z& K+ x5 F. X7 Z; d
    若是能在JS上找到好的办法,就不用对词典源折腾了。' K: t8 `  o4 R7 |, j, c$ b

    : s5 m8 h/ t, e0 E7 Z$ h6 A3 D供参考:$ T2 l6 ^0 X6 F: n
    6 V9 E7 u) a7 `0 R0 F/ F% `8 C
    1. var vrh = (function() {
      " {+ K: u  {  C- o! z) ?
    2.         return {/ q  X8 p! q5 b. q9 N. \9 k# g
    3.                 c: function(c) {3 ~! g8 N% D. R
    4.                         var p = c.parentNode.parentNode;* ^- a" F$ N% v; A9 }. M* [1 a
    5.                         var d = p.getElementsByTagName("div");2 ^* P6 O; C" A
    6.                         var r = /\w+(?=\.png$)/;& t/ U: M( u. L; \3 L& @" @
    7.                         for (var i = 0; i < d.length; i++)/ F# l' e& t# }* u  ^. _; [
    8.                                 if (d[i].style.display == "block") {
      ! j+ m' Z; t6 \& ~
    9.                                         c.src = c.src.replace(r, "x");
      / t: T7 C% J. W: I" D* S6 a4 K
    10.                                         d[i].style.display = "none";6 l* @1 i' C% g/ S; P
    11.                                 } else {; [: R0 S4 l% ]; O, S/ u) ?
    12.                                         c.src = c.src.replace(r, "c");
      4 a" X% r+ a  B# o8 W0 ?
    13.                                         d[i].style.display = "block";+ ]$ k* L9 n/ ^
    14.                                 }: [& T0 ~  r6 {3 d; M- t7 i
    15.                 }4 m  s( {  R; t5 ~. {
    16.         }
      " _- v& i, B! h/ _& S
    17. }());7 j" ~* s. K  v+ u9 |9 B3 J
    18. var dzp = (function() {
      ! `8 F, j# W0 U6 n
    19.         function e(t, c) {, K* I4 D9 q8 s8 {! p
    20.                 var d = document.getElementsByTagName("div");. T9 E+ M! X' _, ]' U6 P
    21.                 for (var i = 0; i < d.length; i++) {9 x' h1 J& D( r% I3 Q; a! Y$ L
    22.                         var p = d[i].previousSibling;
      9 h# b% ~. N8 s7 z0 X
    23.                         if (p && (d[i].className == "cdw" || d[i].className == "oje")) {3 _- g: y  `) u
    24.                                 var h = p.offsetHeight;
        K& h8 z6 g$ P+ c
    25.                                 if (p.childNodes[1].className == "izv" && d[i].offsetHeight > h * 12) {
      7 w1 S( G  `4 `  B2 M  K
    26.                                         p.childNodes[1].style.backgroundPosition = "0 0";9 i1 o) |1 g/ @1 }: s0 K3 k# h
    27.                                         d[i].style.display = "none";
      ( O) T5 D% [! G/ x" t# I) `( J% ~
    28.                                 }5 I+ O/ l1 H! J6 \8 }
    29.                         }/ X3 y7 Z1 D0 `2 u; Z
    30.                 }- l4 C# {  A; ^5 m
    31.         }
      * D) Q4 ]! ^& P" r9 C1 _

    32. ! c9 ~3 V& h/ W0 ]2 o4 Q1 k
    33.         function g(a, b, c, d) {$ {" O: l3 I- y- Q
    34.                 var s = a.style;
      0 ?( X: E% \* t, D; I! O' s4 C/ x
    35.                 s.backgroundColor = d;
      ( A! Y! ?) ]9 S3 z+ j/ k0 s
    36.                 s.color = c;
      ' z8 |, a3 D2 Q0 D- {; z: E3 K
    37.                 s.borderColor = c;4 s1 Y0 o6 z$ }6 X; Q1 p8 W7 c& F6 u
    38.                 s = b.style;
      , {2 ]- V# T/ V0 l0 j
    39.                 s.backgroundColor = c;- Q$ Q8 h  N6 W0 x
    40.                 s.color = "#FFF";& k% q' N! e% [( w' k. t
    41.                 s.borderColor = c;: ?  g* _+ y! l* Q7 k1 v
    42.         }
      0 V% k; y0 j! i3 t5 ?  j/ W
    43.         if (typeof(dzp) == "undefined") {' ?6 h- P/ N* ^" ?
    44.                 if (window.addEventListener)
      $ U! f! y- P: ], {
    45.                         window.addEventListener("load", e, false);
      9 a. z$ N5 f8 q4 \6 f% y& J/ d
    46.                 else window.attachEvent("onload", e);8 |5 W& m- _, X$ \! a: G: `
    47.         }0 X8 d) y' M* E, p2 s
    48.         return {
      9 m$ C- l4 T, v- U
    49.                 v: function(c, f) {% o: ^* J( _& H# I# v
    50.                         c.removeAttribute("onclick");
      2 ^0 {: \; w7 |9 I  v4 v
    51.                         with(c.style) {
      1 t8 T/ u4 v! g1 F+ z* _+ m2 p
    52.                                 cursor = "default";
      6 K! P- _4 `3 s) q6 H
    53.                                 outline = "1px dotted gray";( H) s" n5 @! W2 E  e
    54.                         }: N9 ]- b" E0 c( _
    55.                         var p = "soundc11/";: `8 G) n; B$ \& b: U
    56.                         if (/^span:/.test(f)) {
      % H/ l$ B2 u, G. O
    57.                                 var l = f.replace(/^span:/, "");2 v" j% \( f$ m/ S
    58.                                 p = "audio/prons/" + l[0] + "/" + l + ".mp3";+ o" g( U( @6 H
    59.                         } else {
      / f& |' ~, q/ E
    60.                                 if (/^gg/.test(f)) p += "gg";
      * C4 A4 f: [& H: j2 j+ S8 {) l
    61.                                 else if (/^bix/.test(f)) p += "bix";
        ]  l) ~( n& E" `. M$ }/ D
    62.                                 else if (/^[0-9]/.test(f)) p += "number";- j, D: f! f+ _' S  ?
    63.                                 else p += f[0];- \" V) k. |- f! V# t
    64.                                 p += '/' + f + ".wav";
      / |. c. y3 R1 z2 d5 t9 h/ M
    65.                         }' U# l. g3 U3 N' T2 \2 y. |
    66.                         var u = "http://media.merriam-webster.com/" + p;
      7 G# t' F* P& x6 K. g
    67.                         var b = function() {
      1 n4 T, O# b5 ?$ X3 k
    68.                                 with(c.style) {
      5 w5 g6 B$ l' P9 E1 d4 }% |
    69.                                         outline = "";
      ( y$ h4 d; ?) w* q4 p" d# V, _
    70.                                         cursor = "pointer";
      # i& E4 T' p6 `- g( b5 m
    71.                                 }7 t- g, M+ ]( X
    72.                                 c.setAttribute("onclick", "dzp.v(this,'" + f + "')");) @% `7 i8 ]5 C9 i0 o' O& E' H7 ?6 V3 N' ~
    73.                         };
      / s4 q- [7 S& u# ]2 D+ _' T0 o
    74.                         var t = setTimeout(b, 2000);
      / I! f5 \1 n7 d
    75.                         try {% H6 [& D0 s3 T6 A
    76.                                 with(document.createElement("audio")) {/ A+ r4 N7 P; D! d  z  ~, m4 ^
    77.                                         setAttribute("src", u);
      ; h' v, R- F5 Q8 p: l& H
    78.                                         onloadstart = function() {
      * A* g) ^0 V3 Z
    79.                                                 clearTimeout(t);
      ' v# J3 |4 c4 G! g, Q! q& |
    80.                                         };8 w- ?3 b: r1 M% i
    81.                                         onended = b;; A9 n' t& N4 \0 E! ?8 o
    82.                                         play();
      & k! d: M& S4 Y  E) L( c& c
    83.                                 }
      % y9 ^# h- Z( o. S- E* X" W
    84.                         } catch (e) {$ J/ X! O# y4 m9 H  T) N
    85.                                 c.style.outline = "";
      1 ~' C( y: d5 Z0 Y% u
    86.                         }0 Q. T% R, A% c7 ^6 f2 C
    87.                 },
      . s; U5 O! c* E$ o* k0 y
    88.                 x: function(c) {1 g$ m8 i$ }0 a( ]8 l; W% g% q
    89.                         var n = c.parentNode.nextSibling;
      ' l8 T$ b4 G$ H
    90.                         if (n.style.display != "none") {
      0 h5 S% E  ~# ~
    91.                                 n.style.display = "none";( Z% _' C( A) K8 z" e% [5 t2 p1 q
    92.                                 c.style.backgroundPosition = "0 0";
      3 {5 z' q; f; h$ W, c
    93.                         } else {& E& [. o; N9 a  W3 N  j
    94.                                 n.style.display = "block";, w2 r0 E+ H$ L9 K! x. ?
    95.                                 c.style.backgroundPosition = "-16px 0";
      4 U: p8 t2 X8 m2 N
    96.                         }
      1 t4 }/ _' g8 K: m0 q
    97.                 },
      , s8 C& P; }7 V
    98.                 h: function(c) {
      # j, p" k" a, o
    99.                         var p = c.parentNode;
      # T3 t% D! m  Y9 |
    100.                         var d = p.nextSibling;" _7 n' R8 a; m  r& v' W5 R) r
    101.                         var t = d.nextSibling;
      5 _& }- s& o. Y0 x& v  W  D
    102.                         c.className = "kfh";) G( C: D/ Y3 J$ k& p
    103.                         c.setAttribute("onclick", "javascript:void(0);");3 B- }4 j- R) i
    104.                         var b = c.nextSibling ? c.nextSibling : c.previousSibling;! Q9 P8 z3 Y, x$ d: b: S: s* ?
    105.                         var j = c.nextSibling ? 1 : 0;
      4 |/ ^' t  q$ E8 l+ J+ o& n: D
    106.                         b.className = "dt7";
      7 y5 C5 e: q+ l+ @- M+ Q. u! R1 _
    107.                         b.setAttribute("onclick", "dzp.h(this)");
      * g, `# P9 z" G% N8 C. {& v% Y
    108.                         if (j) g(b, c, "#4AB0EF", "#F5F7FB");
      3 x8 [* K9 q% O2 l! E# _0 T  A
    109.                         else g(b, c, "#F48040", "#FDF9F7");
      $ m9 M4 p! s- r& m$ ]7 E
    110.                         if (t.style.display != "block") {$ r" j7 W2 S- w
    111.                                 t.style.display = "block";; V' \- F" J; I& j5 m
    112.                                 d.style.display = "none";
      $ P) L# x4 {" R: @  r
    113.                         } else {
      % ^! d" Y% ]& z' g
    114.                                 t.style.display = "none";" H' R) }: {" S" x* Q: s& e
    115.                                 d.style.display = "block";
      0 ~) T) L) D2 o
    116.                         }* o& F, q/ n; K1 p
    117.                 }; ^: M0 d4 p$ z9 S$ ]
    118.         }9 m. {9 z2 y: V5 @& 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, 贴主,感谢您的工具,但我用的时候出现了几个问题,希望贴主可以帮忙。
    : M1 [2 g% U8 K6 Y# T9 C: X0 s6 F! |+ ~' h5 L
    就是在合并了几本字典后,在合并词典内,词典的发音图标,和词典内的图都是打××的,请问可以怎么解决呢?
    4 K3 ~$ ~4 r. \$ T# O" M, Q( v) F& N0 t1 }( u$ [: f* y
    我是先从原本各字典的MDX 用软件 转成 mdx源文件格式,然后再用贴主的软件合并。可是转变为 合并的mdx格式后,就出现以上情况。5 c, O2 N/ u# S  a, U6 }0 ^
    原来 各词典 的 MDD 是否也要转换呢?
    * Q) B3 c# B- r0 N/ A  [5 I: w. i  y' Q: O
  • 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的每日心情
    开心
    2024-4-18 10:17
  • 签到天数: 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 编辑
    & s# T4 a4 u4 R2 B4 `
    0 l! f6 Y! I# v, }. f+ w# ]) ^& nspoiltbrat 兄:& X( e  M9 J) Z  R% D0 r/ `3 o

    $ n+ k0 U" N' D: ^軟件很強大,但不太會用, js 會報錯
    # s; p: H; b3 a, x. G搞了一夜真不知錯在哪
    % w# T8 h4 l  R" h用IE打開經過你的程序結合成的out.htm切換都正常
    7 A& T$ t2 i! a" ^  w8 o' v8 \怎麼經過Mdxbuilder Compiler 後就, js 會報錯
    ' h/ @4 ~- v/ t; J  Z能否解決' e6 G+ Q% Z! k* f
    或有同好若知如何解決請指點迷津+ ^; I( v* z) V# {& h

    7 C( H& g3 q2 [( l& d  A已附上 css & js
    & d; Y3 C; d3 r" A. V7 i% V4 y
    6 W+ y$ P3 r$ v3 m. a( a% Z% |因 mdx 和 out.htm 太大無法上傳9 O. @, P; U3 X/ x6 U$ r

    7 y' ~2 N7 H4 U感謝萬分

    本帖子中包含更多资源

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

    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-26 14:15 , Processed in 0.100895 second(s), 4 queries , MemCache On.

    Powered by Discuz! X3.4

    Copyright © 2001-2023, Tencent Cloud.

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