Android Studio国际化多语言String文件一键翻译插件

需求

之前产品也提过这方面的需求,说每次翻译都要手动一次次的复制,然后翻译再复制回来,不仅容易出错,还麻烦。

找现成的

之前也搜索过相关文章,但是一方面很多都是不更新了,另一方面之前也没弄过插件开发,虽然比较感兴趣,但是bug太多一直没空。
今天好不容易有点时间了,就顺便把这个弄一弄。

1. 百度搜一下
作为cv工程师,肯定不会自己从头写的,能用现成的就用现成的。
发现了一篇文章,AndroidLocalizationer 支持百度翻译,这位老哥也基于同样的问题自己找开源的改了改,我看下面评论有的说没效果,有的说空指针啥的,然后我去看了下他的github BaiduTranslationInternationalization,感觉接近我的需求了。
但是一方面他这个也有两三年没更新了,评论也反应了一些问题,要解决还是得看看源码;另一方面我们产品喜欢用google翻译,他觉得百度翻译不太准,这位老哥好像只对百度翻译改动了,不知道google翻译有没有同步更新。

2. github

各位小伙伴如果想在Android项目中支持多国语言,大部分会使用到一个国际化插件AndroidLocalizationer,这插件提供了微软和Google翻译

上面这位老哥提到了AndroidLocalizationer这个开源项目,我也在他的github上找到了对应的链接
AndroidLocalizationer
不过看了看也有四年没更新了。
再github搜索了一下这个项目名,发现了wujushan/AndroidLocalizationer这个项目,两年多以前更新的,算是这几个项目里面最新的了。

所以就准备试试这个项目吧。

自己动

本来想用现成的,结果发现这个项目使用百度翻译会报错,54003,google翻译也不是使用的最新的api。
于是fork过来自己改,零零散散的花了半天时间终于弄好了,把google翻译和百度翻译(剩下那个微软的就没弄,懒得弄)都按照最新的官方文档进行了更新。

然后自己测试了一下,暂时没发现啥问题。如果大家遇到啥问题,欢迎大家提issue。

github地址

AndroidLocalizationer

代码的事,哪能没有bug是吧。

我也就简单的测试了一下,如果遇到什么问题,欢迎大家提issue。

使用说明

  1. 本地安装插件

    AndroidLocalizationer
    下载后解压出 AndroidLocalizationer.jar文件,再如下图进行安装
    Android Studio国际化多语言String文件一键翻译插件

  2. 然后申请对应翻译的key填入设置

    2.1 申请
    包含google和百度两种翻译,目前百度翻译是基本版免费,google也有免费的额度,但是google的翻译弄起来比较麻烦。

    百度:申请百度翻译api

    google:google翻译(基本版)快速入门

    2.2 设置key
    Android Studio国际化多语言String文件一键翻译插件

  3. 选中string.xml右键选中"Convert to other languages",选择对应的语言,点击就可以生成了

更新日志

V0.0.3

  1. 根据百度翻译最新文档接入百度翻译

    通用翻译API接入文档

  2. 为什么我的请求会返回54003?

    54003表示请求频率超限,请降低您的请求频率。

    对于标准版服务,您的QPS(每秒请求量)=1,如需更大频率,请先进行身份认证,认证通过后可切换为高级版(适用于个人,QPS=10)或尊享版(适用于企业,QPS=100)

V0.0.2

  1. 根据google翻译最新文档接入google翻译

    翻译文本(基本版)

    创建API **

    启用api