zoukankan      html  css  js  c++  java
  • [转]IOS5添加全局英汉字典教程,ibooks,safari内可用

    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中:
     

  • 相关阅读:
    [kuangbin带你飞]专题十六 KMP & 扩展KMP & ManacherK
    [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher J
    [kuangbin带你飞]专题十六 KMP & 扩展KMP & Manacher I
    pat 1065 A+B and C (64bit)(20 分)(大数, Java)
    pat 1069 The Black Hole of Numbers(20 分)
    pat 1077 Kuchiguse(20 分) (字典树)
    pat 1084 Broken Keyboard(20 分)
    pat 1092 To Buy or Not to Buy(20 分)
    pat 1046 Shortest Distance(20 分) (线段树)
    pat 1042 Shuffling Machine(20 分)
  • 原文地址:https://www.cnblogs.com/CCBB/p/2552977.html
Copyright © 2011-2022 走看看