亚马逊 Kindle 电子书发布指南(三)特定类型电子书指南

目录

◄ 返回本文主目录

14 创建字典
14.1 元数据指南
14.2 文本指南 – 字典条目模板
14.3 基本的字典 HTML
14.3.1 格式
14.3.2 框架元素
14.3.3 标题词索引
14.4 字典的屈折变化
14.4.1 屈折变化索引
14.4.2 完全匹配参数
14.5 用 KindleGen 创建字典
14.6 质量保证标准 – 测试 Kindle 字典
14.6.1 格式测试
14.6.2 查询测试

14 创建字典

字典是一种 Kindle 电子书(.mobi 文件),它添加了额外标签以支持搜索和查询功能。字典电子书:

  • 内置一个主索引:按英文字母顺序排列的单词或句子列表。读者只需键入单词的开头字母并选择所需的条目,就可以快速搜索此列表。
  • 标记为字典。必须正确定义字典的源语种和目标语种,以便 Kindle 设备能使用字典进行书内查询。

例如,英英字典的源语言和目标语言都是英语。法英字典的源语言是法语,目标语言是英语。要创建一本双向双语字典(例如:西班牙语-法语和法语-西班牙语字典),就必须分别创建两本电子书:一本是西班牙语-法语,另一本是法语-西班牙语。

Kindle 字典应该包含与普通 Kindle 电子书一样的全部相同组件。还应该有一个 OPF 文件和几个采用 CSS 的 HTML 文件。每本字典里应该包括:

  • 封面图片
  • 版权声明页
  • 任何相关的前页或附属资料(标志说明和附录等)
  • 字词释义(这个占文件的大头)

14.1 元数据指南

字典的 OPF 文件类似于其他 Kindle 电子书的 OPF 文件,不同的是,前者的 部分包含专门的元数据标签。OPF 文件的这些额外标签设置了字典的源语种和目标语种。字典内置多个索引时,OPF文件还会指定哪个为主查询索引。

  • <DictionaryInLanguage> 元素包含使用此字典的电子书的语种所对应的 ISO 639-1 语种代码。就西班牙语-法语字典而言,源语种为西班牙语。
  • <DictionaryOutLanguage> 元素包含字典所返回释义的语种所对应的 ISO 639-1 语种代码。就西班牙语-法语字典而言,目标语种为法语。
  • <DefaultLookupIndex> 元素指明当字典用于从另一本电子书进行查询时将首先打开的索引。如果字典具备一个以上的索引,则必须指定默认索引。OPF 文件的 <DefaultLookupIndex> 标签中包含的索引名称还应显示为字典内容的
    <idx:entry> 元素中 name 属性的值(参阅第 14.3.3 节)。

例如,对于西班牙语-法语字典,源语种代码应为 es,目标语种代码应为 fr,而主索引可能会命名为 Spanish。国家/地区代码列表如下:http://www.w3schools.com/tags/ref_language_codes.asp

示例:(双语字典元数据)

<x-metadata>
    <DictionaryInLanguage>es</DictionaryInLanguage>
    <DictionaryOutLanguage>fr</DictionaryOutLanguage>
    <DefaultLookupIndex>西班牙语</DefaultLookupIndex>
    ...
</x-metadata>

对于单语字典,相同的语言代码必须出现两次:一次用来识别源语言,别一次用来识别与目标语言相同的语言。为了识别源语言和/或目标语言的地区差异,可能会在 ISO 639-1 代码后附加一个地区后缀。例如,en-gb 表示英式英语,而 en-us 表示美式英语。

示例:(单语字典元数据,地区差异)

<x-metadata>
    <DictionaryInLanguage>en-us</DictionaryInLanguage>
    <DictionaryOutLanguage>en-us</DictionaryOutLanguage>
    <DefaultLookupIndex>标题词</DefaultLookupIndex>
    ...
</x-metadata>

14.2 文本指南 – 字典条目模板

简洁的格式最适合书内查询。为了实现优质的用户体验,亚马逊推荐以下字典内容及格式:

  • 标题词(所定义的字词)应位于条目开头,且应明显区别于周围的内容(单独一行,左对齐,加粗)。
  • 每个字典条目应包含释义(在双语字典中为译文)。
  • 各条目之间应显示水平标尺。
  • 每个字母部分应换页。
  • 应避免使用图片(请参阅第 9.4 节了解图片限制)。
  • 不应使用表格(请参阅第 9.5 节了解表格限制)。
  • 不应强制使用字体颜色、大小和字样(请参阅第 9.3 节了解文本指南)。

