查看: 711|回复: 10
打印 上一主题 下一主题

[求助] 关于mdict词库格式的两个问题 求助!!

[复制链接]

该用户从未签到

44

主题

411

回帖

1987

积分

禁止发言

积分
1987

灌水大神章

跳转到指定楼层
1
发表于 2009-4-30 11:58:14 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
1.mdict词库支不支持相Babylon格式的那样同义词查询?同义词之间用|分开。
比如
good|well|best
n. 好; 慷慨的行为; 好事<br>adj. 好的, 上等的, 优良的
这样不论查good还是well或是best都会出现:n. 好; 慷慨的行为; 好事<br>adj. 好的, 上等的, 优良的
mdict如果想用这种格式的话应该怎么办?

2.如像下面的格式文件,如何将像1【action】,2【move】这些点击时跳到当前页面下面相应的解释地方呢?是不是可以用正则表达式呢?应该怎么表达?
1【action】
2【move】

3【remove】
4【time/money/effort etc】
5【accept】
6【hold something】
7【travel】
8【study】
[Date: 1000-1100; Language: Old Norse; Origin: taka]
【ACTION】 [T]
used with a noun instead of using a verb to describe an action. For example, if you take a walk, you walk somewhere
 Would you like to take a look?
take a picture/photograph/photo
 Would you mind taking a photo of us together?
【MOVE】 [T]
to move or go with someone or something from one place to another
bring take sb/sth to/into etc sth
 
see usage note bring see usage note direct 2
【REMOVE】 [T]
to remove something from a place
take sth off/from etc sth
 

该用户从未签到

45

主题

1420

回帖

1万

积分

管理员

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

积分
10971

管理组专用章

2
发表于 2009-4-30 13:52:00 | 只看该作者
原帖由 pdawiki 于 2009-4-30 11:58 发表
1.mdict词库支不支持相Babylon格式的那样同义词查询?同义词之间用|分开。
比如
good|well|best
n. 好; 慷慨的行为; 好事adj. 好的, 上等的, 优良的
这样不论查good还是well或是best都会出现:n. 好; 慷慨的行为 ...

同义词这个需要用内部重定向, 方法如下:
内部重定向(内容链接):
1) 当两个关键字所指向的内容是一样的时候,可以采取重定向的方式来达到"链接"的效果。内部重定向的格式为:
@@@LINK=关键字
例如color 和 colour 都指向相同的内容,制作词典时可以正常编写color词条,但对于colour词条,可以写成:
colour
@@@LINK=color
</>
当显示colour条目的内容时,程序会自动找到color的内容进行显示,链接是可以多重嵌套的。
2)当重复的内容是数据文件时,同样可以采用内部重定向的方式解决冗余问题,只是改为将链接文件的内容设置为:
@@@LINK=目标文件名全路径  (注意编码方式必须是UTF-16)
例如abc.spx和123.spx的内容是一样的时候,123.spx的内容可以设置为:
@@@LINK=\abc.spx

第二个是页内跳转,格式是:
<a href="entry://#section">section_name</a>
其中key是关键字,section是对应关键字页面中的section名称,即 <a name="section">section_name</a>
看一下MdxBuilder中的demo.txt就知道了。

该用户从未签到

44

主题

411

回帖

1987

积分

禁止发言

积分
1987

灌水大神章

3
 楼主| 发表于 2009-4-30 15:29:43 | 只看该作者
谢谢rayman!
不过还是不是很明白。
我是想做成   https://pdawiki.com/forum/thread-359-1-1.html   这里的那样。
比如说查”take  1, verb“,有很多解释1【action】
2【move】
3【remove】
4【time/money/effort etc】
5【accept】
6【hold something】
7【travel】
8【study】
9【test】
10【suitable】
11【collect】
12【consider】
13【feelings】
14【control】
15【medicine/drugs】
16 do you take sugar/milk?
17【level】
18【measure】
19【numbers】
20【money】
21 somebody can take it or leave it
22 take somebody/something (for example)
23【teach】
24【write】
25 take somebody out of themselves
26 take a lot out of you/take it out of you
27 take it upon/on yourself to do something
28 take something to bits/pieces
29 be taken with/by something
30 be taken ill/sick
31【sex】
32 take a bend/fence/corner etc
33【have an effect】
当点击某一个意思的时候,就会跳到相应的解释区。比如点击5【accept】的时候就会跳到
[T] to accept or choose something that is offered, suggested, or given to you
· Will you take the job?
· Do you take American Express?
· If you take my advice , you'll see a doctor.
· Our helpline takes 3.5 million calls (=telephone calls) a year.
· Some doctors are unwilling to take new patients without a referral.
· Liz found his criticisms hard to take .
.....
等等。不过不知道这种跳转方式,在源文件中应该怎么表示?
求高手帮忙!

