首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >创建kindle词典

创建kindle词典
EN

Stack Overflow用户
提问于 2021-11-18 10:07:55
回答 1查看 426关注 0票数 0

我正在努力创建一个Kindle字典,可以用于脱机查找。我已经有了单词和它们的变体,但是把它变成一本有用的字典是很困难的。

关于这一点,亚马逊提供了一些文档。它基本上是说你应该:

  1. 使用它们的特殊标记创建一个XHTML文件,指定所有变化等。
  2. 把它变成一个酒吧
  3. 用Kindle预览器打开它
  4. 将它与Kindle预览器一起导出到MOBI

因此,我根据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上。我试过了,但这不是一本词典。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-11-22 18:21:25

我自己想出来的。首先,我自己实现了一个解决方案,然后我找到了py词汇表库(现在,下面的代码只适用于Github的版本,而不是pip版本),并像这样使用它:

代码语言:javascript
复制
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")
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/70017931

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档