- translators 5.8.2
- Навигация
- Ссылки проекта
- Статистика
- Метаданные
- Сопровождающие
- Классификаторы
- Описание проекта
- Supported Translation Services
- Installation
- Getting Started
- About Chinese Language
- Debug Tips
- Linux Runtime Environment
- HttpError 4xx
- NetworkError or ProxyError
- Автоматический переводчик на Python+GTK3. Альтернатива Яндексу
- translate 3.6.1
- Навигация
- Ссылки проекта
- Статистика
- Метаданные
- Сопровождающие
- Классификаторы
- Описание проекта
- Why Should I Use This?
- Installation
- Features
- Usage
- Options
- Change Default Languages
- Use As A Python Module
- Use a different translation provider
- The DeepL Provider
- Documentation
- Contributing
- Changelog
- 3.6.1
- 3.5.0
- 3.4.1
- 3.4.0
- 3.3.0
- 3.2.1
- 3.2.0
- 3.1.0
- 3.0.0
- 2.0.0 (2017-11-08)
translators 5.8.2
Translators is a library which aims to bring free, multiple, enjoyable translation to individuals and students in Python.
Навигация
Ссылки проекта
Статистика
Метаданные
Лицензия: GNU General Public License v3 (GPLv3) (GPLv3)
Метки translate, translate_text, translate_html, alibaba, apertium, argos, baidu, bing, caiyun, cloudTranslation, deepl, elia, google, iciba, iflytek, iflyrec, itranslate, judic, languageWire, lingvanex, mglip, mirai, modernMt, myMemory, niutrans, papago, qqFanyi, qqTranSmart, reverso, sogou, sysTran, tilde, translateCom, translateMe, utibet, volcEngine, yandex, yeekit, youdao
Требует: Python >=3.8
Сопровождающие
Классификаторы
Описание проекта
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 | MyMemory | 330 | support the most languages in the world | Translated, Italy | stable |
2 | Niutrans | 302 | support the most languages in the world | Northeastern University / Niutrans, China | / |
3 | Alibaba | 221 | support most languages, support professional field | Alibaba, China | stable |
4 | Baidu | 201 | support most languages, support professional field, support classical Chinese | Baidu, China | stable |
5 | Iciba | 187 | support the most languages in the world | Kingsoft / Xiaomi, China | 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 | CloudTranslation | 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 | / |
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
pip install --upgrade translators conda install -c conda-forge translators git clone https://github.com/UlionTse/translators.git translators python setup.py install
Getting Started
还有另一篇文章《施氏食狮史》。
''' Union[str, dict]
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.
- Function 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.
Автоматический переводчик на Python+GTK3. Альтернатива Яндексу
Ну вот и пришел долгожданный конец халяве(статья).
Честно говоря, было немного обидно. Вот чего им не хватает!
Я, разумеется, начал искать выход для себя и друзей. И нашел.
Этим выходом стала библиотека translators(Яндекс она тоже умеет).
В целом, код остался прежним, как и в предыдущей статье, немного изменилась логика.
Убрано было все, что касается Яндекс, добавлены библиотеки langdetect и translators. Первая для определения языка, ибо без доступа к API пришлось бы делать это вручную. Вторая, соответственно, модуль доступа к гугло-переводчику посредством urllib и requests.
. from langdetect import detect import translators as ts . indetect = detect(clip()) def definition(): if indetect == 'ru': langout = 'en' else: langout = 'ru' return langout def translate(): output = [] output = ts.google(clip(), to_language=definition(), if_use_cn_host=True) return output .
Так же был изменен файл ~/.local/lib/python3.8/site-packages/translators/apis.py
53 #logger.add(sys.stdout, format='[] ', level='INFO') 120 #sys.stderr.write(f'Using server backend.\n') 144 self.cn_host_url = 'https://translate.google.ru' 151 self.output_zh = 'ru-RU'
Ну вот совсем мне не нужен вывод отладочной информации, строки 53 и 120, а так же умолчальный сервер и вывод в 144 и 151 изменен с китайского на русский.
Проект на github.
P.S: Переводчик от Google, как оказалось, справляется со своим предназначением лучше яндексовского.
translate 3.6.1
This is a simple, yet powerful command line translator with google translate behind it. You can also use it as a Python module in your code.
Навигация
Ссылки проекта
Статистика
Метаданные
Лицензия: MIT License (MIT)
Метки translate, translation, command, line
Сопровождающие
Классификаторы
Описание проекта
Translate is a simple but powerful translation tool written in python with with support for multiple translation providers. By now we offer integration with Microsoft Translation API, Translated MyMemory API, LibreTranslate, and DeepL’s free and pro APIs
Why Should I Use This?
The biggest reason to use translate is to make translations in a simple way without the need of bigger effort and can be used as a translation tool like command line
Installation
Or, you can download the source and
Prefix ‘sudo’ if you encounter a problem.
Features
- Translate your output in real time
- Do translation in your terminal using the command line
Usage
$ translate-cli -t zh 这是一支笔 by: MyMemory
Options
$ translate-cli --help __main__.py TEXT. Python line tool to make online translations Example: $ translate-cli -t zh the book is on the table 碗是在桌子上。 Available languages: https://en.wikipedia.org/wiki/ISO_639-1 Examples: en, ja, ko, pt, zh, zh-TW, . --version Show the version and exit. --generate-config-file Generate the config file using a Wizard and exit. -f, --from TEXT Sets the language of the text being translated. The default value is -t, --to TEXT Set the language you want to translate. -p, --provider TEXT Set the provider you want to use. The default value is --secret_access_key TEXT Set the secret access key used to get provider oAuth token. -o, --output_only Set to display the translation only. --help Show this message and exit.
Change Default Languages
autodetect de mymemory The cfg is not for use as a Python module.
or run the command line and follow the steps:
$ translate-cli —generate-config-file from to:
Use As A Python Module
The result is usually a unicode string.
Use a different translation provider
The DeepL Provider
To use DeepL’s pro API, pass an additional parameter called pro to the Translator object and set it to True and use your pro authentication key as the secret_access_key
Documentation
Check out the latest translate documentation at Read the Docs
Contributing
Please send pull requests, very much appreciated.
- Fork the repository on GitHub.
- Make a branch off of master and commit your changes to it.
- Install requirements. pip install -r requirements-dev.txt
- Install pre-commit. pre-commit install
- Run the tests with py.test -vv -s
- Create a Pull Request with your contribution
Changelog
3.6.1
3.5.0
3.4.1
3.4.0
- Refactor: Create a folder to add all providers instead to let in a single file
- Add Microsoft provider
- Add more documentation to all providers (Translated-MyMemory and Microsoft Translator)
- Add arguments to change the default provider using translate-cli
3.3.0
- Refactor translate-cli (command line interface) Using Click library instead of ArgParser
- Unify translate-cli and main to avoid duplicate code
- Add documentation to be used on helper commands on translate-cli
- Remove unnecessary code
- Refactor setup to complete information in the PKG-INFO used by PyPI
3.2.1
3.2.0
3.1.0
- Apply Solid Principles
- Organize Project
- Add pre-commit, pytest
- Add new Make file
- Add new test cases
3.0.0
- General Refactor
- Remove urllib to use requests
- Refactor methods names removing google from then
- Apply PEP8
- Change contructor to keep it the code simple