我正在寻找免费的翻译词典。 Freedict(freedict.org)提供了我需要的但我不知道如何解析* .index和* .dict文件。我也不知道谷歌要找到有关这些格式的有用信息。
* .index文件如下所示:
00databasealphabet QdGI l
00databasedictfmt1121 B b
00databaseinfo c 5o
00databaseshort 6E u
00databaseurl 6y c
00databaseutf8 A B
a BHO M
a bad risc BHa u
a bag of nerves BII 2
[...]
和* .dict文件:
[Lot of info stuff]
German-English FreeDict Dictionary ver. 0.3.4
Pipi machen /piːpiːmaxən/
to pee; to piss
(Aktien) zusammenlegen /aktsiːəntsuːzamənleːgən/
to merge (with)
[...]
我很高兴看到一些示例项目(最好是在python中,但java,c,c ++也可以),以了解如何处理这些文件。
答案 0 :(得分:2)
为时已晚。但是,我希望它对像我这样的人有用。
JGoerzen写了一个Dictdlib lib。你可以看到他解析.index和.dict文件的更多细节。 https://github.com/jgoerzen/dictdlib/blob/master/dictdlib.py
答案 1 :(得分:0)
dictd将其.index和.dict [.dz]的格式视为 private ,以保留将来更改它的权利。
如果您想直接处理它,索引包含 headwords ,而.dict [.dz]包含 definitions 。它可选地使用特殊的修改gzip算法进行压缩,提供几乎随机的访问,gzip通常不会这样做。索引每行包含3列,分隔符:
有关详细信息,请参阅您在研究中找到的dict(8) man page(数据库格式部分),然后再提出问题。要正确处理词条,您必须考虑编码和字符整理。
最终使用现有的库来读取dictd数据库会更好。但这真的取决于图书馆是否良好(没有经验)。
最后,正如您自己所说,XML完全是为了便于处理而制作的。您可以使用XPath提取词条和翻译,省略所有语法内容,无需费心解析任何内容。
到目前为止,下一个问题是不同语言中的单词之间没有一对一的映射...