Translators is a library which aims to bring free, multiple, enjoyable translation to individuals and students in Python.
Project description
Translators is a library which aims to bring free, multiple, enjoyable translation to individuals and students in Python. It based on the translation interface of Google, Yandex, Microsoft(Bing), Baidu, Alibaba, Tencent, NetEase(Youdao), Sogou, Kingsoft(Iciba), Iflytek, Naver(Papago), Deepl, Reverso, Itranslate, Caiyun, Argos, TranslateCom, Utibet, etc.
Installation
From PyPI
# Windows, Mac, Linux
pip install translators --upgrade
# Linux javascript runtime environment:
# https://nodejs.org/en/download/
From Source
git clone https://github.com/UlionTse/translators.git
cd translators
python setup.py install
Getting Started
import translators as ts
wyw_text = '季姬寂,集鸡,鸡即棘鸡。棘鸡饥叽,季姬及箕稷济鸡。'
chs_text = '季姬感到寂寞,罗集了一些鸡来养,鸡是那种出自荆棘丛中的野鸡。野鸡饿了唧唧叫,季姬就拿竹箕中的谷物喂鸡。'
html_text = '''
<!DOCTYPE html>
<html>
<head>
<title>这是标题</title>
</head>
<body>
<p>这是文章《你的父亲》</p>
</body>
</html>
'''
## language
# input languages
print(ts.google(wyw_text)) # default: from_language='auto', to_language='en'
# output language_map
print(ts._google.language_map)
## professional field
print(ts.alibaba(wyw_text, professional_field='general')) # ("general","message","offer")
print(ts.baidu(wyw_text, professional_field='common')) # ('common','medicine','electronics','mechanics')
print(ts.caiyun(wyw_text, from_language='zh', professional_field=None)) # ("medicine","law","machinery")
## property
rs = [ts.tencent(x) for x in [wyw_text, chs_text]]
print(ts._tencent.query_count)
print(dir(ts._tencent))
## requests
print(ts.youdao(wyw_text, sleep_seconds=5, timeout=None, proxies=None))
## host
# cn
print(ts.google(wyw_text, if_use_cn_host=True))
print(ts.bing(wyw_text, if_use_cn_host=False))
# reset host
print(ts.google(wyw_text, reset_host_url=None))
print(ts.yandex(wyw_text, reset_host_url=None))
## detail result
print(ts.sogou(wyw_text, is_detail_result=True))
## translate html
print(ts.translate_html(html_text, translator=ts.google, to_language='en', n_jobs=-1))
## others
print(ts._argos.host_pool)
print(ts.argos(wyw_text, reset_host_url=None))
## help
help(ts.google)
More About Translators
Features
Translator | Number of Supported Languages | Advantage |
---|---|---|
Iciba | 187 | support the most languages in the world |
Iflytek | 140 | support the most languages in the world |
109 | support more languages in the world | |
Bing | 102 | support more languages in the world |
Yandex | 100 | support more languages in the world, support word to emoji |
Itranslate | 100 | support translation of different regions but the same language differences, such as en-US, en-UK, en-AU |
Sogou | 61 | support more languages in the world |
Reverso | 42 | popular on Mac and Iphone |
Baidu | 28 | support main languages, support professional field |
Deepl | 24 | high quality to translate but response slowly |
Tencent | 17 | support main languages |
Argos | 17 | support main languages , open-source |
Youdao | 15 | support main languages, high quality |
Papago | 15 | good at Korean translation |
Alibaba | 12 | support main languages, support professional field |
Caiyun | 6 | high quality to translate but response slowly, support professional field |
Utibet | 2 | from Tibet University |
TranslateCom | - | from Microsoft |
Support Language
Language | Language of Translator | Yandex | Bing | Baidu | Alibaba | Tencent | Youdao | Sogou | Deepl | Caiyun | Argos | Iciba | Iflytek | Itranslate | Reverso | TranslateCom | Papago | Utibet | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
english | en | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ... | ... | ... | ... | ... | ... | ... |
chinese | zh | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||
arabic | ar | Y | Y | Y | Y(ara) | Y | Y | Y | Y | Y | |||||||||
russian | ru | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||
french | fr | Y | Y | Y | Y(fra) | Y | Y | Y | Y | Y | Y | Y | |||||||
german | de | Y | Y | Y | Y | Y | Y | Y | Y | Y | |||||||||
spanish | es | Y | Y | Y | Y(spa) | Y | Y | Y | Y | Y | Y | Y | |||||||
portuguese | pt | Y | Y | Y(pt/pt-pt) | Y | Y | Y | Y | Y | Y | Y | ||||||||
italian | it | Y | Y | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||
japanese | ja | Y | Y | Y | Y(jp) | Y | Y | Y | Y | Y | Y | ||||||||
korean | ko | Y | Y | Y | Y(kor) | Y | Y | Y | Y | ||||||||||
greek | el | Y | Y | Y | Y | Y | Y | ||||||||||||
dutch | nl | Y | Y | Y | Y | Y | Y | Y | |||||||||||
hindi | hi | Y | Y | Y | Y | Y | Y | ||||||||||||
turkish | tr | Y | Y | Y | Y | Y | Y | Y | |||||||||||
malay | ms | Y | Y | Y | Y | Y | |||||||||||||
thai | th | Y | Y | Y | Y | Y | Y | Y | |||||||||||
vietnamese | vi | Y | Y | Y | Y(vie) | Y | Y | Y | Y | Y | |||||||||
indonesian | id | Y | Y | Y | Y | Y | Y | Y | Y | ||||||||||
hebrew | he | Y(iw) | Y | Y | Y | ||||||||||||||
polish | pl | Y | Y | Y | Y | Y | Y | Y | |||||||||||
mongolian | mn | Y | Y | Y(nm) | |||||||||||||||
czech | cs | Y | Y | Y | Y | Y | Y | ||||||||||||
hungarian | hu | Y | Y | Y | Y | Y | Y | ||||||||||||
estonian | et | Y | Y | Y | Y(est) | Y | Y | ||||||||||||
bulgarian | bg | Y | Y | Y | Y(bul) | Y | Y | ||||||||||||
danish | da | Y | Y | Y | Y(dan) | Y | Y | ||||||||||||
finnish | fi | Y | Y | Y | Y(fin) | Y | Y | ||||||||||||
romanian | ro | Y | Y | Y | Y(rom) | Y | Y | ||||||||||||
swedish | sv | Y | Y | Y | Y(swe) | Y | Y | ||||||||||||
slovenian | sl | Y | Y | Y | Y(slo) | Y | Y | ||||||||||||
persian/farsi | fa | Y | Y | Y | Y | ||||||||||||||
bosnian | bs | Y | Y | Y(bs-Latn) | Y(bs-Latn) | ||||||||||||||
serbian | sr | Y | Y | Y(sr-Latn/sr-Cyrl) | Y(sr-Latn/sr-Cyrl) | ||||||||||||||
fijian | fj | Y | Y | ||||||||||||||||
filipino | tl | Y | Y | Y(fil) | Y(fil) | ||||||||||||||
haitiancreole | ht | Y | Y | Y | Y | ||||||||||||||
catalan | ca | Y | Y | Y | Y | ||||||||||||||
croatian | hr | Y | Y | Y | Y | ||||||||||||||
latvian | lv | Y | Y | Y | Y | Y | |||||||||||||
lithuanian | lt | Y | Y | Y | Y | Y | |||||||||||||
urdu | ur | Y | Y | Y | Y | ||||||||||||||
ukrainian | uk | Y | Y | Y | Y | ||||||||||||||
welsh | cy | Y | Y | Y | Y | ||||||||||||||
tahiti | ty | Y | Y | ||||||||||||||||
tongan | to | Y | Y | ||||||||||||||||
swahili | sw | Y | Y | Y | Y | ||||||||||||||
samoan | sm | Y | Y | Y | |||||||||||||||
slovak | sk | Y | Y | Y | Y | Y | |||||||||||||
afrikaans | af | Y | Y | Y | Y | ||||||||||||||
norwegian | no | Y | Y | Y | Y | ||||||||||||||
bengali | bn | Y | Y | Y(bn-BD) | Y | ||||||||||||||
malagasy | mg | Y | Y | Y | Y | ||||||||||||||
maltese | mt | Y | Y | Y | Y | ||||||||||||||
queretaro otomi | otq | Y | Y | ||||||||||||||||
klingon/tlhingan hol | tlh | Y | Y | ||||||||||||||||
gujarati | gu | Y | Y | Y | |||||||||||||||
tamil | ta | Y | Y | Y | |||||||||||||||
telugu | te | Y | Y | Y | |||||||||||||||
punjabi | pa | Y | Y | Y | |||||||||||||||
amharic | am | Y | Y | ||||||||||||||||
azerbaijani | az | Y | Y | ||||||||||||||||
bashkir | ba | Y | |||||||||||||||||
belarusian | be | Y | Y | ||||||||||||||||
cebuano | ceb | Y | Y | ||||||||||||||||
chuvash | cv | Y | |||||||||||||||||
esperanto | eo | Y | Y | ||||||||||||||||
basque | eu | Y | Y | ||||||||||||||||
irish | ga | Y | Y | Y | |||||||||||||||
emoji | emj | Y | |||||||||||||||||
... | ... |
More supported language, eg:
# request once first, then:
print(ts._google.language_map)
About Chinese Language
Language | Language of Translator | Yandex | Bing | Baidu | Alibaba | Tencent | Youdao | Sogou | Iciba | Iflytek | Caiyun | Deepl | Argos | Itranslate | Reverso | TranslateCom | Papago | Utibet | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
Chinese(简体) | zh-CHS | Y(zh-CN) | Y(zh) | Y(zh-Hans) | Y(zh) | Y(zh) | Y(zh) | Y | Y | Y(zh) | Y(zh) | Y(zh) | Y(zh) | Y(zh) | Y(zh-CN) | Y(zh/chi) | ... | Y(zh-CN) | Y(zh) |
Chinese(繁体) | zh-CHT | Y(zh-TW) | Y(zh-Hant) | Y(cht) | Y(zh-TW) | Y | Y(cnt) | Y(zh-TW) | Y(zh-TW) | ||||||||||
Chinese(文言文) | wyw | Y | |||||||||||||||||
Chinese(粤语) | yue | Y | Y | Y | Y | Y | Y(zh-HK) | ||||||||||||
Chinese(内蒙语) | mn | N[外蒙] | N[外蒙] | Y[内蒙] | N[外蒙] | ||||||||||||||
Chinese(维吾尔语) | uy | Y | |||||||||||||||||
Chinese(藏语) | ti | Y | Y | ||||||||||||||||
Chinese(白苗文) | mww | Y | Y | Y | |||||||||||||||
Chinese(彝语) | ii | Y | |||||||||||||||||
Chinese(苗语) | hmn | Y |
Issues
Linux Runtime Environment
- To support javascript runtime environment, you should Download | Node.js.
- PS,
ts.baidu()
does not work on Linux without desktop.
Supported Country and Region Service
- If you have requests error, please check whether this service is provided in your country or region.
- Check the website about
eg: help(ts.google)
.
HttpError 4xx
- Please check whether you made high frequency requests.
- Please check whether this service is provided in your country or region.
- Detail to solve HttpError itself.
- Please issue me, thanks.
RequestsError or ProxyError
- Check whether the advanced version of
requests
you have installed can access the site properly. If not, try lowering the version or otherwise. - Check that agents are enabled on your computer. If it is enabled, try turning it off or otherwise.
License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
No source distribution files available for this release.See tutorial on generating distribution archives.
Built Distribution
Close
Hashes for translators-5.3.0-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3e6c980d5606db63a21f7760c8d0c9ceed87eea2855f806b346006d3953f175c |
|
MD5 | 29ced0ec8f4326bdd281484e8509af76 |
|
BLAKE2b-256 | 931e56fb3229a8c2f1f3700ee20f80c081c6b17d6ffeafc5c98e56b819b078a7 |