为什么要自己写一个翻译

自己去实现一个翻译引擎这太难了,一是没有这么多语料,二是没有这个技术能力,但是我可以调用几家翻译平台的 API,在体验上进行优化,我做的这个事情是完全解决我自己和我身边人的需求,我准备写完后,开源给大家用。

相比百度、腾讯、Google 网页的翻译,我主要优化了如下几个点。

  1. 没有长度限制,你可以上传任意长度的文本,翻译完成后,会自动拼接起来。
  2. 批量翻译,你可以上传多一个文件,以 zip 包的方式,我会自动解压,然后把每一个文件都翻译完成后,再把翻译结果打包成一个 zip 包,这样就可以节省你的时间。
  3. 多个翻译结果同时对比,你可以选择多个翻译平台,然后比较翻译结果,这样就可以看到哪个翻译结果更好。
  4. 支持图片到图片的翻译,比如电商场景下,可以把中文的图片翻译成英文的图片。

Read more

百度翻译为什么不好用

机器翻译是我每天必不可少的工具,因为要批量翻译一些资料,在各个翻译引擎的页面上翻译,太慢了,所以我自己买了三家的翻译(google, baidu, tencent) api ,在调用 API 的过程中,发现百度翻译在使用体验上是最差的,他会删除换行的格式,删除自己翻译不了的特殊字符,我同时也把这些问题反馈给了百度翻译,因为我也在百度工作过,希望他们做的更好。

不保留原有格式

这一点百度做的非常不好,比如我要翻译的原文如下,在腾讯翻译、Google 翻译里面,翻译的结果里面是保留了原文的换行,只有百度翻译,他是自动把多个换行符变成了一个,所以你一看就能看出来,格式没了,我试了一下百度的 api,也是同样的效果,不会保留换行符,我猜他是把换行符当作分段来翻译,如果遇到一个换行符,没有别的内容,只有一个换行符,他直接给你删除了。

原文

Here, s is the original or given string, old is the string that you want to replace. new is the which replaces the old, and n is the number of times the old replaced.

Note: If old is empty, it matches at the beginning of the string and after each UTF-8 sequence, yielding up to k+1 replacements for a k-rune string. If n < 0, there is no limit on the number of replacements.

Example 1:
202111251mYT3z

百度的翻译结果

可以清楚的看到,百度的翻译结果没有了格式,多行变成了一行,非常难看。

20211125plo1i0

Read more