Multi Platform Translate Tool in Python
https://pypi.org/project/mult...Translate is a simple but powerful translation tool written in python with support for multiple translation providers. By now we offer integration with Baidu, Bing, Deepl, Google, MyMemory, Tencent, Youdao translation APIs.
https://github.com/Lyndon1994...
【【聚合翻译】Multi Platform Translate Tool in Python】It is forked from translate, and it is compatible with this pack.
Why Should I Use This?
The biggest reason to use translate is to make translations in wox and alfred quickly, and I would like to see the translation results of various platforms and choose the best one. I want to share with you, and it supports concurrent request for multiple platform translation results.
Installation
$ pip install multi-translate
Or, you can download the source and
$ python setup.py install
Prefix 'sudo' if you encounter a problem.
Features
- Translate text in real time and support concurrent request for multiple platform translation results
- Do translation in your terminal using the command line
- Default Youdao Translator, and it has built-in Youdao Translator APP_KEY (I applied for it myself, please don't overuse it, thank you), so you can use Youdao Translator directly.
Use As A Python Module
In [1]: from translate import Translator
In [2]: translator = Translator(to_lang="zh")
In [3]: translation = translator.translate("This is a pen.")
Out [3]: 这是一支笔
The result is usually a unicode string.
Use a different translation provider
In [1]: from translate import Translator
In [2]: to_lang = 'zh'
In [3]: secret = ''
In [4]: translator = Translator(provider='', to_lang=to_lang, secret_key=secret)
In [5]: translator.translate('the book is on the table')
Out [5]: '碗是在桌子上。'
Use multi translation provider
from translate import Translator
baidu = {
'appid': 'xxx',
'secret_key': 'xxx'
}
tencent = {
'secret_id': 'xxx',
'secret_key': 'xxx'
}
bing = {
'location': 'eastus',
'secret_key': 'xxx'
}
youdao = {
'app_key': 'xxx',
'app_secret': 'xxx'
}
translator = Translator(to_lang='zh', provider='baidu,tencent,youdao,bing',
baidu=baidu, tencent=tencent, bing=bing, youdao=youdao)
translation = translator.translate('hello world', return_str=False)
print(translation)
# output: {'youdao': '你好世界', 'tencent': '你好世界', 'bing': '世界您好', 'baidu': '你好,世界'}
The DeepL Provider To use DeepL's pro API, pass an additional parameter named pro to the Translator object and set it to True and use your pro authentication key as the secret_key
In: translator = Translator(provider='microsoft', to_lang=to_lang, secret_key=secret, pro=True)
Use As A Command Line In your command-line:
$ translate-cli -t zh "This is a pen."
Translation: 这是一支钢笔。
-------------------------
Translated by: youdao
Or
$ translate-cli -t zh "This is a pen." -o
这是一支钢笔。
Options
$ translate-cli --help
Usage: __main__.py [OPTIONS] TEXT...
Python command line tool to make online translations
Example:
$ translate-cli -t zh the book is on the table
碗是在桌子上。
Available languages:
https://en.wikipedia.org/wiki/ISO_639-1
Examples: (e.g. en, ja, ko, pt, zh, zh-TW, ...)
Options:
--versionShow the version and exit.
--generate-config-fileGenerate the config file using a Wizard and exit.
-f, --from TEXTSets the language of the text being translated.
The default value is 'auto'.
-t, --to TEXTSet the language you want to translate.
-p, --provider TEXTSet the provider you want to use. The default value is 'youdao'.
--appid TEXTappid, needed by baidu translator
--secret_id TEXTSet the secret id used to get provider oAuth token.
--secret_key TEXTSet the secret access key used to get provider oAuth token.
-o, --output_onlySet to display the translation only.
--helpShow this message and exit.
Change Default Languages In \~/.python-translate.cfg:
[DEFAULT]
from_lang = autodetect
to_lang = de
provider = youdao
secret_key =
The cfg is not for use as a Python module. or run the command line and follow the steps:
$ translate-cli --generate-config-file
Translate from [autodetect]:
Translate to:
Provider [youdao]:
Secret Access Key []:
Documentation
Check out the latest
translate
documentation at [Read theDocs](http://translate-python.readt...)
It's document of translate, but it's still available, although no new features.Contributing
Please send pull requests, very much appreciated.
- Fork the repository on GitHub.
- Make a branch off of main and commit your changes to it.
- (Optional) if you want an isolated environment, you can install nixOS (https://nixos.org) and run
nix-shell --pure
under the project folder - Install requirements.
pip install -r requirements-dev.txt
- Install pre-commit.
pre-commit install
- Run the tests with
py.test -vv -s
- Create a Pull Request with your contribution.
推荐阅读
- scala|Scala
- Spark|基于Spark封装的二次开发工程edata-base,介绍
- spark|spark学习笔记(七)——sparkcore核心编程-RDD序列化/依赖关系/持久化/分区器/累加器/广播变量
- #|Spark Streaming与流处理
- Spark基础学习笔记|Spark RDD案例(词频统计)
- Python和Scala有什么区别(有哪些区别?)
- 是什么使Scala具有可扩展性()
- Scala中特质与抽象类有什么区别()
- Kotlin和Scala之间有什么区别()