先上传一个小部分。

如果用正则表达式应该怎么表示呢?

[ 本帖最后由 pdawiki 于 2009-4-30 15:42 编辑 ]

take 1, verb.zip

9.12 KB, 下载次数: 2, 下载积分: 米 -5 粒

该用户从未签到

45

主题

1420

回帖

1万

积分

管理员

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

积分
10971

管理组专用章

4
发表于 2009-4-30 23:01:43 | 只看该作者
例如允许点击的地方写成 <a href="entry://#accept_anchor">5 accept</a>
在下面要跳转到得地方的开始之处加入 <a name="accept_anchor"></a>
  • TA的每日心情
    开心
    2021-2-5 15:40
  • 签到天数: 6 天

    [LV.2]偶尔看看I

    8

    主题

    223

    回帖

    1746

    积分

    解元

    Rank: 5Rank: 5

    积分
    1746

    灌水大神章

    5
    发表于 2009-4-30 23:09:50 | 只看该作者
    原帖由 rayman 于 2009-4-30 23:01 发表
    例如允许点击的地方写成 5 accept
    在下面要跳转到得地方的开始之处加入  


    这个工作量很大呀,有什么办法自动添加呢?

    该用户从未签到

    14

    主题

    112

    回帖

    1032

    积分

    解元

    Rank: 5Rank: 5

    积分
    1032
    6
    发表于 2009-5-1 00:24:10 | 只看该作者
    用正则自动添加也要先选取要链接的单词吧,否则电脑也不知道你哪些地方要进行超级链接.
    觉得工作量大就直接用Mdict3.0版本的lookup功能啊,这正是Mdict的优势啊

    该用户从未签到

    44

    主题

    411

    回帖

    1987

    积分

    禁止发言

    积分
    1987

    灌水大神章

    7
     楼主| 发表于 2009-5-1 00:58:45 | 只看该作者
    原帖由 54john 于 2009-4-30 23:09 发表


    这个工作量很大呀,有什么办法自动添加呢?

    就是啊,有没有好一点的方法呢?
      https://pdawiki.com/forum/thread-359-1-1.html  
    不过上面链接里面的朗文词典,已经做到了这点。但是不知道怎么做到的?想看看源文件,但不能用mdxexport反编译,没办法看。
    郁闷中.....:L

    该用户从未签到

    44

    主题

    411

    回帖

    1987

    积分

    禁止发言

    积分
    1987

    灌水大神章

    8
     楼主| 发表于 2009-5-1 01:04:02 | 只看该作者
    原帖由 tchon 于 2009-5-1 00:24 发表
    用正则自动添加也要先选取要链接的单词吧,否则电脑也不知道你哪些地方要进行超级链接.
    觉得工作量大就直接用Mdict3.0版本的lookup功能啊,这正是Mdict的优势啊


    pc版有lookup吗?是不是就是选中单词后出现的lookup啊?但是用这个会直接查选中的内容,而不会跳转到该解释区。

    该用户从未签到

    14

    主题

    112

    回帖

    1032

    积分

    解元

    Rank: 5Rank: 5

    积分
    1032
    9
    发表于 2009-5-1 20:18:07 | 只看该作者
    原帖由 pdawiki 于 2009-5-1 01:04 发表


    pc版有lookup吗?是不是就是选中单词后出现的lookup啊?但是用这个会直接查选中的内容,而不会跳转到该解释区。
    对不起,我之前没看清楚.lookup功能的确不能在同一条词内进行跳转.
    朗文词典内的同一词条内的跳转就是利用Raymond在二楼所说的页内跳转语法的.
    想查看一个词条的源文件,很简单,只需用鼠标右击右窗口(词条解释),在弹出的菜单中选择[查看源文件]即可.

    该用户从未签到

    44

    主题

    411

    回帖

    1987

    积分

    禁止发言

    积分
    1987

    灌水大神章

    10
     楼主| 发表于 2009-5-1 20:40:24 | 只看该作者
    原帖由 tchon 于 2009-5-1 20:18 发表
    对不起,我之前没看清楚.lookup功能的确不能在同一条词内进行跳转.
    朗文词典内的同一词条内的跳转就是利用Raymond在二楼所说的页内跳转语法的.
    想查看一个词条的源文件,很简单,只需用鼠标右击右窗口(词条解释),在弹 ...

    谢谢!
    的确可以查看源文件,真的是按照rayman说的语法表示的。
    不过这个活人工一个个做的话,工作量浩大。不知道有没有可以让计算机完成的方法?

    该用户从未签到

    45

    主题

    1420

    回帖

    1万

    积分

    管理员

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

    积分
    10971

    管理组专用章

    11
    发表于 2009-5-1 21:46:50 | 只看该作者
    估计要写程序来做针对性的转换了。