起因见 在编写将 wiktionary dumps 转为词典文件的开源工具
今天下午写了下,在我的简单例子下暂且实现了。
为了简化,目前:
-
去掉了排序,似乎没有必要?排序的话会很难实现 (确实和 liwenyi777 说的一样,去掉排序后 GoldenDict Desktop 以外的 APP 无法正常查询,考虑把排序加上)
- 去掉了编码参数,只留了 UTF-8,添加别的编码支持也不难
- 去掉了设置密码,也不打算支持
- 去掉了 1.2 版本,不清楚会造成什么兼容问题,添加也不难
- 只有一个大 block,不清楚词条多了数据大了会怎么样,不过支持多个 blocks 也不是很难改
欢迎讨论
3 Likes
wiktionary 格式比较丰富,stardict 似乎不足以表现?
stardict支持xdxf和html,内容存储是纯文本,js、css、音频、图片在GoldenDict Desktop也是支持的。它的dict后缀(纯文本)可以进行dzip压缩,zip64资源包在GD PC还未支持(GD mobile曲线支持)。stardict开源,支持的设备还是比较多的,但支持html格式的软件极少。mdict格式的话,楼主可以参照wikit这个项目,因为楼主帖子中mdx去掉排序去掉加密,估计只有GoldenDict Desktop能支持了,除非另外再写这个壳词典客户端。
2 Likes
果然如此,欧路上没排序的 mdx 查词几乎是不可用状态
姑且加了个临时文件,只把 key 和偏移放在内存里(如果 Python 的 list 没有什么奇怪的内存布局,那么 en wiktionary 的这些 key 和偏移大概需要 100MB 内存),最后通过 seek 来简单实现排序写入,未来再优化了 
1 Like