14.3 基本的字典 HTML

14.3.1 格式

Kindle 的字典必须采用 Mobi 7 格式,而非 KF8。鉴于此,字典版面应使用单列格式。Mobi 7 不支持多列和侧边栏。

14.3.2 框架元素

所有字典都必须具有 <mbp:frameset> 元素作为 <body> 元素的第一个子元素。此框架元素包含字典的所有 <idx:entry> 元素。

<mbp:frameset> 元素的命名空间是 xmlns:mbp="https://kindlegen.s3.amazonaws.com/AmazonKindlePublishingGuidelines.pdf",且必须在 XHTML 文档的根 <html> 元素中进行声明。

示例:

<html xmlns:math="http://exslt.org/math" xmlns:svg="http://www.w3.org/2000/svg" xmlns:tl="https://kindlegen.s3.amazonaws.com/AmazonKindlePublishingGuidelines.pdf" xmlns:saxon="http://saxon.sf.net/" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:cx="https://kindlegen.s3.amazonaws.com/AmazonKindlePublishingGuidelines.pdf" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:mbp="https://kindlegen.s3.amazonaws.com/AmazonKindlePublishingGuidelines.pdf" xmlns:mmc="https://kindlegen.s3.amazonaws.com/AmazonKindlePublishingGuidelines.pdf" xmlns:idx="https://kindlegen.s3.amazonaws.com/AmazonKindlePublishingGuidelines.pdf">
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    </head>
    <body>
        <mbp:frameset>
            <idx:entry name="english" scriptable="yes" spell="yes">
                <idx:short><a id="1"></a>
                    <idx:orth value="aardvark"><b>aard•vark</b>
                        <idx:infl>
                            <idx:iform value="aardvarks"></idx:iform>
                            <idx:iform value="aardvark’s"></idx:iform>
                            <idx:iform value="aardvarks’"></idx:iform>
                        </idx:infl>
                    </idx:orth>
                    <p> 一种撒哈拉沙漠以南非洲地区土生土长的夜间掘洞哺乳动物,仅以蚂蚁和白蚁为食。</p>
                </idx:short>
            </idx:entry>
            [...other entries…]
        </mbp:frameset>
    </body>
</html>

14.3.3 标题词索引

为了建立标题词的字母表索引,必须使用非标准 HTML 的特殊标签。源代码仍将是带有此类附加 <idx> 标记的有效 XHTML。

<idx:entry>..</idx:entry>

<idx:entry> 标签标记了将要建立索引的每个条目的范围。在字典中,每个带有释义的标题词都应置于 <idx:entry></idx:entry> 之间。任何类型的 HTML 均可置于此标签内。

<idx:entry> 标签可带有 namescriptablespell 属性。name 属性表示标题词所属的索引。name 属性的值应与 OPF 中所列默认查询索引名称相同。scriptable 属性可实现从索引访问条目。

scriptable 属性的唯一可能值为 “yes“。spell 属性可在字词查询时进行通配符搜索和拼写更正。spell 属性的唯一可能值为 “yes“。

示例:

<idx:entry name="english" scriptable="yes" spell="yes">

<idx:entry> 标签还带有 id 属性,该属性指明条目的连续 ID 编号。此编号应与用于交叉引用链接的锚
标签中的 id 属性值相匹配:

示例:

<idx:entry name="japanese" scriptable="yes" spell="yes" id="12345">
<a id="12345"></a>

条目的 ID 编号不用于书内查询;相反,需要索引进行查询的词形实体必须包含在 <idx:orth> 元素中,如以下章节所述。

<idx:orth>..</idx:orth>

<idx:orth> 标签用于分隔显示于索引列表中且可作为查询标题词搜索的标签。它是用户查找条目时可在搜索框输入的文本。

示例:

<idx:orth>索引内的条目标签</idx:orth>

以下是一个极其简单的条目示例,它可能是某本英语词典的一部分。通过该示例代码,"chair" 这个词将出现在索引列表中,且用户可以对其进行搜索。

