我正在尝试创建一个可用于离线查找的 Kindle 词典。我已经有了单词和它们的变形,但是把它变成一本有效的字典是很困难的。
亚马逊提供了一些关于此的文档。它基本上说你应该:
- 创建一个带有特殊标记的 XHTML 文件,指定所有变形等。
- 把它变成一个epub
- 用 Kindle Previewer 打开它
- 使用 Kindle Previewer 将其导出到 MOBI
所以我根据亚马逊的规范创建了一个大的 XHTML 文件(23 MB 左右)并在 Kindle Previewer 中打开它,它看起来很好。但是,Kindle Previewer 不允许您将 XHTML 文件导出到 MOBI。他们希望您创建一个中间 epub 文件。
我尝试使用 Pandoc 进行转换,但没有成功,因为它去除了所有特定的 HTML 标记,只保留在段落中。然后我尝试使用口径。根据错误消息,由于 XHTML 文件太大,正常的 XHTML -> epub 转换失败。如果遇到此错误,Calibre 建议打开“启发式模式”,我尝试过,但运行数小时后仍未完成运行。
然后我尝试使用从本教程中获取的示例文件自己创建 epub 文件。我发现这不是微不足道的,使用epubcheck的检查在我生成的文件中发现了许多难以理解的错误。epub 文件的生成也有点复杂,因为您可能需要将 XHTML 文件拆分为许多较小的文件,这些文件的大小应该是 250 kb,因为电子阅读器往往难以解析较大的文件。
所以我认为应该有一种更简单的方法来做到这一点,或者可能有一个图书馆可以帮助做到这一点。也许将单词 + 变形输出到其他更简单的字典格式,然后使用现有库将其转换为 MOBI 并完全省略 XHTML 生成,这甚至是一个好主意。目前我正在使用 Python,但如果有必要,我也会使用其他语言。我可以尝试什么?
编辑:添加到我尝试过的东西:这里有一个显然是封闭源代码的脚本,不幸的是它不支持变形,所以不起作用。这里有说明建议使用 Mobipocket Creator 将文件转换为 PRC,然后使用 Kindle Previewer 打开它。这种方法的问题是 Kindle Previewer 会抛出错误:
Kindle Previewer 不支持此文件,该文件是使用旧版 KindleGen 或第三方应用程序创建的。我们建议直接使用 EPUB 或 DOCX 格式在 Kindle 上预览和发布您的图书。
Mobipocket Creator这里也有更详细的说明,告诉你直接将生成的 .prc 文件移动到 kindle 上。我试过了,但它没有被识别为字典。