README.md

January 26, 2026 · View on GitHub

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


Translators is a library that aims to bring free, multiple, enjoyable translations to individuals and students in Python.

Supported Translation Services

IDTranslatorNumber of Supported LanguagesAdvantageServiceStatus
1Niutrans452support the most languages in the worldNortheastern University / Niutrans, China/
2MyMemory330support the most languages in the worldTranslated, Italystable
3Alibaba221support most languages, support professional fieldAlibaba, Chinastable
4Lara211support the most languages in the worldTranslated, Italystable
5Baidu201support most languages, support professional field, support classical ChineseBaidu, Chinastable
6ModernMt200open-source, support more languages in the worldTranslated, Italystable
7VolcEngine189support more languages in the world, support professional fieldByteDance, China/
8Iciba187support the most languages in the worldKingsoft / Xiaomi, Chinastable
9Iflytek137support the most languages in the worldIflytek, China/
10Google134support more languages in the worldGoogle, Americastable(offline in China inland)
11Bing128support more languages in the worldMicrosoft, Americastable
12Lingvanex112support translation of different regions but the same languageLingvanex, Cyprusstable
13Yandex102support more languages in the world, support word to emojiYandex, Russiastable
14Itranslate101support translation of different regions but the same language, such as en-US, en-UK, en-AUItranslate, Austriastable
15Xunjie68support more languages in the worldHudun, Chinastable
16SysTran52support more languages in the worldSysTran, Francestable
17Argos46open-sourceArgos / Libre, Americastable
18Apertium45open-sourceApertium, Spainstable
19Reverso42popular on Mac and IphoneReverso, Francestable
20Deepl30high quality to translate but response slowlyDeepl, Germanystable
21CloudTranslation28support main languagesXiamen University / CloudTranslation, Chinastable
22QQTranSmart22support main languagesTencent, Chinastable
23TranslateCom21good at English translationTranslateCom, Americastable
24Sogou20support more languages in the worldTencent, Chinastable
25Tilde20good at lv, de, fr translationTilde, Latvia/
26Caiyun19high quality to translate but response slowly, support professional fieldColorfulClouds, Chinastable
27QQFanyi17support main languagesTencent, China/
28TranslateMe16good at English translationTranslateMe / Neosus, Lithuania/
29Papago15good at Korean translationNaver, South Koreastable
30Mirai15good at Japanese translationMiraiTranslate, Japan/
31Youdao12support main languages, high qualityNetease, Chinastable
32Iflyrec12good at Chinese translationIflytek, Chinastable
33Hujiang12supported by baiduHujiang, Chinastable
34Yeekit10support main languagesCTC, China/
35LanguageWire8good at English translationLanguageWire, Denmarkstable
36Elia6good at Basque translationElhuyar, Spainstable
37Judic4good at European translationCrossLang, Belgium/
38Mglip3good at Mongolia translationInner Mongolia University, China/
39Utibet2good at Tibet translationTibet University, Chinastable

Installation

# PYPI
pip install --upgrade translators

# Conda (Not recommended)
conda install 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'))

# async
import asyncio
print(asyncio.run(ts.translate_text(q_text, http_client='aiohttp', if_use_async=True)))

