Codejie's C++ Space

Using C++

LingosHook:Lingoes生词本第十四版

    第十四版(v1.1.000)主要改进了LingosHook处理HTML的机制,使其可以摆脱特定词典的限制。期间折腾了很久,也被折磨了很久,现在终于可以Release了。。。泪流满面啊。。。下载链接在这里,Source Code在这里。
    废话不多说了,直接上图解说新变化了!(呃,实际外观变化很少,折磨我的都是各位看不见的代码部分。想起哪些昏暗的夜晚,DictObject、TinyHtmlParser、SpecialDictObject等等等等,又一次刺激了我脆弱的指尖。。。)

     先上两种张图做个对比,以显示此次的变化所在。



 
     第一张图是单词'data'的原始HTML数据显示。通过截图可以看出至少显示了四种词典的结果,按照顺序分别是'Langdao','Vicon','Concise'和'Longman'词典。再看第二张图,此图中对于'data'结果只显示了三种词典的结果--'Vicon','Langdao'和'Concise',且显示顺序也和第一张不同了。
    是的,这就是此版本的最新功能--可以分解和存储HTML数据中的词典信息,并可按照自定义的显示参数(包括是否显示和显示顺序)进行HTML结果的展现。
    另一个功能是此版本可以提取HTML数据中所有词典的‘相关单词’数据了,比如第一张图中显示了,当查询单词'data'时,'Data','Datum'都是和'data'相关的单词,现在都可以从HTML结果中被提取出来,并列举在左侧的Index中了。看下图,你可以知道,在German中,'Informationsmaterial'和'data'是有相同意思的,这个结果是在查询单词'data'时,来自'Funset Deutsch2Chinese'词典(Yu Hui同学使用的词典)的。


 
 ‘Setting’页面变化最大,和HTML相关的配置这次都或多或少地被改动了,请参看下图。
 

 
     A部分配置项不再能配置了,也就是说这些配置是系统必须的参数了(下次可能直接就隐藏不可见了,这次留着是来说明变化的。。);
     B部分配置项用于设置所需的‘解析’过程;
        'Ignore Dictionary Analysis Error':当根据特定词典(特指Vicon、Langdao、Fundset词典)解析发生错误时,忽略错误,直接保存HTML数据;
        'Skip Dictionary Analysis Process':跳过指定词典解析过程;
        'Skip HTML Data Analysis Process':跳过对HTML中词典数据的解析过程;
    LingosHook的默认配置是支持特定词典解析的,对于多数不使用这些词典的各位,可以选择跳过此过程,即开启这里第二个选项。如果打算跳过HTML中词典数据的解析过程(第三个选项),即直接保存原始HTML数据,那会有一个副作用,就是不认识的单词也会由于'Lingoes结果窗口的弹出'而被记录下来,这个还没有想好怎么解决。
 
    C部分配置用于配置词典HTML数据显示参数,包括是否显示及其显示顺序,点击'Dictionary Choice'按钮将显示具体配置对话框,如下图所示。


 
    点击词典名称左侧图标用于配置是否显示指定词典结果(我知道大图标不好看,但我实在没有办法显示小图标,修改了两天都没有成功,只能先放弃了。。),列表右下侧的按钮用于设置词典结果显示顺序;
    其下三个选项分别为(如我所说,E文不好,看不懂的麻烦参考下面C文意思。。。):
        'Show the Selected Dictionary Result Only':仅显示指定词典结果,即如果HTML数据中如果不包括所指定词典结果,在HTML窗口中将没有任何显示;
        'Show HTML Data Result While the Selected Dictionary Result is Empty':当指定词典的结果为空时,显示原始HTML数据;
        'Show HTML Data Result Directly':直接显示原始HTML数据;
  
  
    由于此版本在HTML数据处理想变化较多,也增加了几个新的表,因此建议删除原有的LingosHook文件,即LingosHook应用程序目录下的LingosHook.db3文件;当然也可以不删除,但已有的单词由于没有相应的HTML词典数据,将无法使用上面这个自定义显示HTML结果功能。
    就这些,本来计划去掉特定词典(Vicon、Langdao、Fundset)解析过程的,因为有了上面针对HTML中词典数据的分解功能,特定词典似乎也没有存在的必要性了,但后来想想还是留下了,一来特定词典的解析结果可以做更深一步的分析使用,且其显示也相对清晰和集中,二来,也是主要的,这个功能是LingosHook建立的初始目标,如果这就删除了,对不起指尖磨掉的哪些细胞啊。。。。



<---- 测试分割线---->
    今天测试了一下Online词典,表现不佳,不知是网络延迟问题(我在下载《超人正义联盟》,卡通片。。。),还是LingosHook对Online词典解析有误,只能提取词典名称,不能提取数据内容,很是郁闷,这个要再看看了~

posted on 2010-07-07 23:23 codejie 阅读(1770) 评论(4)  编辑 收藏 引用 所属分类: 轮子精神LingosHook

评论

# re: LingosHook:Lingoes生词本第十四版 2010-07-09 08:47 David Wilson

@codejie

辛苦了!

新版本占楼.....  回复  更多评论   

# re: LingosHook:Lingoes生词本第十四版 2010-07-09 16:15 codejie

@David Wilson
辛苦捧场了。。。  回复  更多评论   

# re: LingosHook:Lingoes生词本第十四版 2010-07-10 14:41 马佳

你好,我装上了以后,HTML部分显示的是乱码呢?不知道这是为何呢?  回复  更多评论   

# re: LingosHook:Lingoes生词本第十四版[未登录] 2010-07-10 22:10 codejie

@马佳
抱歉啊,乱码问题还是有的,多数情况是在同一页面中有两种编码时,容易出现乱码,这个问题我还没有搞定。这里建议在HTML页面上点击右键,设置编码为Unicode试试。  回复  更多评论   


只有注册用户登录后才能发表评论。
网站导航: 博客园   IT新闻   BlogJava   知识库   博问   管理


公告

Using C++

导航

统计

留言簿(73)

随笔分类(513)

积分与排名

最新评论

阅读排行榜

评论排行榜