让kindle连续从不同词典取词

标签: Sharing Kindle 字典 | 发表时间:2011-10-30 08:17 | 作者:scomper Paladin
出处:http://irising.me

推友Yaodis在奋战13小时后,实现了在 kindle 上“同时”使用1本以上词典,可以从不同词典连续取词。以下是他的研究’成果’,有疑问和更多想法可以在twitter上和他继续交流和探讨。

起因

在拥有 kindle 之前,我一直使用手机上的 mobipocket 来阅读 mobi 格式的文件(mobipocket 公司后被 Amazon 收购,有了基于 mobi 的 azw 亚马逊专用格式文件)。手机里安装了不止一部词典,比如我平常的使用习惯是先看英英词典(比如我最喜欢的collins cobuild dictionary)再看双解词典,蛋疼的时候还会再看一下韦氏这样的母语者使用词典。取词时 mobipocket 会通过一个多选框来选择要使用的词典,所以在手机上多词典同时使用完全没有问题。现在到了 kindle 了,我发现她只能同时查一部设定为主词典的词典,起初,我无所谓,less is more,这样我花在词典上的时间会少了阅读就会多了,但后来,一方面我有时真的不是很清楚英英解释的意思,另一方面,我看到了这个帖子——

If you select a word with the cursor in your kindle- the translation pops up. Then if you press enter you get to the dictionary. And now if I select a word within my dictionary- the definition from another dictionary pops up.

这的确是一种达到目的的方法,如果可行的话

准备

stehk的这种方法成功的前提是什么?

1. 先来看看 kindle 是如何管理多本多语言词典的使用的

  • 如果你有多本相同语言的词典,那么被设置为主词典的词典会被在取词中使用(这我们都知道)
  • 如果你有多本不同语言的词典,比如法语和英语,那么在法语书籍中,法语词典将被使用(假设你的 kindle 里只装了一本法语词典)无论主词典被如何设置
2. 其次需要了解 mobi 文件(以及其相近格式 prc,azw)中是有含有语言信息的。对于同样是 mobi 词典,其语言信息稍有差别,词典的语言信息(其实就是“地区语言”)基础上多了“输入语言”和“输出语言”这两个语言信息项。
  • 地区语言决定文件的内容是用什么语言写成的
  • 输入语言是决定取词和查询时使用的语言
  • 输出语言是词典解释项使用的语言
知道了上面两点你是不是对接下来的实施有了大概的猜测
是的,正是按照stehk所说那样,我翻译下中文——把主词典(比如英英的 collins cobuild dictionary)的地区语言换成法语,把另一本词典(比如牛津双解词典)的输入语言换成法语(还可以无限连续下去,比如把牛津双解地区语言换成德语,再整本韦氏搞成德语的输入)
就可以实现连续取词了来达到“同时”使用1本以上词典的目的。

实现

这里我先不打算用stehk说的几个工具来实现,先通过PoP所说的十六进制编辑来实现,我认为这是简单干净的方法
下面就按上面列举的词典来示范
1. 下载一个十六进制编辑器,我使用的是XVI32
2. 打开collins词典,参照这篇wiki了解要修改的语言信息项在什么地方——我们要修改的语言信息位于 mobi 文件 header 里 offset 92,96,100。我也不知道什么是 offset ,但有个相对值,就是从 offset 16 开始,第76个项就是 offset 92了。offset 16 通过字符 MOBI 确定
  • 在十六进制编辑器中查找 MOBI(注意会有 BOOKMOBI 这个结果,不是它)
  • 利用编辑器的跳转功能(跳转距设置成76)
  • collins 是英英的,会看到连续的 00 00 00 09 00 00 00 09 00 00 00 09 这段以4个为一组的三组数据,这三组数据依次就是 local ,input language ,output language (1个十六进制数4个bit 组成,8bit=1Byte ,所以4Bytes就是00 00 00 09这8个十六进制数)
3.修改头4Bytes大小的信息,也就是 local 这一项。00 00 00 09 这个十六制进数中09是英语的Locale ID,Locale ID是微软搞的一个约定[link] ,可以看到所有英语都是以09结尾的,09前两位位是方言,比如en-US是0409。法语是0c结尾
  • 现在修改00 00 00 09 至 00 00 00 0c ,collins 这部主词典就修改好了
4.修改牛津双解,local ,output language 可以不用动,把 input language 修改成 00 00 00 0c
至此可以在 collins 中取词的牛津双解做好了,还想继续接火车的话,把牛津的 local 改成德语,把韦氏的 input 也改成德语就行了
5. 传进 kindle 里看看效果吧

扩展

  • 对于书,上面所说的 input language 和 output language 都是 0
  • 也可以用 mobi2mobi 这个小工具来修改且只能修改 local 项(可能目前他的开发者没意识到词典的特殊性)
  • 按照stehk说的用 mobiPatch 可以修改 input 项,但我实际操作后,再用十六进制查看发现input, output 均未变。mobiPatch 的作者说他是通过20个左右的十六进制数 FF 来确定语言信息项的[via],不是通过字符“MOBI”,而且是 at three different offsets ,但用他的软件的确也成功了,可能他的软件修改的是另外一个地方,有谁知道确定答案了请告诉我
  • 用 calibre 编辑元数据在十六进制中查看三个语言信息均无变化,这也是我疑惑的地方

