查看: 783|回复: 11
打印 上一主题 下一主题

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

[复制链接]

该用户从未签到

5

主题

37

回帖

473

积分

秀才

Rank: 3Rank: 3

积分
473

灌水大神章小蜜蜂章笑傲江湖章

跳转到指定楼层
1
发表于 2010-8-17 10:18:08 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
手上有一个韩-韩的词典,想要转换成mdx,基本上已经完成了,还剩下一个小问题,不知道有没有人能给点建议。

我现在已经把文本格式整理成:
词条
释义
</>
的形式,但其中有少数词的格式是这样的:
词条
词条的另一种写法
(词条的其他写法,如有)
释义
</>
直接转换是没有问题的,但这样一来“词条的另一种写法”就成了释义的一部分,有没有什么办法可以使之也可以直接用于检索呢?

按照https://pdawiki.com/forum/thread-4498-1-1.html这个贴子的方法尝试过将标题同义词之间的间隔符进行了定义,可惜在转换过程中有一小部分韩语中的unicode字符变成了乱码。

不知Mdxbuider能进行标题同义词的定义吗?还是说就没有别的办法了?请识者教我,多谢!

该用户从未签到

45

主题

1420

回帖

1万

积分

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

积分
10971

管理组专用章

2
发表于 2010-8-18 15:32:04 | 只看该作者
同义词要利用Redirect的功能来实现。例如A和AA的含义都是B的话写成:
A
B
</>
AA
@@@LINK=A
</>

这样在条目列表里就会出现A和AA, 点击这两个条目显示的内容都是一样的。

该用户从未签到

5

主题

37

回帖

473

积分

秀才

Rank: 3Rank: 3

积分
473

灌水大神章小蜜蜂章笑傲江湖章

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

该用户从未签到

0

主题

1160

回帖

55

积分

童生

Rank: 2

积分
55
4
发表于 2010-8-18 18:49:49 | 只看该作者
你可以用uedit32程式,就可以批量轉換了!不需要手工处理,如果你不懂程式的語法,你可以在論譠中找一找,或上傳文本,論譠中排版的高手多的是!

该用户从未签到

45

主题

1420

回帖

1万

积分

管理员

Rank: 13Rank: 13Rank: 13Rank: 13

积分
10971

管理组专用章

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

该用户从未签到

5

主题

37

回帖

473

积分

秀才

Rank: 3Rank: 3

积分
473

灌水大神章小蜜蜂章笑傲江湖章

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



&#44264; &#45348;&#53944;
        <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>
</>
&#44264; &#46972;&#51064;
        <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>
</>
&#44264; &#53413;
        <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>
</>
&#44264; &#51648;&#47476;&#45796;
&#44264;&#51012; &#51648;&#47476;&#45796;
        <p>&#44264;(&#51012;) &#51648;&#47476;&#45796;
        <p> &#48173;&#51012; &#49464; &#48264;&#51704; &#44040;&#45796;. </p>
</>
&#44264;&#44033;&#44592;
        <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>
</>
&#44264;&#44036;
        <p>&#44264;&#44036;【骨幹】</p><p>[&#47749;&#49324;]</p><p>1         = &#48904;&#45824;.</p><p>2         = &#44264;&#51088;(骨子). </p>
</>
&#44264;&#44048;
        <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>
</>

该用户从未签到

0

主题

1160

回帖

55

积分

童生

Rank: 2

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

该用户从未签到

5

主题

37

回帖

473

积分

秀才

Rank: 3Rank: 3

积分
473

灌水大神章小蜜蜂章笑傲江湖章

8
 楼主| 发表于 2010-8-19 10:03:17 | 只看该作者
a
@@@link=b
释义

这样也可以吗?如果是这样就方便了,谢谢!
  • TA的每日心情
    开心
    2018-10-17 09:01
  • 签到天数: 18 天

    [LV.4]偶尔看看III

    29

    主题

    553

    回帖

    5307

    积分

    版主

    Rank: 10Rank: 10Rank: 10

    积分
    5307

    灌水大神章小蜜蜂章笑傲江湖章管理组专用章

    9
    发表于 2010-8-19 10:38:15 | 只看该作者
    editplus 正则表达式替换
    查找 “<\/>\n([^<>]*)\n([^<>]*)\n ”
    替换为 “</>\2\n@@@link=\1\n</>\n\1\n ”
    即可

    thread-4498-1-1.html mdict编辑器暂不支持unicode字符显示

    该用户从未签到

    5

    主题

    37

    回帖

    473

    积分

    秀才

    Rank: 3Rank: 3

    积分
    473

    灌水大神章小蜜蜂章笑傲江湖章

    10
     楼主| 发表于 2010-8-19 11:49:11 | 只看该作者
    本帖最后由 wonthen 于 2010-8-19 13:07 编辑

    感谢ldcau!试验了半天,还有三点小问题:
    1.替换后生成的文本中第一个同义词直接连在前面的</>后面了,还好我自己能设法加一个换行上去。
    2.替换的文本中@@@link=应该是@@@LINK=,我也自行修改了。
    3.最要命的是,文本中还有以下这样的格式:

    A
    B
    C
    D
            E
    其中ABCD都是同义词(还有更多的同义词,最多的一处有8个),按照刚才的正则表达式替换,只有B被当作词头了,而C和D依然没有作为词头,这个问题我慢慢再想想能不能解决。总之非常感谢!

    该用户从未签到

    5

    主题

    37

    回帖

    473

    积分

    秀才

    Rank: 3Rank: 3

    积分
    473

    灌水大神章小蜜蜂章笑傲江湖章

    11
     楼主| 发表于 2010-8-19 13:23:21 | 只看该作者
    本帖最后由 wonthen 于 2010-8-19 13:35 编辑

    <\/>\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n

    </>\n\2\n@@@LINK=\1\n</>\n\1\n\3\n\4\n\5\n\6\n\7\n\8\n

    <\/>\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n

    </>\n\2\n@@@LINK=\1\n</>\n\1\n\3\n\4\n\5\n\6\n\7\n

    <\/>\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n

    </>\n\2\n@@@LINK=\1\n</>\n\1\n\3\n\4\n\5\n\6\n

    <\/>\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n

    </>\n\2\n@@@LINK=\1\n</>\n\1\n\3\n\4\n\5\n

    <\/>\n([^<>]*)\n([^<>]*)\n([^<>]*)\n([^<>]*)\n

    </>\n\2\n@@@LINK=\1\n</>\n\1\n\3\n\4\n

    <\/>\n([^<>]*)\n([^<>]*)\n([^<>]*)\n

    </>\n\2\n@@@LINK=\1\n</>\n\1\n\3\n

    <\/>\n([^<>]*)\n([^<>]*)\n

    </>\n\2\n@@@LINK=\1\n</>\n\1\n

    这样好像可以,多谢各位帮助!

    该用户从未签到

    47

    主题

    360

    回帖

    831

    积分

    举人

    Rank: 4

    积分
    831
    12
    发表于 2010-9-1 08:08:46 | 只看该作者
    本帖最后由 莲花无语 于 2010-9-7 19:20 编辑

    看看这个也长见识,同义词,我一直用链接的方法,rayman给出的更简单,谢谢了,有空儿试试。
    2010.9.7试验过了:失败
    AA
    @@@LINK=A
    </>
    没有成功,不知问题处在哪里;还是先用着链接的方法吧,这个好用:
    <a href="entry://被链接词条">显示文字</a>