Translators is a library which aims to bring free, multiple, enjoyable translation to individuals and students in Python.
Supported Translation Services
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 China inland) | |
8 | VolcEngine | 122 | support more languages in the world, support professional field | 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 | Tencent, China | stable |
14 | ModernMt | 56 | open-source, support more languages in the world | Modernmt / Translated, Italy | stable |
15 | SysTran | 52 | support more languages in the world | SysTran, France | stable |
16 | Apertium | 45 | open-source | Apertium, Spain | stable |
17 | Reverso | 42 | popular on Mac and Iphone | Reverso, France | stable |
18 | CloudYi | 28 | support main languages | Xiamen University / CloudTranslation, China | stable |
19 | Deepl | 27 | high quality to translate but response slowly | Deepl, Germany | stable |
20 | QQTranSmart | 22 | support main languages | Tencent, China | stable |
21 | TranslateCom | 21 | good at English translation | TranslateCom, America | stable |
22 | Tilde | 21 | good at lv, de, fr translation | Tilde, Latvia | / |
23 | QQFanyi | 17 | support main languages | Tencent, China | stable |
24 | Argos | 17 | open-source | Argos / Libre, America | stable |
25 | TranslateMe | 16 | good at English translation | TranslateMe / Neosus, Lithuania | stable |
26 | Youdao | 15 | support main languages, high quality | Netease, China | stable |
27 | Papago | 15 | good at Korean translation | Naver, South Korea | stable |
28 | Marai | 15 | good at Japanese translation | MaraiTranslate, Japan | / |
29 | Iflyrec | 12 | good at Chinese translation | Iflytek, China | stable |
30 | Yeekit | 10 | support main languages | CTC, China | / |
31 | LanguageWire | 8 | good at English translation | LanguageWire, Denmark | stable |
32 | Caiyun | 7 | high quality to translate but response slowly, support professional field | ColorfulClouds, China | stable |
33 | Elia | 6 | good at Basque translation | Elhuyar, Spain | stable |
34 | Judic | 4 | good at European translation | CrossLang, Belgium | stable |
35 | Mglip | 3 | good at Mongolia translation | Inner Mongolia University, China | stable |
36 | Utibet | 2 | good at Tibet translation | Tibet University, China | stable |
Installation
# PYPI
pip install --upgrade translators
# Conda
conda install -c conda-forge translators
# Source
git clone https://github.com/UlionTse/translators.git
cd translators
python setup.py install
Getting Started
import translators as ts
q_text = '季姬寂,集鸡,鸡即棘鸡。棘鸡饥叽,季姬及箕稷济鸡。'
q_html = '''<!DOCTYPE html><html><head><title>《季姬击鸡记》</title></head><body><p>还有另一篇文章《施氏食狮史》。</p></body></html>'''
### usage
_ = ts.preaccelerate_and_speedtest() # Optional. Caching sessions in advance, which can help improve access speed.
print(ts.translators_pool)
print(ts.translate_text(q_text))
print(ts.translate_html(q_html, translator='alibaba'))
### parameters
help(ts.translate_text)
"""
translate_text(query_text: str, translator: str = 'bing', from_language: str = 'auto', to_language: str = 'en', **kwargs) -> Union[str, dict]
:param query_text: str, must.
:param translator: str, default 'bing'.
:param from_language: str, default 'auto'.
:param to_language: str, default 'en'.
:param if_use_preacceleration: bool, default False.
:param **kwargs:
:param is_detail_result: bool, default False.
:param professional_field: str, default None. Support alibaba(), baidu(), caiyun(), cloudYi(), elia(), sysTran(), youdao(), volcEngine() only.
:param timeout: float, default None.
:param proxies: dict, default None.
:param sleep_seconds: float, default 0.
:param update_session_after_freq: int, default 1000.
:param update_session_after_seconds: float, default 1500.
:param if_use_cn_host: bool, default False. Support google(), bing() only.
:param reset_host_url: str, default None. Support google(), argos(), yandex() only.
:param if_check_reset_host_url: bool, default True. Support google(), yandex() only.
:param if_ignore_empty_query: bool, default False.
:param limit_of_length: int, default 20000.
:param if_ignore_limit_of_length: bool, default False.
:param if_show_time_stat: bool, default False.
:param show_time_stat_precision: int, default 2.
:param if_print_warning: bool, default True.
:param lingvanex_mode: str, default 'B2C', choose from ("B2C", "B2B").
:param myMemory_mode: str, default "web", choose from ("web", "api").
:return: str or dict
"""
Supported Languages
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.
- baidu() doesn't work on Linux without desktop.
HttpError 4xx
- Check whether you made high frequency requests, especially httperror 429.
- Check whether this service is provided in your 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.