掌上百科 - PDAWIKI

 找回密码
 免费注册

QQ登录

只需一步,快速开始

查看: 1140|回复: 11

[求助] 请教一个mdict制作上的问题

[复制链接]

该用户从未签到

发表于 2010-8-17 10:18:08 | 显示全部楼层 |阅读模式
手上有一个韩-韩的词典,想要转换成mdx,基本上已经完成了,还剩下一个小问题,不知道有没有人能给点建议。
( v' T* H) J4 o. L' t' @1 s
9 W0 Z1 {7 _* T6 g6 \" r. {& I9 I我现在已经把文本格式整理成:
/ C& H$ w" H" O# x: p5 r词条1 C* l+ T: {3 l  V9 I, R2 Q  x
释义
' \7 K& r5 q) m% e( x' k</>. y' M, b; n0 J) v3 `* B" g1 o3 I
的形式,但其中有少数词的格式是这样的:7 m" z- Q; j( B' E
词条
' M# b! ]# o5 g9 @1 ?  m0 G/ C" P词条的另一种写法+ ^. T0 ^5 d* d2 J  S2 n4 o9 P
(词条的其他写法,如有)* g, P* b" s. v6 H
释义
3 ?& }6 U% s9 ?  o, ^</>) K3 Y  |; i( f0 g: K2 i
直接转换是没有问题的,但这样一来“词条的另一种写法”就成了释义的一部分,有没有什么办法可以使之也可以直接用于检索呢?% w& W! t& |  }# Y2 ~0 `9 T: Z! \

: x0 J7 m4 Z* Q" c按照https://pdawiki.com/forum/thread-4498-1-1.html这个贴子的方法尝试过将标题同义词之间的间隔符进行了定义,可惜在转换过程中有一小部分韩语中的unicode字符变成了乱码。' g' O* y3 y2 E1 X
' t& D8 l/ _& ^' y
不知Mdxbuider能进行标题同义词的定义吗?还是说就没有别的办法了?请识者教我,多谢!

该用户从未签到

发表于 2010-8-18 15:32:04 | 显示全部楼层
同义词要利用Redirect的功能来实现。例如A和AA的含义都是B的话写成:2 I5 U* q' X3 e- b% X; P" ~
A
4 k  }  K$ @" j& G; }B
/ w) {  J  g) D7 C2 i</>* Z: a( S5 G# h) T# ]( Z7 A7 Y- y
AA
% k6 x! S! D6 i6 a@@@LINK=A% }5 b0 O) p% _) U+ f& c
</>
% u3 i- B& D+ l* D5 L# Y, Q* @
5 Z6 Z8 b& l/ k$ s: w2 E7 y这样在条目列表里就会出现A和AA, 点击这两个条目显示的内容都是一样的。

该用户从未签到

 楼主| 发表于 2010-8-18 16:53:03 | 显示全部楼层
谢谢Rayman亲自回答,不过这个词典收词27万,还有11000个同义词,手工处理恐怕是不行的了,昨天晚上用UWSC处理了一晚上,大约处理了1000多条,打算放弃了。如果mdxbuilder能对标题同义词之间的间隔符进行定义自动生成就好了。

该用户从未签到

发表于 2010-8-18 18:49:49 | 显示全部楼层
你可以用uedit32程式,就可以批量轉換了!不需要手工处理,如果你不懂程式的語法,你可以在論譠中找一找,或上傳文本,論譠中排版的高手多的是!

该用户从未签到

发表于 2010-8-18 20:41:04 | 显示全部楼层
如果你的词典原来就有固定格式,那应该可以借助正则表达式替换来实现批量修改的。

该用户从未签到

 楼主| 发表于 2010-8-19 09:21:57 | 显示全部楼层
论坛上传附件有512K限制,我这个文档有47兆,要压90个包,就不上传了,而且我还是希望能够得到“渔”而不仅仅是“鱼”,所以还是请高手指教下应该怎么做。我前期的处理都是在uedit下做的,现在得到的文本,下面是部分示例,每个词的释义由换行+tab开始,请注意第四个词,第二行没有tab开头,是同义词,第三行其实是将两种同义词的写法归纳一遍,也可以算作释义的一部分,删去也不影响。第四行才是真正的释义。正则表达式我是不太明白,给各位添麻烦了,多谢!
: Q2 r6 K1 C; y3 X
' f+ Q7 D1 x% S1 f# `4 u9 h# \, h7 K

