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. (Currently, 26 translation services are supported.)
Installation
From PyPI
pip install --upgrade translators
From Conda
conda install -c conda-forge translators
From Source
git clone https://github.com/UlionTse/translators.git
cd translators
python setup.py install
Getting Started
import translators as ts
import translators.server as tss
wyw_text = '季姬寂,集鸡,鸡即棘鸡。棘鸡饥叽,季姬及箕稷济鸡。'
chs_text = '季姬感到寂寞,罗集了一些鸡来养,鸡是出自荆棘丛中的野鸡。野鸡饿了唧唧叫,季姬就拿竹箕中的谷物喂鸡。'
chs_html = '''
<!DOCTYPE html>
<html>
<head>
<title>《季姬击鸡记》</title>
</head>
<body>
<p>还有另一篇文章《施氏食狮史》。其它有《羿裔熠》、《侄治痔》等。</p>
</body>
</html>
'''
### usage
ts.preaccelerate() #Caching sessions in advance, which can help improve access speed.
print(ts.translators_pool)
print(ts.translate_text(chs_text))
print(ts.translate_html(chs_html, translator='iciba'))
### common parameters and functions
## query text
print(ts.translate_text(chs_text, if_ignore_empty_query=False, if_ignore_limit_of_length=False, limit_of_length=5000))
## language
# input language
from_language, to_language = ('zh', 'en')
print(tss.google(wyw_text, from_language, to_language))
# check input language with language_map
assert from_language in tss._google.language_map # request once first, then ...
## detail result
print(tss.sogou(wyw_text, is_detail_result=True))
## professional field
print(tss.alibaba(wyw_text, professional_field='general')) # ("general","message","offer")
print(tss.baidu(wyw_text, professional_field='common')) # ('common','medicine','electronics','mechanics')
print(tss.caiyun(wyw_text, professional_field=None)) # (None,"medicine","law","machinery")
## host config
# cn
print(tss.google(wyw_text, if_use_cn_host=False))
print(tss.bing(wyw_text, if_use_cn_host=True))
# reset host
print(tss.google(wyw_text, reset_host_url=None))
print(tss.yandex(wyw_text, reset_host_url=None))
# host pool
print(tss._argos.host_pool)
print(tss.argos(wyw_text, reset_host_url=None))
## request config
print(tss.lingvanex(wyw_text, sleep_seconds=5, timeout=None, proxies=None))
## session update
print(tss.itranslate(wyw_text, update_session_after_freq=1000, update_session_after_seconds=1.5e3))
## time stat
print(tss.reverso(wyw_text, if_show_time_stat=True, show_time_stat_precision=4, sleep_seconds=0.1))
## old server
baidu_v1 = tss.BaiduV1().baidu_api
baidu_v2 = tss.BaiduV2().baidu_api
assert baidu_v1(wyw_text) == baidu_v2(wyw_text)
### property
print(dir(tss._deepl))
help(tss.papago)
More About Translators
Features
ID | Translator | Number of Supported Languages | Advantage | Service | Status |
---|---|---|---|---|---|
1 | Niutrans | 302 | support the most languages in the world | Northeastern University / Niutrans, China | / |
2 | Alibaba | 221 | support most languages, support professional field | Alibaba, China | stable |
3 | Baidu | 201 | support most languages, support professional field, support Classical Chinese | Baidu, China | stable |
4 | Iciba | 187 | support the most languages in the world | Kingsoft / Xiaomi, China | stable |
5 | MyMemory | 151 | support the most languages in the world, good at Creole English, Creole French | Translated, Italy | stable |
6 | Iflytek | 140 | support the most languages in the world | Iflytek, China | / |
7 | 134 | support more languages in the world | Google, America | stable(offline in inland of China on Oct. 2022) | |
8 | VolcEngine | 122 | support more languages in the world, support professional field | VolcEngine / ByteDance, China | / |
9 | Lingvanex | 112 | support translation of different regions but the same language | Lingvanex, Cyprus | stable |
10 | Bing | 110 | support more languages in the world | Microsoft, America | stable |
11 | Yandex | 102 | support more languages in the world, support word to emoji | Yandex, Russia | / |
12 | Itranslate | 101 | support translation of different regions but the same language, such as en-US, en-UK, en-AU | Itranslate, Austria | stable |
13 | Sogou | 61 | support more languages in the world | Sogou / tencent, China | stable |
14 | ModernMt | 56 | open-source, support more languages in the world | Modernmt / Translated, Italy | stable |
15 | Reverso | 42 | popular on Mac and Iphone | Reverso, France | stable |
16 | Deepl | 27 | high quality to translate but response slowly | Deepl, Germany | stable |
17 | QQTranSmart | 22 | support main languages | Tencent, China | stable |
18 | QQFanyi | 17 | support main languages | Tencent, China | stable |
19 | Argos | 17 | open-source | Argos / Libre, America | stable |
20 | Youdao | 15 | support main languages, high quality | Netease, China | stable |
21 | Papago | 15 | good at Korean translation | Naver, South Korea | stable |
22 | Iflyrec | 12 | good at Chinese translation | Iflytek, China | stable |
23 | Caiyun | 7 | high quality to translate but response slowly, support professional field | ColorfulClouds, China | stable |
24 | Mglip | 3 | good at Mongolia translation | Inner Mongolia University, China | stable |
25 | Utibet | 2 | good at Tibet translation | Tibet University, China | stable |
26 | TranslateCom | - | TranslateCom, America | stable |
Supported Language
Language | Language of Translator | Yandex | Bing | Baidu | Alibaba | Tencent | Youdao | Sogou | Deepl | Caiyun | Argos | others... | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
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 | ||||||||||
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 | |||||||||||
... | ... |
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 | |||||||||||||||||
Chinese(壮语) | zyb |
Debug Tips
Linux Runtime Environment
- To support javascript runtime environment, you should download and install Node.js.
- PS,
tss.baidu()
doesn't 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(tss.google)
.
HttpError 4xx
- Check whether you made high frequency requests.
- Check whether this service is provided in your country or region.
- Detail to solve HttpError itself.
- Issue me, thanks.
NetworkError or ProxyError
- Check whether the network is connected correctly.
- Check the proxy 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 Distribution
translators-5.6.1.tar.gz
(52.2 kB
view hashes)
Built Distribution
Close
Hashes for translators-5.6.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 6841ab7037ba567e1ee3a5e8dffa5e6ab4ce2f91e9920e0bb0d78d186a414815 |
|
MD5 | f78c92dfe12647bb702c22c9cabe9805 |
|
BLAKE2b-256 | 7254cf5dc2187fcf483228063f03613f60257701cf7d23dd60c2d66d4d4f502c |