掌上百科 - 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上邻近的单词点击没反应。找原因却没发现词典格式有错。" C( J/ i7 L0 Q  \( d; x
    其他词典中用不同的JS却没此问题。4 ]; k. I2 h- M& A2 N8 p  @
    经比较后,发现是其他的JS用了自检查的方法(IF THEN 等)等嵌套。1 a7 J1 z: t; |  |% Q

    2 t3 _' z8 ]8 ?' g8 G若是能在JS上找到好的办法,就不用对词典源折腾了。
    3 v) G' r  i6 k% S# L" d3 ~, S. u6 b$ Y
    供参考:/ X4 F! E% m1 `: C4 b. g" I

    ( G  `$ \% a! }$ Z4 l& i( T
    1. var vrh = (function() {
      2 E* |, a- e7 t4 m9 ]6 a9 D
    2.         return {. [: s4 @0 |* w1 ~/ e
    3.                 c: function(c) {
      + s" Q8 o% D% d3 H
    4.                         var p = c.parentNode.parentNode;* J6 s  C' s% f0 q/ B" \
    5.                         var d = p.getElementsByTagName("div");
      " o0 a+ `& {' F( D$ i/ |
    6.                         var r = /\w+(?=\.png$)/;3 I( ^4 Z! {6 S" i7 A7 o' j
    7.                         for (var i = 0; i < d.length; i++)
      . X0 f) N9 C9 ]2 |9 S! y! I" G
    8.                                 if (d[i].style.display == "block") {  \' ?6 H' v) F! w' J/ E5 ]
    9.                                         c.src = c.src.replace(r, "x");
      * I1 z9 S" r, @3 N$ b% F9 ?
    10.                                         d[i].style.display = "none";6 |" F! P- m/ o3 I
    11.                                 } else {
      # Z# ~3 M$ N. w' G
    12.                                         c.src = c.src.replace(r, "c");
      3 M% ^. {. p0 i7 G& ]
    13.                                         d[i].style.display = "block";& |$ e& ]4 W  Z$ E, a1 g
    14.                                 }: M  X) p5 {( Z: Q* B( m# ]. f
    15.                 }
      . I7 c1 v( s5 J' m" Q
    16.         }
      / @" Y  Y8 _. b, G) @2 j  f. y, E
    17. }());: D: p% o  }6 R9 B4 z
    18. var dzp = (function() {  M9 F3 b1 ]6 |
    19.         function e(t, c) {) o. f6 K% q- h8 _0 U2 ]( F
    20.                 var d = document.getElementsByTagName("div");
      ( e  Y! A. ~, ?4 [
    21.                 for (var i = 0; i < d.length; i++) {2 e7 L% ?7 |8 |* |
    22.                         var p = d[i].previousSibling;
      8 U# |2 u. ~0 N* J; s* z# V, D7 o
    23.                         if (p && (d[i].className == "cdw" || d[i].className == "oje")) {
      8 K* e2 x) d3 T1 H
    24.                                 var h = p.offsetHeight;
      : Q; @1 Z8 {) N  c% h
    25.                                 if (p.childNodes[1].className == "izv" && d[i].offsetHeight > h * 12) {
      " E, [/ ^5 E9 E+ o9 x6 w: {
    26.                                         p.childNodes[1].style.backgroundPosition = "0 0";
      : E) {- ^* \+ ?" [" ^
    27.                                         d[i].style.display = "none";" F2 L; m2 Q1 |& N( k4 L
    28.                                 }7 z- e6 H5 }7 R
    29.                         }, _" K) ~- h6 p9 L
    30.                 }
      % m; n6 S- g+ L: _- o
    31.         }9 q- y, D+ v" V& ^( q4 g
    32. 3 u' _6 t+ R$ a# A. P  \9 N
    33.         function g(a, b, c, d) {7 w# A: o0 t1 V
    34.                 var s = a.style;$ O3 ], h( O  ~- M- d5 r
    35.                 s.backgroundColor = d;
      6 C4 c3 F6 @; X8 O6 w% t) p) G
    36.                 s.color = c;
      : ~/ ?, f. m; R( E: |$ A' R( ?
    37.                 s.borderColor = c;
      1 Y  X; T& N7 J4 q% }& Q
    38.                 s = b.style;' J, d- B* u3 Z1 D% Y+ P7 q8 W
    39.                 s.backgroundColor = c;( K8 r/ s7 P! s. p& b# O' {
    40.                 s.color = "#FFF";+ g! K" t3 ~- ?3 \) a* H# c& v, F
    41.                 s.borderColor = c;
      # q- _/ e" T( z3 \# i
    42.         }
      : }5 C. V. ~* C/ W: {: o
    43.         if (typeof(dzp) == "undefined") {
      ( R: {( H/ |6 u4 t9 }
    44.                 if (window.addEventListener)% u2 }4 G' `9 r0 J4 _0 w$ _
    45.                         window.addEventListener("load", e, false);( O6 _% i  ?1 f7 L3 r
    46.                 else window.attachEvent("onload", e);* y3 V# W. K7 E; D0 `3 r" M- i
    47.         }
      ; j' i9 c( M  q  [; \4 w" J6 l
    48.         return {/ v% {/ V4 N1 |
    49.                 v: function(c, f) {( z( P5 B* Z/ Y  i! a( Z# p) x0 I
    50.                         c.removeAttribute("onclick");/ [8 K) a: U  F, {2 s  s8 I
    51.                         with(c.style) {
      0 D5 ^- ^: |3 l  \- T. f5 L
    52.                                 cursor = "default";& C: Z; t/ C) X/ Z1 E) Q  @: [' w9 N
    53.                                 outline = "1px dotted gray";
        m4 l; `& a1 ]) ]" i# O
    54.                         }
      - e* i/ {% ]: y9 k
    55.                         var p = "soundc11/";: g, [0 s' I- C% v
    56.                         if (/^span:/.test(f)) {
      - Z, I! T. ?# Z7 F: M) C
    57.                                 var l = f.replace(/^span:/, "");
      & Q. F* q5 m" H5 G) E
    58.                                 p = "audio/prons/" + l[0] + "/" + l + ".mp3";
      3 [/ k2 l+ n1 d
    59.                         } else {0 e0 P& V& b2 `5 G; c4 d
    60.                                 if (/^gg/.test(f)) p += "gg";5 ~1 a+ e5 U* O+ P( M2 @
    61.                                 else if (/^bix/.test(f)) p += "bix";. {5 S* o" Y1 q" [6 n' T
    62.                                 else if (/^[0-9]/.test(f)) p += "number";0 H2 Z( {: f; i  ~2 r$ {5 K; m
    63.                                 else p += f[0];4 ]6 L" `! Y' G  \+ ~6 f, }
    64.                                 p += '/' + f + ".wav";6 ]* W2 V! ^* M- \
    65.                         }) m9 ]! D5 ^5 M' _+ J% I. C
    66.                         var u = "http://media.merriam-webster.com/" + p;
      ) o4 w2 M* W: w
    67.                         var b = function() {- J1 q  y1 S- a4 Z. s
    68.                                 with(c.style) {$ R5 f6 s1 U5 @+ g1 J# R
    69.                                         outline = "";- H* |" ?: z, d+ ~' N$ O$ g. O
    70.                                         cursor = "pointer";
      $ Z) W% o& R+ N' y" g: h0 _/ h
    71.                                 }
      ( b4 D7 n/ I% ]% F
    72.                                 c.setAttribute("onclick", "dzp.v(this,'" + f + "')");- h4 S1 D3 G. b
    73.                         };+ N4 @3 y- j' l2 E9 h/ y# W! P# z
    74.                         var t = setTimeout(b, 2000);
      9 V' A, \( g; Z
    75.                         try {
      9 C" Z5 T- n% }/ n, q' x
    76.                                 with(document.createElement("audio")) {
      : [7 o( j+ X  I6 R# x3 `3 V$ U
    77.                                         setAttribute("src", u);- q8 K+ [# k9 o
    78.                                         onloadstart = function() {& b6 U; |) j, F3 o& e3 f% L
    79.                                                 clearTimeout(t);
      , N/ Q' I: ~; j  |$ @1 a
    80.                                         };' z. b' K( |: H6 p
    81.                                         onended = b;. t' q/ I& x% U  w
    82.                                         play();
      2 p% {3 o) ]' Q4 z$ P
    83.                                 }
      1 B! }7 `7 X6 T
    84.                         } catch (e) {) ^( E# E& y3 C- m. N
    85.                                 c.style.outline = "";
      . y) p4 q& n6 k- l
    86.                         }
      : o; t" P8 J+ v: B" z. _
    87.                 },
      ( ^. @6 U& X9 l9 V7 {0 O% ?. R
    88.                 x: function(c) {( E/ ^% c# I" l  B
    89.                         var n = c.parentNode.nextSibling;- Q* B& w" Y" \
    90.                         if (n.style.display != "none") {2 Q2 y5 p; f+ J6 X" w  [7 C
    91.                                 n.style.display = "none";
      & x5 [! d9 {/ y
    92.                                 c.style.backgroundPosition = "0 0";9 B0 z3 F+ N; d* u6 `
    93.                         } else {2 R) M1 r  G. o
    94.                                 n.style.display = "block";
      2 {' p- o+ a- U2 A5 F6 _0 }  |  V
    95.                                 c.style.backgroundPosition = "-16px 0";! D1 F- ]9 f0 d2 \# c5 X- m! x
    96.                         }
      : I2 E& t0 s2 l- B. ^* d
    97.                 },
      # j; s9 ?7 p0 f- Z' q4 z" K
    98.                 h: function(c) {4 t4 [# A# g- p1 Q
    99.                         var p = c.parentNode;
      ; V4 P' I8 P% A6 y8 a9 N# Y% p. d
    100.                         var d = p.nextSibling;
      . b& E$ a, L2 z. A/ a8 j
    101.                         var t = d.nextSibling;
      3 N4 n* y" h3 Q
    102.                         c.className = "kfh";  H+ R6 m0 K. P
    103.                         c.setAttribute("onclick", "javascript:void(0);");
      " v1 V- T, x9 ^' @' C
    104.                         var b = c.nextSibling ? c.nextSibling : c.previousSibling;; w. x4 ]3 X4 B! C( f/ g
    105.                         var j = c.nextSibling ? 1 : 0;
      1 s$ L8 J! t' J' f4 A* i. y' k
    106.                         b.className = "dt7";) A0 d% W) [( M* w1 z3 D* D
    107.                         b.setAttribute("onclick", "dzp.h(this)");) i3 ^. \# e7 h' a
    108.                         if (j) g(b, c, "#4AB0EF", "#F5F7FB");
      * e( ?9 `7 V5 O2 u
    109.                         else g(b, c, "#F48040", "#FDF9F7");
      - w! C0 o' Z* l0 _6 Q9 {
    110.                         if (t.style.display != "block") {
      2 E8 u' {9 G& H1 i# c4 ?" a
    111.                                 t.style.display = "block";! a) ~4 D" E- p: T$ ]( b
    112.                                 d.style.display = "none";' H' H  h3 G6 @) I- S4 u# Q. {/ b: h
    113.                         } else {
      % u' J" T3 b9 c  q5 u: [
    114.                                 t.style.display = "none";
      " h- D  D- R4 g9 p
    115.                                 d.style.display = "block";
      . V1 B+ D; x; j, L2 g
    116.                         }
      7 E' ^% `& i# B5 J8 ]. }) [( ^
    117.                 }
      , M. R; n" g( \4 ?* [/ ~+ w1 X
    118.         }% d, V: A7 I1 D7 f
    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, 贴主,感谢您的工具,但我用的时候出现了几个问题,希望贴主可以帮忙。  y& S4 r' _& T5 N* |$ o' w. ]. R. l& q

    9 T, f* F  t: L! r$ ?就是在合并了几本字典后,在合并词典内,词典的发音图标,和词典内的图都是打××的,请问可以怎么解决呢?2 {! X% g/ s& X; V# m  Z" _
    " a! J* Z0 j! i/ j, n8 s7 q
    我是先从原本各字典的MDX 用软件 转成 mdx源文件格式,然后再用贴主的软件合并。可是转变为 合并的mdx格式后,就出现以上情况。
    + [* T. X5 O9 r1 Y3 D: @0 X原来 各词典 的 MDD 是否也要转换呢?4 F9 w( F! F5 ~6 w) ~2 l

    0 n  D7 N6 Q  B0 w% t/ 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的每日心情
    开心
    2026-10-6 11:59
  • 签到天数: 999 天

    [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 编辑 * p3 j+ F8 h7 w0 Y& s: @& b
    7 z0 C$ }/ x: d1 _$ n' U' q
    spoiltbrat 兄:
    " O% C1 e3 l9 P& x8 g& Y+ i+ v" D. g! K8 u9 a9 ]
    軟件很強大,但不太會用, js 會報錯: f# S- ^$ z8 \% Z5 h; T5 ~
    搞了一夜真不知錯在哪
    ' n5 Z, ]6 d" O! g9 k, @0 `% \  O用IE打開經過你的程序結合成的out.htm切換都正常( P0 ^/ ?- K0 P2 y! I/ f
    怎麼經過Mdxbuilder Compiler 後就, js 會報錯- M0 o. n; }2 l- d+ @7 `: I
    能否解決
    , P0 q" p9 Y6 e' k) g& ]7 L+ m或有同好若知如何解決請指點迷津
    3 U5 S2 V7 h! l! y" R1 u
    : T4 t9 b) L: @已附上 css & js' V' Z$ Y% {. `" w7 K2 {

    7 O, Y, r5 `+ ?& z+ ~0 l: E3 X& C4 W因 mdx 和 out.htm 太大無法上傳
    - ?9 ~3 \! K6 D6 }+ c# B$ n! \( Y& X% W
    感謝萬分

    本帖子中包含更多资源

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

    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-11-5 22:35 , Processed in 0.020888 second(s), 16 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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