loading...

谷歌拼音的汉英词典实现

发布时间:March 31, 2010

以前写过一篇《有这样一群用户——对拼音输入法的几点思考》,里面提到了将词典整合进输入法的需求,利用谷歌拼音的扩展,可以自己动手实现一个。

个人觉得汉英词典功能的实现障碍在于交互步骤多。拼音输入法是一个从字母到中文的过程,字母->中文备选->中文,中文是输入过程的终结点,实现汉英查询,就意味着要在中文之后再加两步,输入过程变成了字母->中文备选->中文->英文备选->英文,这是对正常输入过程的干扰。流行的搜狗输入法、谷歌输入法及QQ输入法等都为用户提供了I模式、U模式等功能入口,来避免扩展功能对正常输入的干扰,所以词典功能也可依此:

启动I模式->进入汉英词典功能->输入字母->中文备选->选中中文->英文备选->选中英文

谷歌拼音的I模式只能输入字母,以上流程便不能实现,不过API里有一个特别的函数,可以返回上一次输入的内容,即是
ime.get_last_commit()
利用词函数,可以变通实现,由于需要一个庞大的词库来处理,所以代码只给出思路如下:

--录入词库table
_C2E_={
["你好"] = {"hello", "hello2"}
["世界"] = {"world", "world2"}
}
 
--定义函数,返回翻译
function c2e()
    return _C2E_[ime.get_last_commit()] --返回下标为前面输入的中文的table值
end
 
ime.register_command("fy", "c2e", "汉英翻译")

翻译的过程变成先输入一个中文,然后启动I模式的翻译功能:
字母->中文备选->中文->i模式->翻译->英文备选词->英文

英汉词典同理完成,因为词典需要版权,这大概是各大输入法没有做翻译的一个主要原因吧,腾讯已经做了词典软件,接下来真可以实现带翻译功能的输入法。

PS:如能实现请求web接口来翻译的功能更好,就可以整句翻译了,不过代价是速度。

标签: google, qq, ime, 输入法, 拼音


已有 2 条评论 »

  1. 小生愚昧,请问这是什么程式语言

    1. lua
      可以訪問www.lua.org瞭解它

添加新评论 »