某个项目里面的代码里面有一部分中文字符串,现在需要这些项目文件里面的中文翻译成英文,其他部分保持不变。 不知道是否有命令行或者可以批量处理的工具不?
因为文件比较多,而且有些代码文件很长,所以手动拖动到某个工具中(例如 DeepL )不方便。
如果有其他的方式,也可以提供信息。多谢。
1
bjzhush 2023-01-08 10:53:21 +08:00
你自己都没试吧,我花半分钟试了下,google translation 对中英文混合的内容只翻译中文,英文和符号包括格式都不变。
所以理论上来说,google translation API 就可以解决你这个问题,这个 API 每月有 50 万字符的免费翻译额度 |
2
TonyHoAspire OP @bjzhush 你使用的是网页版吗? 如果你用的是 cli 版本,可以告知一下吗?
我尝试使用 cli 版本(这个 https://github.com/lushan88a/google_trans_new )。 没有跑起来: Traceback (most recent call last): File "/home/telink/.local/lib/python3.7/site-packages/google_trans_new/google_trans_new.py", line 189, in translate r.raise_for_status() File "/usr/local/python3/lib/python3.7/site-packages/requests/models.py", line 1021, in raise_for_status raise HTTPError( http_error_msg, response=self) requests.exceptions.HTTPError: 404 Client Error: Not Found for url: https://translate.google.cn/_/TranslateWebserverUi/data/batchexecute During handling of the above exception, another exception occurred: Traceback (most recent call last): File "tran.py", line 41, in <module> raise e File "tran.py", line 38, in <module> results = pool.map(request, texts) File "/usr/local/python3/lib/python3.7/multiprocessing/pool.py", line 268, in map return self._map_async(func, iterable, mapstar, chunksize).get() File "/usr/local/python3/lib/python3.7/multiprocessing/pool.py", line 657, in get raise self._value File "/usr/local/python3/lib/python3.7/multiprocessing/pool.py", line 121, in worker result = (True, func(*args, **kwds)) File "/usr/local/python3/lib/python3.7/multiprocessing/pool.py", line 44, in mapstar return list(map(*args)) File "tran.py", line 26, in request translate_text = t.translate(text.strip(), lang) File "/home/telink/.local/lib/python3.7/site-packages/google_trans_new/google_trans_new.py", line 194, in translate raise google_new_transError(tts=self, response=r) google_trans_new.google_trans_new.google_new_transError: 404 (Not Found) from TTS API. Probable cause: Unknown |
3
bjzhush 2023-01-08 12:10:56 +08:00
你这从哪找的破烂。。。
我测试用的是网页版翻译 https://translate.google.com.hk/ 官方文档在 https://cloud.google.com/translate/docs/basic/translating-text 我前几天刚用过,非常简单方便 |
4
TonyHoAspire OP @bjzhush 我试了下,这个需要先在 google clound 创建一个项目,而这个又需要先进行信息登记 /注册(需要填写的信息包括信用卡号)。 是这样子的吗?
另外,这个翻译的速度如何? 要是快的话,准备继续折腾一把,用里面的 go snippet 代码。现在找的其他 github python 的代码,翻译速度太慢了。 |
5
bjzhush 2023-01-09 11:14:27 +08:00
@TonyHoAspire 是需要开通个账号并绑定信用卡的,你自己开通前,统计下字符数量,预估一下费用看看先。
速度超级快,而且可以并发请求翻译 API ,我 150 万字符也就是二三十分钟就搞定了,我开了几十个脚本同时请求。 Google 翻译的质量我也认为是世界上最好的,因为 Google 有海量的翻译经验,不管是 Chrome 还是搜索内容的各种语言。 如果你要翻译的数量不多,也可以找一下免费的接口,一般是从网页端扒的,我没怎么研究过 |
6
TonyHoAspire OP @bjzhush Thanks.
|