http://bbs.weiphone.com/read-htm-tid-3926290.html

似乎ipad2区还没有一个关于如何增加英汉全局字典的教程,在其他区找了好久,终于弄好了,在此整理一下教程,主要还都是前人的经验(感谢Lucky_gjy的研究和萧十五的教程),希望对还没弄过的FY有所帮助。。
另外,weiphone源有21世纪英汉等词典的deb安装,但是,那个需要占用系统盘空间(具体见第三步的说明),而且我对词库并不满意,但是如果不是要求很高或者嫌麻烦的可以直接去weiphone源安装。

本教材操作存在一定的危险性,请谨慎操作。。

首先,IOS5程序内置了翻译软件,选中英文单词就会有定义选项,但默认的字典只有英英和日语等,对于大多数FY需要的英汉字典则没有,于是就需要我们自己动手丰衣足食。

系统自带效果,因为没有保留修改前的截图,所以,图片来自网络。。

这是增加英汉字典后的效果。。

好吧,现在开始,当然,前提是你的ipad得越狱喔,亲:

1、我们需要下载字典,网上字典很多,这个帖子是我找到的比较丰富的一个。
http://bbs.weiphone.com/read.php?tid=1201733&page=1
帖子内附教程,不过只是针对ibook的,在其他程序内无法使用。
个人推荐这个字典:
http://115.com/file/e6tgi87a
词库丰富,翻译精简,最主要的是能自动识别变形词,比如查"went",其他字典只会显示"go的过去式",而本词典会同时显示go,going,gone,went原型和三种变型的翻译。

2、然后,下载下来的字典需要修改info.plist文件,在<key>DCSDictionaryManufacturerName</key>之前,增加如下内容:
<key>DCSDictionaryLanguages</key>
<array>
<dict>
<key>DCSDictionaryDescriptionLanguage</key>
<string>zh</string>
<key>DCSDictionaryIndexLanguage</key>
<string>en</string>
</dict>
</array>
这段的功能是声明字典是英汉字典。

同时要找到这一句:
  <key>CFBundleIdentifier</key>
它下面会跟着一句:
<string>com.apple.dictionary.XXXX</string>
XXXX的内容根据字典不同也有所不同,记下,稍后要用到。

3、将修改后的字典导入ipad中
放的路径是/private/var/mobile/Library/Dictionaries目录,如果没有这个目录可自行建立或放在其他目录也可以,只要记住路径就好。
然后可以做一个link到/Library/Dictionaries目录下,做link的方法是:
在ifile中选择字典文件,按右下角的复制\链接,在/Library/Dictionaries目录下选择创建链接。

(原理讲解:字典文件的默认路径是/Library/Dictionaries,但这在IOS的系统盘中,IOS系统盘越狱完就剩200+MB,字典文件一个都100+MB,放不下,所以我们在用户盘中建一个文件夹放字典,采用link的方法将字典引入系统盘。)

4、修改ibooks字典索引
使用iFile进入到var/mobile/Applications里面,找到iBooks的文件夹,进入iBooks.app文件夹,找到一个叫BKDictionaryManager_LanguageToOrder.plist的文件。
(这里有个技巧,要对ifile设置一下:如下图,把那个“应用程序名称”的选项打开,否则每个应用程序文件夹的名称都有如一串密码。打开这个选项后我们就很容易找到ibook的文件夹啦。)

在文件中找到:
<dict>
  <key>en</key>
  <array>
    <string>com.apple.dictionary.NOAD</string>
    <string>com.apple.dictionary.OAWT</string>
    <string>com.apple.dictionary.AppleDictionary</string>
  </array>
在  <array>下面增加:
<string>com.apple.dictionary.XXXX</string>
XXXX就是第二步中记下的内容。