% J( ?  B9 P3 h% [* P8 t&#44264; &#45348;&#53944;$ t# O9 b3 C; |4 |; M; f8 l7 ^. \+ Q
        <p>&#44264; &#45348;&#53944;</p><p> [&#44264;:-] (&#50689;&#50612;goal net)</p><p>[&#47749;&#49324;]</p><p>《&#52404;&#50977;》 &#52629;&#44396;, &#54616;&#53412; &#46384;&#50948;&#51032; &#44221;&#44592;&#51109;&#51032; &#44264;&#45824; &#46244;&#50640; &#52828; &#44536;&#47932;. </p>
% m) O9 M$ S& J9 u: R0 h</>8 V" C/ P: i1 F8 t) u; n; S. U, j* `
&#44264; &#46972;&#51064;
$ }- z) A: V9 Q! D        <p>&#44264; &#46972;&#51064;</p><p> [&#44264;:-] (&#50689;&#50612;goal lI ne)</p><p>[&#47749;&#49324;]</p><p>《&#52404;&#50977;》</p><p>1         = &#44208;&#49849;&#49440;(決勝線).</p><p>2         &#52629;&#44396;&#45208; &#54616;&#53412; &#46321;&#51032; &#44221;&#44592;&#51109;&#50640; &#44264;&#51032; &#46160; &#44592;&#46181;&#51012; &#51060;&#51008; &#49440;. </p>, t0 j' O( @; l2 d) L
</>
( x5 R5 C1 ^2 M0 v) `1 w8 {! S&#44264; &#53413;
1 B7 L" [3 f: b        <p>&#44264; &#53413;</p><p> [&#44264;:-] (&#50689;&#50612;goal kI ck)</p><p>[&#47749;&#49324;]</p><p>《&#52404;&#50977;》</p><p>1         &#52629;&#44396;&#50640;&#49436;, &#49345;&#45824;&#48169;&#51060; &#44264; &#46972;&#51064; &#48150;&#51004;&#47196; &#52264;&#45240; &#44277;&#51012; &#51088;&#44592;&#54200; &#44264; &#50640;&#50612;&#47532;&#50612;&#50640; &#44032;&#51256;&#45796; &#45459;&#44256; &#52264;&#45716; &#51068;.</p><p>2         &#47085;&#48708;&#50640;&#49436;, &#53944;&#46972;&#51060;&#47484; &#54620; &#46244;&#45208; &#46608;&#45716; &#44264;&#45824;&#50752; &#44032;&#44620;&#50868; &#44275;&#44620;&#51648; &#44277;&#44201;&#54616;&#50688;&#51012; &#46412; &#46301;&#51216;&#54616;&#44592; &#50948;&#54644; &#52264;&#45716; &#51068;. </p>
) P% e/ n$ d  P( B/ p' N. @</>
$ x, p, T7 b) m4 L: ^7 L! Y&#44264; &#51648;&#47476;&#45796;) V  _6 ]/ p$ e
&#44264;&#51012; &#51648;&#47476;&#45796;
. C- ~; h: n+ P: I& S7 L        <p>&#44264;(&#51012;) &#51648;&#47476;&#45796;1 ]2 e7 L( X. C' N; E) X
        <p> &#48173;&#51012; &#49464; &#48264;&#51704; &#44040;&#45796;. </p>8 N6 ~9 ]  y+ N0 m9 e2 W! R, F
</>/ j6 O  Z% p  y& G+ n
&#44264;&#44033;&#44592;
! E  O  y/ G6 ]        <p>&#44264;&#44033;-&#44592;【骨角器】</p><p> [-&#45180;]</p><p>[&#47749;&#49324;]</p><p>《&#44256;&#44256;&#54617;》 &#49437;&#44592;&#49884;&#45824;&#50640; &#46041;&#47932;&#51032; &#48904;, &#49108;, &#51060;&#48744; &#44057;&#51008; &#44163;&#51004;&#47196; &#47564;&#46304; &#50672;&#51109;. &#46020;&#45180;, &#52285;, &#54876;&#44256;&#51088;, &#45210;&#49884;, &#48148;&#45720; &#46384;&#50948;&#44032; &#51080;&#45796;. [&#52280;&#44256;] &#44264;&#44592;. &#44033;&#44592;. </p>
8 n! M% I+ x7 ~  P3 j5 E</>
! {/ V& n1 a8 s: g&#44264;&#44036;0 g' Q. v4 l. T2 f$ P) i$ b# x
        <p>&#44264;&#44036;【骨幹】</p><p>[&#47749;&#49324;]</p><p>1         = &#48904;&#45824;.</p><p>2         = &#44264;&#51088;(骨子). </p>
. D$ t( ^& M3 J3 v6 Z* ^+ H% N</>  q" W0 C; y! u4 z- U
&#44264;&#44048;" y, M7 N2 e) n! C; v6 i4 P
        <p>&#44264;-&#44048;</p><p> [&#44264;:-]</p><p>[&#47749;&#49324;]</p><p>《&#49885;&#47932;》 &#44867;&#51088;&#47532;&#50640;&#49436; &#44845;&#51648; &#51901;&#51004;&#47196; &#45348; &#44040;&#47000;&#51032; &#44264;&#51060; &#51256; &#51080;&#45716; &#44048;. </p>
$ N8 r8 L* |8 M) w% K</>

该用户从未签到

发表于 2010-8-19 09:41:02 | 显示全部楼层
我看过你的排版,但我不懂韩语,我想所有没有tab的韩语应该是第二个解释吧?如果是的话就容易决了,使用正则表达式就可以在没有tab的前端加一个@@@link=的符号!

该用户从未签到

 楼主| 发表于 2010-8-19 10:03:17 | 显示全部楼层
a
! p# E& w4 U# L+ R/ t3 L@@@link=b, J: h/ Y  a. o3 A* T) P7 @  U
释义
$ d* {. n; h: c/ p# K0 r' d* e' k! \& M- v" Q% S4 b
这样也可以吗?如果是这样就方便了,谢谢!
  • TA的每日心情
    开心
    2018-10-17 09:01
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    发表于 2010-8-19 10:38:15 | 显示全部楼层
    editplus 正则表达式替换
    $ s$ A+ m  e5 q/ R% q* J) K  p查找 “<\/>\n([^<>]*)\n([^<>]*)\n ”! E' F. ~1 e. C* F- d
    替换为 “</>\2\n@@@link=\1\n</>\n\1\n ”% K+ D' @! i6 ]# @- f
    即可" R, ]8 @. P' V" K5 i& G" f

    * \  k/ u0 C9 f$ o5 j/ W$ ?0 }* A; Lthread-4498-1-1.html mdict编辑器暂不支持unicode字符显示

    该用户从未签到

     楼主| 发表于 2010-8-19 11:49:11 | 显示全部楼层
    本帖最后由 wonthen 于 2010-8-19 13:07 编辑
    # O+ W! I& z1 P. ^4 U( `/ |# t" m7 M- V+ v5 d
    感谢ldcau!试验了半天,还有三点小问题:
    3 a* t& h. b( u4 t% @$ `* B1.替换后生成的文本中第一个同义词直接连在前面的</>后面了,还好我自己能设法加一个换行上去。
    ( j  o  j4 g& i9 y9 M2.替换的文本中@@@link=应该是@@@LINK=,我也自行修改了。
      K5 O5 t( a' J1 J. J3.最要命的是,文本中还有以下这样的格式:
    5 r  W: r. s7 G* M+ _- f9 s6 V2 j( D% w/ T; r+ j$ u! g
    A5 k# [: ?) e( k
    B; ?0 @' z( c8 |, R1 v% d
    C. R6 Z& Y: d  i, H
    D
    3 z- h, b& r# r  W        E  P1 b2 }! v3 Z) Q
    其中ABCD都是同义词(还有更多的同义词,最多的一处有8个),按照刚才的正则表达式替换,只有B被当作词头了,而C和D依然没有作为词头,这个问题我慢慢再想想能不能解决。总之非常感谢!

    该用户从未签到

     楼主| 发表于 2010-8-19 13:23:21 | 显示全部楼层
    本帖最后由 wonthen 于 2010-8-19 13:35 编辑
    " \' _! ?" i  J4 E; t. s
    $ t" ]( o6 h/ d<\/>\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n+ a3 `) u5 f0 `& D' @

    % M0 h8 d, _2 P: N& O( }6 P</>\n\2\n@@@LINK=\1\n</>\n\1\n\3\n\4\n\5\n\6\n\7\n\8\n3 d+ v& Q+ P2 K  u3 ~. j( D% q* _
    2 F' C+ Z* {1 b: J* O
    <\/>\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n
    ) f5 ^/ Y) V% V5 c
    ) M8 F4 E& C( J9 {</>\n\2\n@@@LINK=\1\n</>\n\1\n\3\n\4\n\5\n\6\n\7\n
    $ o& U8 O; T$ t& p1 n# I- n  D5 ^$ b" d- z6 b" n6 ^& g: K( Y
    <\/>\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n4 A4 U5 Z6 I/ ~5 y3 V2 Q
    7 ^; K$ S0 Z$ x& o/ e
    </>\n\2\n@@@LINK=\1\n</>\n\1\n\3\n\4\n\5\n\6\n0 A9 U4 Q# s. b' B$ e7 }

    , k# V7 ?, o5 a1 @# ]% T8 h<\/>\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n. b! \! q+ k& V+ f- ^8 r7 }) \1 r
    " ]+ s+ t7 B/ L( D. B1 I8 w, U" Y
    </>\n\2\n@@@LINK=\1\n</>\n\1\n\3\n\4\n\5\n* u3 g. L# ]4 _
      U$ V! n, `. G8 `6 q  ^
    <\/>\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n
    8 ^+ r. F& Q) K0 @' a/ {2 |) j( x( p
    3 `+ U$ f5 t1 G7 Z0 u5 Q; |# a/ k5 ^* E$ u</>\n\2\n@@@LINK=\1\n</>\n\1\n\3\n\4\n$ s0 T; o' z! S$ w0 u6 c
    ' n& ?& @+ Q7 B  A" {, }
    <\/>\n([^<>]*)\n([^<>]*)\n([^<>]*)\n& D4 Y6 F$ _- l3 |! R! c1 l
    2 [( Y  I5 g6 |3 \/ b; U
    </>\n\2\n@@@LINK=\1\n</>\n\1\n\3\n
    3 g7 S! F8 Y' O( }" d5 }
    / _7 Z' ^) N: p/ b* T  _; E' t; t4 u<\/>\n([^<>]*)\n([^<>]*)\n, m  n  T0 U! n1 N. S1 f- x
    6 b5 i; y  w* V  a  V' [
    </>\n\2\n@@@LINK=\1\n</>\n\1\n
    & ]3 I" o: Z9 Q- Y! n: l4 L
    : x: A9 N; F3 E/ W这样好像可以,多谢各位帮助!

    该用户从未签到

    发表于 2010-9-1 08:08:46 | 显示全部楼层
    本帖最后由 莲花无语 于 2010-9-7 19:20 编辑 : u  x. b% Y. c: g* A4 Z' r. {
    & @9 ~9 O+ m; M7 f! [7 W
    看看这个也长见识,同义词,我一直用链接的方法,rayman给出的更简单,谢谢了,有空儿试试。  _& I: {( s2 ?# n  K
    2010.9.7试验过了:失败
    : g- D0 Z8 O* Z9 o; vAA
    6 X" i9 H; y5 R& W" r* d@@@LINK=A) v( v6 y" t* N% ~0 T, h
    </>
    / x/ K$ t8 B/ a7 Y/ y* {8 x% ]0 ]没有成功,不知问题处在哪里;还是先用着链接的方法吧,这个好用:8 _0 B3 S  h2 o9 W$ b0 @  ^0 V: o
    <a href="entry://被链接词条">显示文字</a>
    您需要登录后才可以回帖 登录 | 免费注册

    本版积分规则

    小黑屋|手机版|Archiver|PDAWIKI |网站地图

    GMT+8, 2025-7-9 05:54 , Processed in 0.030310 second(s), 26 queries .

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

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