3个版本 (稳定)
2.0.0 | 2021年7月19日 |
---|---|
1.0.0 | 2021年4月18日 |
0.99.1 | 2021年4月18日 |
#1420 在 文本处理
每月157 次下载
在 2 个Crate中使用(通过 autoruby)
88KB
1.5K SLoC
警告:数据库文件的许可
编译到Crate中的数据库文件是根据创意共享许可从电子词典研究与发展集团许可的。直接或间接链接到此Crate的应用程序必须显示适当的版权声明。请参阅EDRDG的许可声明以获取详细信息。
rust-jmdict
jmdict
Crate包含了来自JMDict文件的数据,这是一本关于日语的综合多语言词典。原始的JMDict文件包含在本存储库中(因此,也包含在本Crate的版本中),以XML格式提供。本Crate不是直接将XML放入二进制文件中,而是解析编译时的XML,生成优化表示,并将其包含在最终的二进制文件中。
简而言之,本Crate做以下几件事情
- 解析JMdict数据库文件的XML结构
- 提供一个API来访问其条目
- 提供编译时标志(通过Cargo功能),以选择二进制文件中包含的信息量
本Crate不提供
- 数据库中的快速查找。您将获得一个条目列表,然后您可以根据应用程序的要求构建自己的索引。
有关特定示例,请参阅docs.rs上的文档。
构建
当打包到crates.io时,我们无法包含实际的有效负载数据(data/entrypack.json
),因为crates.io对每个Crate的限制为10 MiB。(技术上,我们可以通过依赖一系列略小于10 MiB的数据Crate来发送数据,但我打算成为一个好公民,并且不无谓地滥用crates.io的共享基础设施。)
因此,默认策略是在构建时从Crate所有者控制的服务器中获取entrypack(JMdict内容的预处理形式),目前是https://dl.xyrillian.de/jmdict/。每个发布的Crate版本将硬编码其代码中最新的entrypack(截至发布时),并附带一个SHA-256校验和,以确保数据完整性。
如果在构建时无法下载entrypack(例如,因为构建机器没有互联网访问,或者因为构建机器上没有安装curl
),请提前下载entrypack并将其路径放入在运行cargo build
时设置的RUST_JMDICT_ENTRYPACK
环境变量中。
出于开发目的,当从仓库构建时,将使用data/entrypack.json
。如果不希望这样做,请将RUST_JMDICT_ENTRYPACK
的值设置为default
以强制执行正常的下载行为。
贡献
如果您计划提出问题或编写代码,请查看CONTRIBUTING.md。
依赖项
~165KB