5、修改全局字典索引
找到文件\System\Library\PrivateFrameworks\DictionaryServices.framework\**.lproj\DefaultDictionaries.plist
这里的**指对应的语言文件夹,比如说你的ios使用的是简体中文为语言,则**就是zh_CN,英文是English,繁体中文则是zh_TW。
在文件中找到  
<key>DCSDefaultActiveDictionariesForiOS</key>
<array>
在下面增加字典文件完整路径:
<string>/private/var/mobile/Library/Dictionaries/****.dictionary</string>

更新内容:部分FY反映,更改zh_CN文件夹下文件后,部分英文软件下依然是英英词典,解决办法是将English文件夹下的对应文件也进行更改就可以了。。

6、 最后一步了,用ifile、ifunbox、itools或者其他什么工具中搜索ipad中所有 com.apple.DictionaryServices ,把这些文件夹中的DictionaryCache.plist都删了,这些是缓存,有以前字典设置,大胆删,系统会自动产生新的,旧的不去,新的不来。 然后重启ipad(其实Respring也可以的),搞定。
有人反映,使用ifile删除导致系统崩溃,首先建议不要用ifile进行此操作,因为ifile的搜索系统似乎有bug,如果删除搜索结果,可能删除的并不是你想删除的东西。
更新,首先说一下第六步的原理,每个程序运行时会产生一个记录字典信息的缓存文件,如果我们不删除这个缓存文件的话,下次程序运行时就会调用之前缓存文件中的字典信息,我们对字典的更改就不会生效。
每个程序的字典缓存存放在这两个目录下:
/private/var/mobile/Library/Caches/*/com.apple.DictionaryServices(系统自带软件)
/private/var/mobile/Applications/*/Caches/com.apple.DictionaryServices(安装的ipa软件)
文件名叫DictionaryCache.plist
比如safari的缓存文件地址是
/private/var/mobile/Library/Caches/com.apple.mobilesafari/com.apple.DictionaryServices/DictionaryCache.plist
如果大家只是想在safari中使用,就把这个文件删掉,重启safari软件。
这也可以作为一种快捷试验方法,当safari使用正常后,再推广到其他需要的应用程序。

异常情况处理:异常情况主要出现在第六步,大多数人在ibooks里已经能够正常使用词典了,但在safari里依然无效。
如果在safari里选中单词后没有"定义"选项,解决办法是在设置-通用-还原-还原所有设置,个人感觉此法有一定危险性,可能引起一些插件错误吧,虽然我使用此方法后没有发现异常,不过请大家谨慎操作。
如 果有"定义"选项说明词典导入正常,需要重新进行第六步,可以只删除safari的缓存文件,重启safari,打开缓存文件,看看你的字典信息有没有进 入文件中,如果没有,请检查/Library/Dictionaries目录下的link是否正常(第三步),如果字典信息出现在缓存文件中,请检 查\System\Library\PrivateFrameworks\DictionaryServices.framework\**.lproj \DefaultDictionaries.plist的修改是否正常(第五步)。

整理一下各个步骤之间的依赖关系:
对 于ibooks,打开时会读取/Library/Dictionaries(第三步)中所有词典(包括link),按照var/mobile /Applications/*/iBooks.app/BKDictionaryManager_LanguageToOrder.plist文件(第 四步)中的顺序查找词典,显示第一个找到的结果。所以的设置都是改变后重启软件既生效,所以实现比较容易。

对于其他软件,打开时会读取 DictionaryCache.plist文件(第六步)里的字典信息,如果没有DictionaryCache.plist文件(第六步),则会读取 /Library/Dictionaries(第三步)中所有词典(包括link),生成DictionaryCache.plist文件。然后根 据\System\Library\PrivateFrameworks\DictionaryServices.framework\**.lproj \DefaultDictionaries.plist文件(第五步)里的顺序查找字典,显示第一个找到的结果。

最后上效果图:
iBooks中:

safari中:

mail中:

note中:

转载于:https://www.cnblogs.com/CCBB/archive/2012/06/17/2552977.html

