Python Google translator
last modified January 29, 2024
Python Google translator tutorial shows how to translate text in Python with googletrans module.
Python googletrans is a module to translate text. It uses the
Google Translate Ajax API to detect langauges and translate text.
Python googletrans list languages
In the first example, we list supported languages.
#!/usr/bin/python import googletrans print(googletrans.LANGUAGES)
The program lists all supported languages in a Python dictionary.
import googletrans
We import the googletrans module.
print(googletrans.LANGUAGES)
We print the googletrans.LANGUAGES variable.
$ languages.py
{'af': 'afrikaans', 'sq': 'albanian', 'am': 'amharic', 'ar': 'arabic', 'hy': 'armenian',
'az': 'azerbaijani', 'eu': 'basque', 'be': 'belarusian', 'bn': 'bengali', 'bs': 'bosnian',
'bg': 'bulgarian', 'ca': 'catalan', 'ceb': 'cebuano', 'ny': 'chichewa',
'zh-cn': 'chinese (simplified)', 'zh-tw': 'chinese (traditional)', 'co': 'corsican',
'hr': 'croatian', 'cs': 'czech', 'da': 'danish', ... }
In the output, we can see the supported languages.
Python googletrans detect langauges
The googletrans can be used to detect languages.
#!/usr/bin/python from googletrans import Translator text1 = ''' A Római Birodalom (latinul Imperium Romanum) az ókori Róma által létrehozott államalakulat volt a Földközi-tenger medencéjében ''' text2 = ''' Vysoké Tatry sú najvyššie pohorie na Slovensku a v Poľsku a sú zároveň jediným horstvom v týchto štátoch s alpským charakterom. ''' translator = Translator() dt1 = translator.detect(text1) print(dt1) dt2 = translator.detect(text2) print(dt2)
In the examples, we have two different texts. We use the detect method
to determine the lanugage of the text.
from googletrans import Translator
We import the Translator, which is used to do translations.
text1 = ''' A Római Birodalom (latinul Imperium Romanum) az ókori Róma által létrehozott államalakulat volt a Földközi-tenger medencéjében ''' text2 = ''' Vysoké Tatry sú najvyššie pohorie na Slovensku a v Poľsku a sú zároveň jediným horstvom v týchto štátoch s alpským charakterom. '''
These are the two texts to be translated. The first is Hungarian, the second Slovak.
translator = Translator()
An instance of the Translator is created.
dt1 = translator.detect(text1) print(dt1)
We determine the language of the text with detect
and print the result to the console. The method prints the
language and the confidence value, which is the probability of the
correct guess of the language.
$ ./detecting.py Detected(lang=hu, confidence=1.0) Detected(lang=sk, confidence=1.0)
The two languages were correctly detected.
Python googletrans simple translation
The translation is done with the Translator's translate
method.
#!/usr/bin/python
from googletrans import Translator
translator = Translator()
translated = translator.translate('Бороди́нское сраже́ние')
print(translated.text)
If we do not specify the source and the destination languages,
googletrans tries to detect the language and translates
it into English.
translated = translator.translate('Бороди́нское сраже́ние')
We translate a Russian text. We get a tranlated object.
print(translated.text)
To get the translation, we print the text field of
the translated object.
$ ./simple.py Battle of Borodino
The source and destination languages
In the following example, we specify the source and the destination languages.
#!/usr/bin/python
from googletrans import Translator
translator = Translator()
translated = translator.translate('svízelná situace', src='cs', dest='hu')
print(translated.text)
The example translates a Czech text into Hungarian.
translated = translator.translate('svízelná situace', src='cs', dest='hu')
The source language is specified with the src option and the
destination with the dest option.
$ ./source_dest.py bizonytalan helyzetben
Python googletrans translate list
We can translate a list of texts.
#!/usr/bin/python
from googletrans import Translator
translator = Translator()
data = ['Dobrý deň', 'majestátny orol', 'krehká dohoda']
translated = translator.translate(data, src='sk', dest='en')
for trans in translated:
print(f'{trans.origin} -> {trans.text}')
In the example, we translate three text values in a Python list.
$ ./translate_list.py Dobrý deň -> Good day majestátny orol -> majestic eagle krehká dohoda -> fragile agreement
Source
Python Googletrans documentation
In this article we have worked with the Python Google translator.
Author
List all Python tutorials.