转载文章  来自:blog.yaodis.tk

ajax loader

相关文章:

  1. Send to kindle的圈子模式
  2. Kindle3 固件升级到 3.3的福利
  3. Kindle3入手折腾日记

相关 [kindle 连续 词典] 推荐:

让kindle连续从不同词典取词

- Paladin - Page to Page
推友Yaodis在奋战13小时后,实现了在 kindle 上“同时”使用1本以上词典,可以从不同词典连续取词. 以下是他的研究’成果’,有疑问和更多想法可以在twitter上和他继续交流和探讨. 在拥有 kindle 之前,我一直使用手机上的 mobipocket 来阅读 mobi 格式的文件(mobipocket 公司后被 Amazon 收购,有了基于 mobi 的 azw 亚马逊专用格式文件).

新款 Kindle 和 Kindle Keyboard

- Shphi - A.shun Blog
昨天 Amazon 大爆发,发布了 Kindle Fire 平板和三款新的阅读器,Kindle Touch、Kindle Touch 3G 和一款非触摸的新款 Kindle. 于是有了 Kindle Keyboard,我 5 月初入手的 Kindle 3,则变成了 Kindle Keyboard 3G.

kindle 相关

- - A Geek's Page
上周末在淘宝上拍了一个 Kindle DXG,今天终于拿到手了. 买之前做了大量的功课,经过了N次纠结之后最终敲定买 DXG. 一是因为,我个人认为看书嘛,屏幕好一点儿很重要,DX 系列是大屏幕;二是,我感觉 WIFI 可有可无,我又没打算拿它当 fire 用,而且自带的 3G 是免费的. 所以最后选择了 Kindle DXG.

最特别的 Kindle

- Yibie - #ifanrlive
Glenn 是一位电气工程师,他的姐姐是一位脑瘫患者. 为了让姐姐能在 Kindle 上读书,Glenn 为姐姐改装了下图的 Kindle,他为 Kindle 增加了五向键,让姐姐能够方便地翻页看书. Glenn 将它命名为 Frankenkindle.

kindle touch简单说

- - GeoWHY
好吧,最右边的是kindle3,去年买的,后来送丫头,给她在国外看书用了. 最左边的是kindle4,小巴童鞋的,中间那个是我的,kindle touch. touch是99刀,托人从国外带回来,所以很便宜,630块而已,感觉上比kindle3小很多,盈盈可握,倒是蛮适合女孩子用的(领导你拿去用吧,把kindle3换给我就好).

Kindle Fire有点慌

- - Tech2IPO
亚马逊的平板掌上阅读器Kindle Fire的早期用户们开始发现他们担心的事情正成为现实:Kindle Fire根本不能称为掌上电脑. 这些早期用户逐渐体会到了这款产品的不便之处:触摸屏反应不是很灵敏,浏览器访问多个网站时会很慢,硬件缺陷让他们束手无策. 对亚马逊公司而言,这款设备被寄予了极高的期望.

亚马逊发表 Kindle Fire、Kindle Touch 及更便宜的 Kindle 电子阅读器

- Valen - Engadget 中国版
就在亚马逊即将发表 Kindle 接班人的时候,Bloomberg 竟然偷步透露了所有资料:这台貌似 PlayBook 的7 吋电子阅读器果然名为 Kindle Fire(上图右),并计划于 11 月中以 US$199 (CN¥1,270)推出,现已接受预订. 对一台备有1GHz 双核心 TI OMAP4 处理器、1,024 x 600 触控 IPS LCD 屏幕、Gorilla Glass 及 8GB 储存空间的 Andr​​oid 平板来说,这个售价是挺不错的.

Amazon 發表 Kindle Fire、Kindle Touch 及更便宜的 Kindle 電子閱讀器

- 沒有暱稱 - Engadget 中文版
就在 Amazon 即將發表 Kindle 接班人的時候,Bloomberg 竟然偷步透露了所有資料:這台貌似 PlayBook 的 7 吋電子閱讀器果然名為 Kindle Fire(上圖右),並計劃於 11 月中以 US$199(NT$6,060 / HK$1,550)推出,現已接受預訂. 對一台備有 1GHz 雙核心 TI OMAP4 處理器、1,024 x 600 觸控 IPS LCD 螢幕、Gorilla Glass 及 8GB 儲存空間的 Android 平板來說,這個售價是挺不錯的.

这货还是Kindle吗?

- altrixe - Solrex Shuffling
自从大家了解到 Kindle 的系统是 Linux 后,无数仁人志士前赴后继地尝试以各种方式 hack 这个系统,对于我等用户来说真是一大幸事. 好久没有跟进电纸书论坛,居然不知道神器 FBReader Kindle 版 —— fbKindle 的发布. mobileread 网站的原帖中,已经给出了安装和配置修改方法.

Kindle 书籍资源整理

- UchihaLively - Nooidea.com | 装傻充愣
接下来的半年这个世界变化的速度或许是你无法想像的:二月底,摩托罗拉会推出XOOM平板(Android 3.0). 接着四月是iPad 2,五月底Android平板大军压境 HTC、Samgsung、Acer、ASUS,然后是 HP TouchPad(夏天),或许秋天还有iPad3. 这才三月不过半,马上iPad 2就开卖了,没有太多惊喜.