[转]IOS5添加全局英汉字典教程,ibooks,safari内可用相关推荐

  1. [转]为iPhone4S和iOS5增加全局英汉词典教程

    [转自http://www.app178.com/jiaocheng/iPhone/20120202/17671.html] iOS5自带了翻译软件,但是默认的词典只有英英和日语词典,没有国内最需要的 ...

  2. 英汉字典程序C语言,电子英汉字典_c语言版.doc

    PAGE PAGE 5 课程设计报告 课 题: 电子英汉字典 学 院: 电子工程与自动化 专 业: 测控技术与仪器 学生姓名: XXX 学 号: XXXXXXXXXXX 指导老师 : 陈 寿 宏 20 ...

  3. 好程序员Java分享Java案例_英汉字典

    在写代码的时候,当鼠标悬浮在某一个单词上面的时候,有道词典点有时会弹出一个消息气泡,在里面中给出关于这个单词相关的解释,下面给大家展示一个使用Java基础语言编写的英汉字典案例:      实现功能: ...

  4. 【原创】shadowebdict开发日记:基于linux的简明英汉字典(三)

    全系列目录: [原创]shadowebdict开发日记:基于linux的简明英汉字典(一) [原创]shadowebdict开发日记:基于linux的简明英汉字典(二) [原创]shadowebdic ...

  5. java 学习案例之英汉字典

    在写代码的时候,当鼠标悬浮在某一个单词上面的时候,有道词典点有时会弹出一个消息气泡,在里面中给出关于这个单词相关的解释,下面给大家展示一个使用Java基础语言编写的英汉字典案例: 实现功能: 输入英文 ...

  6. python有道字典_Python基于有道实现英汉字典功能

    本文实例讲述了Python基于有道实现英汉字典功能的方法.分享给大家供大家参考.具体如下: import re,urllib aa="http://dict.youdao.com/searc ...

  7. python制作英汉词典_Python基于有道实现英汉字典功能

    本文实例讲述了Python基于有道实现英汉字典功能的方法.分享给大家供大家参考.具体如下: import re,urllib aa="http://dict.youdao.com/searc ...

  8. 英汉字典程序C语言,分享纯C语言英汉字典源码

    近期深受开源的精神影响,并为之深深感动,想了很久,今天把我代码积累多年的一个"英汉字典"公布. 研一的时候因为无聊或者因为兴趣,做了一个纯C语言的英汉字典.核心算法是KMP快速查找 ...

  9. 英汉小字典java_java 学习案例之英汉字典

    在写代码的时候,当鼠标悬浮在某一个单词上面的时候,有道词典点有时会弹出一个消息气泡,在里面中给出关于这个单词相关的解释,下面给大家展示一个使用Java基础语言编写的英汉字典案例: 实现功能: 输入英文 ...

最新文章

  1. awk的正则表达式提取
  2. web python 维护性_Lemon-Web阶段考核(三)
  3. 【Boost】boost库中thread多线程详解11——线程的休眠和中断
  4. NGINX轻松管理10万长连接
  5. android java 调用js_android WebApp 集成方式怎么使用java调用js
  6. 修复IE下相对定位子元素溢出Bug
  7. RHEL 4 下 ISCSI Enterprise Target 的常用配置和常用操作
  8. java draw 方法调用_java,_Java,在构造器里调用多态方法,java - phpStudy
  9. 台湾台积电为华为两肋插刀,扛住压力,单日损失1426亿元
  10. 巴特沃斯(Butterworth)滤波器的设计和幅频特性曲线绘制
  11. 几何算法合集(3D)
  12. C语言赋值被截断,c语言中赋值截断
  13. 英文论文如何看?转自知乎
  14. 查看ssh和防火墙的状态 开启ssh服务 关闭防火墙
  15. Sql server日志
  16. mysql的blob字段存储中文,输出乱码
  17. 在WDCP控制面板怎么安装SSL证书
  18. R软件与RStudio安装(版本R-4.2.2)Windows10
  19. c语言一元二次方程求根代码,一元二次方程求解程序完整代码
  20. Automatic Open-World Reliability Assessment

热门文章

  1. 无处 不在的无线智能——6g 的关键驱动与研究挑战_三星电子发布6G白皮书 网友:先把5G弄明白...
  2. taobao.logistics.consign.order.createandsend( 创建订单并发货 )
  3. c语言 函数教学反思,函数的概念教学反思范文
  4. 深入理解物联网三大难点:(一)业务需求
  5. 微信小程序,ios上日期转时间戳出现的问题
  6. js中的两种定时器setTimeout()和setInterval()怎么用
  7. CIKM Competition数据挖掘竞赛夺冠算法陈运文
  8. Python入门4.1 程序分支结构 | 实例:身体质量指数
  9. CodeForces 1253C Sweets Eating
  10. FullCalendar 日历插件