当前时区 GMT+8, 现在时间是 2008-9-7 15:16 游客: 注册 登录 仅登录论坛 | 搜索 帮助


标题: 怎样为stardict做一个新的字典?
knoppix
注册会员
Rank: 2


UID 8896
精华 1
积分 208
帖子 82
阅读权限 20
注册 2002-12-21
来自 China
状态 离线
发表于 2006-3-13 16:33  资料  短消息  加为好友 
怎样为stardict做一个新的字典?

怎样为stardict做一个新的字典?
有这方面的文档和工具吗?

顶部
knoppix
注册会员
Rank: 2


UID 8896
精华 1
积分 208
帖子 82
阅读权限 20
注册 2002-12-21
来自 China
状态 离线
发表于 2006-3-14 10:54  资料  短消息  加为好友 
看了好像没法直接为stardict做新字典,需要先做dictd的字典,然后再转成stardict的字典?
不过我还是没有做成功。
网上也没搜到相关的文档。

顶部
knoppix
注册会员
Rank: 2


UID 8896
精华 1
积分 208
帖子 82
阅读权限 20
注册 2002-12-21
来自 China
状态 离线
发表于 2006-3-15 12:47  资料  短消息  加为好友 
我写了一个测试的字典文件mydic.jargon:
[code:1]
:00-database-short: mydic
:00-database-info: mydic

:aaa: aaaaaaaa
:bbb: bbbbbbbb
[/code:1]

并且编写了一个Makefile:
[code:1]
dictname=mydic

$(dictname).dict $(dictname).index: $(dictname).jargon Makefile
        dictfmt --locale zh_CN.UTF-8 --allchars -j --headword-separator %%% $(dictname) < $(dictname).jargon

install: $(dictname).dict $(dictname).index
        dictzip $(dictname).dict
        cp $(dictname).dict.dz $(dictname).index /usr/lib/dict/
        /etc/init.d/dictd restart

DICTD2DIC=/usr/share/stardict/tools/dictd2dic
stardict_prefix = dictd_www.freedict.de_

$(stardict_prefix)$(dirname).idx.gz $(stardict_prefix)$(dirname).dict.dz dictd2dic.out: $(dictname).dict $(dictname).index $(dictname).idxhead
        $(DICTD2DIC) $(dictname) >dictd2dic.out

$(stardict_prefix)$(dictname).ifo: \
        wordcount=$(word 2, $(shell tail -n1 dictd2dic.out))

$(stardict_prefix)$(dictname).ifo: \
        idxfilesize=$(strip $(shell zcat $(stardict_prefix)$(dictname).idx.gz | wc -c))

$(stardict_prefix)$(dictname).ifo: $(stardict_prefix)$(dictname).idx.gz \
        dictd2dic.out
        @echo "StarDict's dict ifo file" > $@
        @echo "version=2.4.2" >> $@
        @echo "wordcount=$(wordcount)" >> $@
        @echo "idxfilesize=$(idxfilesize)" >> $@
        @echo "bookname=$(dictname)" >> $@
        @echo "author=He Jian" >> $@

stardict: $(stardict_prefix)$(dictname).ifo
        cp $(stardict_prefix)$(dictname).idx.gz $(stardict_prefix)$(dictname).dict.dz $(stardict_prefix)$(dictname).ifo /usr/share/stardict/dic/
[/code:1]

现在能产生dictd的字典,用dict看没有任何问题。
也能产生stardict的字典,但stardict在使用我的这个字典时找不到词?

顶部
 


Powered by Discuz! 5.5.0  © 2001-2007 Comsenz Inc.
清除 Cookies - 联系我们 - 中国Linux公社 - WAP