/translators

🌏🌍🌎Translators🌎🌍🌏 is a library which aims to bring free, multiple, enjoyable translation to individuals and students in Python. Translators是一个旨在用Python为个人和学生带来免费、多样、愉快翻译的库。

Primary LanguagePythonOtherNOASSERTION

PyPI - Version Conda - Version PyPI - License PyPI - Python PyPI - Status PyPI - Wheel Downloads


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 /
Google 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 - from Microsoft TranslateCom, America stable

Supported Language

Language Language of Translator Google 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 Google 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

  1. To support javascript runtime environment, you should download and install Node.js.
  2. PS, ts.baidu() doesn't work on Linux without desktop.

Supported Country and Region Service

  1. If you have requests error, please check whether this service is provided in your country or region.
  2. Check the website about eg: help(tss.google).

HttpError 4xx

  1. Check whether you made high frequency requests.
  2. Check whether this service is provided in your country or region.
  3. Detail to solve HttpError itself.
  4. Issue me, thanks.

NetworkError or ProxyError

  1. Check whether the network is connected correctly.
  2. Check the proxy are enabled on your computer. If it is enabled, try turning it off or otherwise.

License

MIT Llicense