### 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 'alibaba'.
    :param from_language: str, default 'auto'.
    :param to_language: str, default 'en'.
    :param if_use_async: bool, default False.
    :param if_use_preacceleration: bool, default False.
    :param **kwargs:
            :param is_detail_result: bool, default False.
            :param http_client: str, default 'requests' (except reverso). Union['requests', 'niquests', 'httpx', 'cloudscraper']
            :param professional_field: str, default None. Support alibaba(), baidu(), caiyun(), cloudTranslation(), elia(), sysTran(), youdao(), volcEngine() only.
            :param timeout: Optional[float], default None.
            :param proxies: Optional[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(), 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
"""

Command Line Interface

You can leverage a simple CLI named fanyi that ships with translators.

>fanyi --help                                                                                                                                                                                                                               ─╯
usage: fanyi input [--text_file] [--translator] [--from] [--to] [--is_html] [--version] [--help]

Translators(fanyi for CLI) is a library that aims to bring free, multiple, enjoyable translations to individuals and students in Python.

positional arguments:
  input                 inputs to be translated.

options:
  --text_file           path to a file to be translated.
  --translator          e.g. bing, google, yandex, etc...
  --from                from_language, default `auto` detected.
  --to                  to_language, default `en`.
  --is_html             is_html, default `0`.
  --version             show version information.
  --help                show help information.

Supported Languages

LanguageLanguage of TranslatorGoogleYandexBingBaiduAlibabaTencentYoudaoSogouDeeplCaiyunArgosothers...
englishenYYYYYYYYYYY...
chinesezhYYYYYYYYYYY
arabicarYYYY(ara)YYYYY
russianruYYYYYYYYYYY
frenchfrYYYY(fra)YYYYYYY
germandeYYYYYYYYY
spanishesYYYY(spa)YYYYYYY
portugueseptYYY(pt/pt-pt)YYYYYYY
italianitYYYYYYYYYY
japanesejaYYYY(jp)YYYYYY
koreankoYYYY(kor)YYYY
greekelYYYYYY
dutchnlYYYYYYY
hindihiYYYYYY
turkishtrYYYYYYY
malaymsYYYYY
thaithYYYYYYY
vietnameseviYYYY(vie)YYYYY
indonesianidYYYYYYYY
hebrewheY(iw)YYY
polishplYYYYYYY
mongolianmnYY
czechcsYYYYYY
hungarianhuYYYYYY
estonianetYYYY(est)YY
bulgarianbgYYYY(bul)YY
danishdaYYYY(dan)YY
finnishfiYYYY(fin)YY
romanianroYYYY(rom)YY
swedishsvYYYY(swe)YY
slovenianslYYYY(slo)YY
persian/farsifaYYYY
bosnianbsYYY(bs-Latn)Y(bs-Latn)
serbiansrYYY(sr-Latn/sr-Cyrl)Y(sr-Latn/sr-Cyrl)
fijianfjYY
filipinotlYYY(fil)Y(fil)
haitiancreolehtYYYY
catalancaYYYY
croatianhrYYYY
latvianlvYYYYY
lithuanianltYYYYY
urduurYYYY
ukrainianukYYYY
welshcyYYYY
tahitityYY
tongantoYY
swahiliswYYYY
samoansmYYY
slovakskYYYYY
afrikaansafYYYY
norwegiannoYYYY
bengalibnYYY(bn-BD)Y
malagasymgYYYY
maltesemtYYYY
queretaro otomiotqYY
klingon/tlhingan holtlhYY
gujaratiguYYY
tamiltaYYY
teluguteYYY
punjabipaYYY
amharicamYY
azerbaijaniazYY
bashkirbaY
belarusianbeYY
cebuanocebYY
chuvashcvY
esperantoeoYY
basqueeuYY
irishgaYYY
emojiemjY
......

About Chinese Language

LanguageLanguage of TranslatorGoogleYandexBingBaiduAlibabaTencentYoudaoSogouIcibaIflytekCaiyunDeeplArgosItranslateReversoTranslateComPapagoUtibet
Chinese(简体)zh-CHSY(zh-CN)Y(zh)Y(zh-Hans)Y(zh)Y(zh)Y(zh)YYY(zh)Y(zh)Y(zh)Y(zh)Y(zh)Y(zh-CN)Y(zh/chi)...Y(zh-CN)Y(zh)
Chinese(繁体)zh-CHTY(zh-TW)Y(zh-Hant)Y(cht)Y(zh-TW)YY(cnt)Y(zh-TW)Y(zh-TW)
Chinese(文言文)wywY
Chinese(粤语)yueYYYYYY(zh-HK)
Chinese(内蒙语)mnN[外蒙]N[外蒙]Y[内蒙]N[外蒙]
Chinese(维吾尔语)uyY
Chinese(藏语)tiYY
Chinese(白苗文)mwwYYY
Chinese(彝语)iiY
Chinese(苗语)hmnY
Chinese(壮语)zyb

Debug Tips

Linux Runtime Environment

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

HttpError 4xx

  1. Check whether you made high frequency requests, especially httperror 429.
  2. Check whether this service is provided in your 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.