如何对翻译引擎进行扩展

[复制链接]
admin 发表于 2021-6-21 01:27:48 | 显示全部楼层 |阅读模式
趣卡翻译赞助版目前支持第三方翻译器引入,可以使用Python等其他语言自行编写个人的翻译引擎。
比如你的第三方翻译器名称为:translate(windows 下会以exe文件结尾)

趣卡翻译将会通过以下方式调用:

  1. translate    "要翻译的外文文本"    语料库
复制代码

这样趣卡翻译会给你的程序传递两个变量,第一个变量为字符串"要翻译的外文文本" ,第二个变量为语料库生成的字符串

假设我们用Python来自定义上述程序,前提是你需要懂得如何安装python环境。趣卡翻译执行上述命令会给你编写的程序传递三个变量,分别为sys.argv[0],sys.argv[1],sys.argv[2]。
  • sys.argv[0] 表示翻译程序文件软件名称,默认放到安装程序下面,这个不需要参与程序编写。
  • sys.argv[1] 表示要翻译的外文文本,是接下来最常使用的变量
  • sys.argv[2] 表示你获得的语料库,这个语料库是指你在趣卡翻译配置文件中填入的语料库信息,可通过以下代码获取该语料库的词典数据,用于增强翻译,如果你不打算使用语料库,可以忽略以下代码。

  1. voc_corpus_result=sys.argv[2].replace('"', '"')
  2. result=json.loads(voc_corpus_result)
复制代码


那么,在不考虑语料库(sys.argv[2])的情况下,则具体的 translate.py文件对应的代码非常简单,如下所示:
  1. sentence=sys.argv[1]
  2. #此处可以定义执行函数为fanyi(sentence),返回值为result(表示中文翻译)。该过程具体执行你要将外文sentence翻译成中文的代码。
  3. result=fanyi(sentence)
  4. print(result)  
复制代码


然后通过以下命令将程序打包,将打包后的可执行文件放到趣卡翻译的安装目录下即可,放置完成后,则在配置页面的翻译器名称里填写translate,即可实现自定义翻译器。
  1. pyinstaller  -F  translate.py
复制代码
以上代码打包成可执行文件(windows下叫做exe文件)放到趣卡翻译软件目录下,就可以支持translate翻译,相当于两个不同的软件在通信,你自定义的软件为趣卡翻译提供额外的翻译服务

以上的translate可以统一换成你喜欢的其他名称。

我们以bing翻译为例我们从github上得到bing翻译的API接口代码,地址如下:https://github.com/neverneverendup/Translator/blob/master/Bing.py

仅需要将倒数第三行代码:
  1.     content='hello'
复制代码


改成如下即可:

  1. content=sys.argv[1]
复制代码


即可以实现上述所说的 translate.py文件的编写。