Multilingual translation of text, files, markup and BeautifulSoup objects.
Project description
tranzlate
A wrapper around the translators package by UlionTse that enables multilingual translation of text, files, markup and BeautifulSoup objects.
Installation
Perform a quick install with pip:
pip install tranzlate
Usage
Create a Translator
The Translator
class is the main interface for the package. It can be used to translate text, files, markup and BeautifulSoup objects. To create an instance of the Translator
class, simply import the tranzlate
package and instantiate the Translator
class:
import tranzlate
translator = tranzlate.Translator()
Use a Custom Translation Engine
By default, the Translator
class uses Bing Translator as its translation engine. Based on test results, Bing is the most reliable translation engine. However, you can use any translation engine that is supported by the translators package by passing the name of the engine to the Translator
class on instantiation:
In this example, we will use Google Translate as our translation engine:
import tranzlate
translator = tranzlate.Translator('google')
To get a list of all supported translation engines:
import tranzlate
print(tranzlate.Translator.engines())
# Output:
# ['bing', 'google', 'yandex', 'baidu', 'sogou', 'tencent', 'deepl', 'alibaba', ...]
Detect Language
import tranzlate
translator = tranzlate.Translator()
text = 'Good Morning!'
detected_lang = translator.detect_language(text)
print(detected_lang)
# Output: en
Translate Text, Markup and BeautifulSoup Objects
To translate text, markup or a soup, you can use the translate
method of the Translator
class. The translate
method is a general purpose method that can be used to translate text, markup and BeautifulSoup objects.
Translate Text
import tranzlate
translator = tranzlate.Translator()
text = 'Good Morning!'
translation = translator.translate(text, target_lang='yo')
print(translation)
# Output: Eku ojumo!
Translate Markup
import tranzlate
translator = tranzlate.Translator()
markup = '<p>Good Morning!</p>'
translated_markup = translator.translate(markup, target_lang='yo', is_markup=True)
print(translated_markup)
# Output: <p>Eku ojumo!</p>
Translate BeautifulSoup Objects
import tranzlate
from bs4 import BeautifulSoup
translator = tranzlate.Translator()
markup = '<p>Good Morning!</p>'
soup = BeautifulSoup(markup, 'html.parser')
translated_soup = translator.translate(soup, target_lang='yo')
However, there are specialized methods for translating text, markup and BeautifulSoup objects. These methods are translate_text
, translate_markup
and translate_soup
respectively.
Translate Files
To translate files, we use the translate_file
method of the Translator
class.
import tranzlate
translator = tranzlate.Translator()
translated_file = translator.translate_file('path/to/file.txt', src_lang="en", target_lang='yo')
It is advisable to specify the source language when performing translations as it helps the translation engine to provide more accurate translations.
Use a Proxy
To use a proxy, simply pass the proxy to the Translator
class on instantiation:
import tranzlate
translator = tranzlate.Translator()
text = 'Good Morning!'
translation = translator.translate(text, target_lang='yo', proxies={'https': 'https://<proxy>:<port>'})
print(translation)
Other Methods
Get Supported Languages
To get a list of all supported (source) languages by the translator's engine:
import tranzlate
translator = tranzlate.Translator()
print(translator.supported_languages)
Check if a Language is Supported
To check if a (source) language is supported by the translator's engine:
import tranzlate
translator = tranzlate.Translator()
is_supported = translator.is_supported_language('yo')
print(is_supported)
# Output: True
Check if a Language Pair is Supported
To check if a language pair is supported by the translator's engine:
import tranzlate
translator = tranzlate.Translator()
is_supported = translator.is_supported_pair(src_lang='en', target_lang='yo')
print(is_supported)
# Output: True
Get a List of Supported Target Languages for a Source Language
To get a list of supported target languages for a source language:
import tranzlate
translator = tranzlate.Translator()
supported_target_languages = translator.get_supported_target_languages('en')
print(supported_target_languages)
Testing
To run the tests, simply run the following command in the root directory of your cloned repository:
python -m unittest discover tests "test_*.py"
Contributing
Contributions are welcome. Please open an issue or submit a pull request.
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
Built Distribution
Hashes for tranzlate-0.0.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 86a0d55f7af7858c700725fa74e397a6e3faef20d9d9efb781ddf2ebd9a4fe3e |
|
MD5 | 2e28189da11f89d47333911ca9d4b84b |
|
BLAKE2b-256 | 436b33a01a02f18a26daadc201b0c47fa873992f20929303dfdd14fe26d35bec |