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, Niutrans, Lingvanex, Naver(Papago), Deepl, Reverso, Itranslate, Caiyun, TranslateCom, Mglip, Utibet, Argos, etc.
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
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_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
print(baidu_v1(wyw_text))
assert baidu_v2(wyw_text) == tss.baidu(wyw_text)
### property
print(dir(tss._deepl))
help(tss.papago)
More About Translators
Features
Translator | Number of Supported Languages | Advantage | Service | Status |
---|---|---|---|---|
Niutrans | 302 | support the most languages in the world | Northeastern University / Niutrans, China | / |
Alibaba | 221 | support main languages, support professional field | Alibaba, China | stable |
Iciba | 187 | support the most languages in the world | Kingsoft / Xiaomi, China | stable |
Iflytek | 140 | support the most languages in the world | Iflytek, China | / |
134 | support more languages in the world | Google, America | stable(offline in China mainland on Oct 2022) | |
Lingvanex | 117 | support translation of different regions but the same language, such as en_US, en_GB, en_AU | Lingvanex, Cyprus | stable |
Bing | 110 | support more languages in the world | Microsoft, America | stable |
yandex | 100 | support more languages in the world, support word to emoji | Yandex, Russia | / |
Itranslate | 100 | support translation of different regions but the same language, such as en-US, en-UK, en-AU | Itranslate, Austria | stable |
Sogou | 61 | support more languages in the world | Sogou / tencent, China | stable |
Reverso | 42 | popular on Mac and Iphone | Reverso, France | stable |
Baidu | 28 | support main languages, support professional field, support Classical Chinese | Baidu, China | stable |
Deepl | 27 | high quality to translate but response slowly | Deepl, Germany | stable |
Tencent | 17 | support main languages | Tencent, China | stable |
Argos | 17 | open-source but the effect is ordinary | P.J. Finlay, America | stable |
Youdao | 15 | support main languages, high quality | Netease, China | stable |
Papago | 15 | good at Korean translation | Naver, South Korea | stable |
Caiyun | 7 | high quality to translate but response slowly, support professional field | ColorfulClouds, China | stable |
Mglip | 3 | good at Mongolia translation | Inner Mongolia University, China | stable |
Utibet | 2 | good at Tibet translation | Tibet University, China | stable |
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,
ts.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.5.6.tar.gz
(48.3 kB
view hashes)
Built Distribution
Close
Hashes for translators-5.5.6-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | b5048634aa33a5b8de4524dea01456194aada5c18988149479d8ec130fcb5fbd |
|
MD5 | 64f47f9165cd7057c58c4aaec4e82472 |
|
BLAKE2b-256 | 776eca4b50ef23ecee2955127d4f084fbbb88d1b9ef01dd9095c0d2e4100ae2c |