为 Kobo Glo 添加英汉词典

本文记录在 Kobo Glo 原生系统 nickel 下添加英汉词典,系统版本为4.18.x。其他版本的 Kobo 应该也适用,因没有相应设备,故无法测试。

Kobo 在4.x版本虽然提供了面向繁体中文(台湾/香港)的中文支持,但自带的字典库中并未提供中文支持。

一种作弊的方法是在 Kobo 中下载一个用不上的小语种词典,然后将该词典文件替换为自己想要支持的字典文件。

下面记录通过补丁新增任意字典文件的过程。

  1. 下载对应使用的 Kobo 固件版本补丁压缩包如kobopatch_4.18.13737.zip并解压;

    下载地址:Release v55 · geek1011/kobopatch-patches · Github

  2. 下载对应使用的 Kobo 固件版本更新压缩包(不要解压)如kobo-update-4.18.13737.zip

    下载地址:Kobo Firmware Downloads

  3. 将固件版本压缩包kobo-update-4.18.13737.zip添加至已解压的补丁文件夹中的src文件夹中如kobopatch_4.18.13737\src

  4. 修改补丁文件夹中src文件夹下的配置文件libnickel.so.1.0.0.yaml,开启使用外部字典的设置:

    (注:该字段位于配置文件的1109行。当然有兴趣的话也可以看看配置文件中的其他选项,有许多有意思的设定,比如旋转屏幕,去除 Kobo 原生系统中的某些菜单等等,这里就不介绍了)

    1
    2
    3
    4
    5
    6
    7
    8
    Allow searches on Extra dictionaries:
    - Enabled: yes
    ## To allow searches on Extra dictionaries change space character at en d of
    ## "Extra: " to another char (ex: "Extra:_")
    ## The space char causes a non-desired "English - English" when searchi ng on
    ## Extra dictionary from main menu.
    - FindBaseAddressString: "\0Extra:\x20"
    - ReplaceString: {Offset: 7, Find: "\x20", Replace: "_"}
  5. 运行补丁文件夹中的kobopatch.bat(Windows)/kobopatch.sh(Linux)文件;

    (注:本人仅试了 Windows 环境下的配置)

  6. 在补丁文件夹的out文件夹中看到生成了一个KoboRoot.tgz文件;

  7. 连接 Kobo 设备,将上一步生成的 KoboRoot.tgz文件复制到KoboReader\.kobo目录下;

  8. 下载所需语言的字典文件;

    下载地址:Index of Custom Dictionaries for Kobo eReader - MobileRead Forums

    (英汉字典该目录中仅有英-汉繁:dicthtml-en-cn.zip)

  9. 将该压缩包命名为dicthtml-cn.zip;(连接符后面的后缀用于后面的设定,也可以使用其他的)

  10. 将上一步的压缩包复制到KoboReader\.kobo\dict目录下;

  11. 修改KoboReader\.kobo\Kobo目录下的文件Kobo eReader.conf,找到[ApplicationPreferences]部分,添加:

    (如果你使用了其他后缀,就将cn改成相应的后缀名,如果有多个字典,则使用逗号分隔开)

    1
    ExtraLocales=cn
  12. 修改数据文件KoboReader\.kobo\KoboReader.sqlite,在Dictionary表中插入一条记录:

Suffix Name Installed Size LastModified IsSynced
-cn Extra:cn English - 中文 True 2704845 True

关于该记录的说明:

  • Suffix:你使用的后缀名,也就是字典文件去掉dicthtml的部分

  • Name:该名字会出现在你选择字典的时候识别是哪个字典,前缀必须为Extra:xxxx是你使用的后缀名,后面可以自定义,如果使用字典时查找失败,你的 Kobo 将会使用 English - English来代替这个名字;

  • Size:使用属性查看大小

    如果你不知道如何使用 SQL 插入该记录,或者你没有可以打开该文件的软件工具,可以下载 SQLite 进行图形化配置或者使用SQL语句进行插入;

    如果你不想下载软件,可以使用在线的编辑器导入该文件图形化添加记录后再下载替换;(在线编辑器:sqlonline)

13.断开连接并等待设备更新完毕后字典即可使用。

参考资料