示例:

<idx:entry>
    <idx:orth>椅子</idx:orth>
    A seat for one person, which has a back, usually four legs, and sometimes two arms.
<idx:entry>

value 属性可在 <idx:orth> 标签中用来将隐藏标签纳入条目中。此属性在采用字典标题词中常见特殊格式的情况下保持查询功能。

示例:

<idx:orth value="Hidden Label of entry in Index">显示格式</orth>

如果标题词在字典中显示时需采用表示同形异义词的数字上标、注册商标符号、分隔音节的中点或任何其他附加符号,则该特殊格式应显示于 <idx:orth> 标签之间的文本上,而不是 value 属性中的文本上。value 属性中的文本应与用于查询的形式完全匹配。如果未提供 value 属性,则 <idx:orth> 标签之间的实体将建立索引以供查询。如果中点、数字上标或任何其他符号包含于 <idx:orth> 标签之间的文本中,则无法进行书内查询,除非在 value 属性中提供带有查询形式的隐藏标签。

示例:

<idx:orth value="Amazon">A•ma•zon®<sup>3</sup></orth>

如果字典使用一个以上的正字法脚本,则 <orth> 标签上的 format 属性可用于识别每个用于建立索引的脚本。

示例:

<idx:orth format="script name">

除了这一用于字典所有条目的主标题词索引外,书内查询还要求为每个标题词采用补充的屈折变化形式索引。为了建立隐藏的屈折变化索引,附加的数据应嵌套在 <idx:orth> 标签内,如下所示。

14.4 字典的屈折变化

创建的字典应使单个根词的多个屈折变化形式均访问相同的条目。应为每个标题词提供完整的屈折变化词形列表。如果一个条目使用多个正字法,则必须为每个正字法提供单独的屈折变化。

14.4.1 屈折变化索引

要创建隐藏的屈折变化索引,屈折的词形数据应包含在 <idx:orth> 元素内嵌套的 <idx:infl><idx:iform /> 标签中。用户不可直接搜索此索引,但它会用于书内查询。

<idx:infl>..</idx:infl>

<idx:infl> 元素可能包含多个 <idx:iform /> 元素。<idx:iform /> 元素始终为空元素,且仅用于承载属性,而非可见内容。value 属性指明构成屈折变化索引的屈折形式。

示例:

<idx:orth>record
    <idx:infl>
        <idx:iform value="records" />
        <idx:iform value="recording" />
        <idx:iform value="recorded" />
    </idx:infl>
</idx:orth>

必需具备 <idx:infl> 标签、<idx:iform /> 标签和 value 属性。<idx:infl> 元素还可承载可选 inflgrp 属性以指明词性,而 <idx:iform /> 元素可承载可选 name 属性以指明屈折变化范例类别。对于大量使用屈折的语言,纳入这些可选类别会扩大屈折索引的规模,而且可能会导致字词查询变慢。

示例:

<idx:orth>record
    <idx:infl inflgrp="noun">
        <idx:iform name="plural" value="records" />
    </idx:infl>
    <idx:infl inflgrp="verb">
        <idx:iform name="present participle" value="recording" />
        <idx:iform name="past participle" value="recorded" />
        <idx:iform name="present 3ps" value="records" />
    </idx:infl>
</idx:orth>

列为 <idx:iform /> 标签属性的值对用户不可见,但它会在书内查询时提供从屈折形式重新定向至关联标题词的所需信息。为了让用户了解词性或屈折范例,应将附加文本纳入条目正文(即与释义和示例并列)。

<idx:key>..</idx:key>(不赞成)

<idx:infl> 标签一样,<idx:key> 标签用于通过备选查询词形来搜索索引中的条目。不过,在 Kindle 字典中采用 <idx:key> 标签可能导致查询功能不稳定,且有可能干扰完全匹配参数的运作(请参阅第 14.4.2 节)。因此,不赞成在 Kindle 字典中使用 <idx:key> 标签。而应该使用 <idx:infl><idx:iform /> 标签来容纳备选查询形式。

14.4.2 完全匹配参数

默认情况下,查词时 Kindle 设备使用模糊匹配算法来匹配变音符。使用对比变音符来区分不同词形的语种应在 <idx:iform /> 标签中使用 exact="yes" 属性,以便在查询时强制性地对变音符进行完全匹配。

