我正在努力创建一个Kindle字典,可以用于脱机查找。我已经有了单词和它们的变体,但是把它变成一本有用的字典是很困难的。
关于这一点,亚马逊提供了一些文档。它基本上是说你应该:
因此,我根据Amazon规范创建了一个大型XHTML文件(大约23 MB ),并在Kindle预览器中打开它,它看起来很好。但是,Kindle预览器不允许您将XHTML文件导出到MOBI。他们希望您创建一个中间的epub文件。
我试着使用Pandoc来进行转换,因为它去掉了所有特定的HTML标记,只保留在段落中,因此无法工作。然后我试着用口径。根据一条错误消息,由于XHTML文件太大,正常的XHTML转换失败。如果您遇到这个错误(我试过了,但在运行了几个小时后还没有运行完),Calibre建议打开“启发式模式”。
然后,我尝试使用从本教程获取的示例文件,自己创建epub文件。我发现这并不简单,使用耻骨进行的检查显示我生成的文件中有许多难以理解的错误。epub文件的生成也有点复杂,因为您可能需要将XHTML文件拆分成许多较小的文件,这些文件的大小应该是250 kb,因为电子阅读器往往很难解析更大的文件。
所以我想也许应该有一个更简单的方法来做这件事,或者是一个图书馆来帮助做这件事。也许将单词+转换输出到其他更简单的字典格式,然后使用现有的库将其转换为MOBI并完全排除XHTML生成可能是个好主意。目前我正在使用Python,但如果有必要,我也会使用其他语言。我能试试什么?
编辑:为了增加我尝试过的东西:有一个显然是封闭的源代码脚本这里,不幸的是它不支持拐点,所以不起作用。还有一些说明,这里建议使用Mobi袖珍Creator将文件转换到中国,然后用Kindle预览器打开它。这种方法的问题在于Kindle预览器会抛出错误:
Kindle预览器不支持此文件,该文件要么是使用旧版本的KindleGen创建的,要么是使用第三方应用程序创建的。我们建议直接使用EPUB或DOCX格式在Kindle上预览和出版您的书。
还有更详细的说明移动口袋创造者这里,这告诉你直接移动生成的.prc文件到kindle上。我试过了,但这不是一本词典。
发布于 2021-11-22 18:21:25
我自己想出来的。首先,我自己实现了一个解决方案,然后我找到了py词汇表库(现在,下面的代码只适用于Github的版本,而不是pip版本),并像这样使用它:
from pyglossary.glossary import Glossary
Glossary.init()
glos = Glossary()
defiFormat = "h"
base_forms = get_base_forms()
for canonical_form in base_forms:
inflections = get_inflections(canonical_form)
definitions = get_definition(canonical_form)
definitionhtml = ""
for definition in definitions:
definitionhtml += "<p>" + gloss + "</p>"
all_forms = [canonical_form]
all_forms.extend(inflections)
glos.addEntryObj(glos.newEntry(all_forms, glosshtml, defiFormat))
glos.setInfo("title", "Russian-English Dictionary")
glos.setInfo("author", "Vuizur")
glos.sourceLangName = "Russian"
glos.targetLangName = "English"
glos.write("test.mobi", format="Mobi", keep=True, kindlegen_path="path/to/kindlegen.exe")https://stackoverflow.com/questions/70017931
复制相似问题