示例:

<idx:entry name="spanish" scriptable="yes" spell="yes">
    <a id="12345"></a>
    <idx:orth value="uña"><b>uña</b>
        <idx:infl>
            <idx:iform value="uñas" exact="yes" />
        </idx:infl>
    </idx:orth>
<idx:entry>

exact 参数设置为 "yes" 可使设备强制性地将 uñas 与标题词 uña(“指甲”)匹配并禁止与 una(“一”)
匹配。

14.5 用 KindleGen 创建字典

通过命令行用 KindleGen 按照下面的语法创建字典:

kindlegen.exe [filename.opf] -c2 –verbose -dont_append_source

如果字典条目包含于非常大的单个 XHTML 文件中,则 KindleGen 可能无法创建字典。如果字典创建失败,可通过将字典内容拆分为两个或更多 XHTML 文件来解决此问题。

有关使用 KindleGen 的更多指导说明,请参阅第 2.2.1 节

14.6 质量保证标准 – 测试 Kindle 字典

14.6.1 格式测试

亚马逊建议确保对转换的字典进行适当的格式处理,以便为用户提供良好的视觉体验:

  • 请通过翻页浏览字典和阅读几条释义来检查释义的格式。(可使用 Kindle Previewer(Kindle 预览器)或任何 Kindle 设备检查字典格式,但查询测试需使用电子书阅读器设备。)
  • 检查字词中是否存在不支持的字符,是否存在断字或粘字,重音字符、符号和发音指南等是否能正确显示。
  • 确保没有错字。
  • 确保所有链接(如果有的话)都能正常使用。(链接将在书内窗口中禁用,但在字典中应能正常使用。
  • 若使用图片,确保这些图片清晰可读。
  • 确保未强制使用字体颜色和字样。

14.6.2 查询测试

亚马逊建议确保在其他电子书中使用本字典查词时能正确返回释义。此项测试只能用电子书阅读器设备(不含 Previewer)进行,因为只有电子书阅读器设备才允许用户设置默认查询字典。

  • 将字典下载到电子书阅读器设备上。为此,请将迷你 USB 连接线插入 USB 接口,将 Kindle接入您的计算机。计算机应该能够自动检测设备。在弹出的窗口中,应该可以看到一个名为“文档”的文件夹。把字典文件放入这个文件夹,然后将 Kindle 从计算机中断开。
  • 将测试字典设为默认查询字典:
    • Kindle Paperwhite:转到主页 > 菜单 > 设置 > 设备选项 > 语种和字典 > 字典 > [Source Language]
  • 查询几个单词,看看返回了什么样的定义。打开一个非本字典的标题,选择一个字词,并记下查询窗口中返回的释义。如果查询彻底失败,检查 HTML 标签是否存在错误。建议的查询字词包括:
    • 规则和不规则动词的变形
      • 示例:walk、walks、walked、walking;go、goes、went、gone、going
    • 名称、形容词、副词及其变形/词形变化
      • 示例:desk、desks;wolf、wolves;hot、hotter、hottest
    • 语言中常用的语法和发音惯例
      • 示例:contractions、elisions,带接语代词的动词
  • 检查字词典的索引视图。为此,打开字典并在搜索框中键入一个字词。此时应会出现一个按字母顺序排列的标题词列表,且该列表应会随着键入的字母进行动态更新。从索引列表中选择一个标题词应可将用户重新定向至该标题词的字典条目。

——————

第三部分内容梳理:

第三部分的内容比较多,指南根据不同功用和形式的电子书把内容细分成了 6 个小节,对特定电子书的制作的细节标准做了详细说明。从形式上可分为“流式电子书”、“固定版式电子书”、“含音视频内容的电子书”以及“字典”,从功用上看,涵盖了如小说这种包含大量文字的电子书、如少儿童读物这种少量内容但需要固定版式的电子书、包含音视频的电子书(这种只适用于 Fire 平板)以及有着特殊功用的字典。

※ 本文有分页: 123456

有帮助,分享给其他小伙伴:

发表评论

标注为 * 的是必填项。您填写的邮箱地址将会被保密。如果是在本站首次留言,审核后才能显示。
若提问,请务必描述清楚该问题的前因后果,提供尽可能多的对分析该问题有帮助的线索。