In our daily life and work, we often need to use translation tools. Among many translation tools, I personally prefer Google Translate, so here are three ways to call the Google Translate interface through Python.
Method 1
import requests
def translate_1(text, src_lang='auto', to_lang='en'):
googleapis_url = 'https://translate.googleapis.com/translate_a/single'
url = '%s?client=gtx&sl=%s&tl=%s&dt=t&q=%s' % (googleapis_url,src_lang,to_lang,text)
data = requests.get(url).json()
res = ''.join([s[0] for s in data[0]])
Return res
Method 2
# pip install bs4
import requests
from bs4 import BeautifulSoup
def translate_2(text, src_lang='auto', to_lang='en'):
url = 'https://translate.google.cn/m?q=%s&tl=%s&sl=%s' % (text,to_lang,src_lang)
soup = BeautifulSoup(requests.get(url).text,'lxml')
res = soup.find('div',{'class':'result-container'}).text
Return res
Method 3
# pip install googletrans==4.0.0-rc1
from googletrans import Translator
def translate_3(text, src_lang='auto', to_lang='en'):
Translator = Translator(service_urls=['translate.google.cn'])
res = translator.translate(text, dest=to_lang, src=src_lang).text
Return res
Running result display

Get all languages and their corresponding encodings
import requests
from bs4 import BeautifulSoup
def get_all_langcode():
Response = requests.get(url='https://translate.google.cn')
soup = BeautifulSoup(response.text,'lxml')
res_dict = {}
for res in soup.find_all('div',{'class':'qSb8Pe'}):
res_dict[res['data-language-code']] = res.find('div',{'class':'Llmcnf'}).text
Return res_dict
{
'auto': 'Detect language',
'sq': 'Albanian',
'ar': 'Arabic',
'am': 'Amharic',
'as': 'Assamese',
'az': 'Azerbaijani',
'ee': 'Ewe',
'ay': 'Aymara',
'ga': 'Irish',
'et': 'Estonian',
'or': 'Oriya',
'om': 'Oromo',
'eu': 'Basque',
'be': 'Belarusian',
'bm': 'Bambara',
'bg': 'Bulgarian',
'is': 'Icelandic',
'pl': 'Polish',
'bs': 'Bosnian',
'fa': 'Persian',
'bho': 'Bhojpuri',
'af': 'Boolean (Afrikaans)',
'tt': 'Tatar',
'da': 'Danish',
'de': 'German',
'dv': 'Dhivehi',
'ti': 'Tignian',
'doi': 'Dog Laiyu',
'ru': 'Russian',
'fr': 'French',
'sa': 'Sanskrit',
'tl': 'Filipino',
'fi': 'Finnish',
'fy': 'Frisian',
'km': 'Khmer',
'ka': 'Georgian',
'gom': 'Gonggen language',
'gu': 'Gujarati',
'gn': 'Guarani',
'kk': 'Kazakh',
'ht': 'Haitian Creole',
'ko': 'Korean',
'ha': 'Hausa',
'nl': 'Dutch',
'ky': 'Kyrgyz',
'gl': 'Galician',
'ca': 'Catalan',
'cs': 'Czech',
'kn': 'Kannada',
'co': 'Corsican',
'kri': 'Creole',
'hr': 'Croatian',
'qu': 'Quechua',
'ku': 'Kurdish (Kurmanji)',
'ckb': 'Kurdish (Sorani)',
'la': 'Latin',
'lv': 'Latvian',
'lo': 'Lao',
'lt': 'Lithuanian',
'ln': 'Lingala',
'lg': 'Luganda',
'lb': 'Luxembourgish',
'rw': 'Rywanda',
'ro': 'Romanian',
'mg': 'Malgasian',
'mt': 'Maltese',
'mr': 'Marathi',
'ml': 'Malayalam',
'ms': 'Malay',
'mk': 'Macedonian',
'mai': 'Maitili',
'mi': 'Maori',
'mni-Mtei': 'Mtei (Manipur)',
'mn': 'Mongolian',
'bn': 'Bengali',
'lus': 'Mizo',
'my': 'Burmese',
'hmn': 'Miao',
'xh': 'South African Xhosa',
'zu': 'South African Zulu',
'ne': 'Nepali',
'no': 'Norwegian',
'pa': 'Punjabi',
'pt': 'Portuguese',
'ps': 'Pashto',
'ny': 'Chichewa',
'ak': 'Twi',
'ja': 'Japanese',
'sv': 'Swedish',
'sm': 'Samoan',
'sr': 'Serbian',
'nso': 'Sepeti',
'st': 'Sesotho',
'si': 'Sinhala',
'eo': 'Esperanto',
'sk': 'Slovak',
'sl': 'Slovenian',
'sw': 'Swahili',
'gd': 'Scottish Gaelic',
'ceb': 'Cebuano',
'so': 'Somali',
'tg': 'Tajik',
'te': 'Telugu',
'ta': 'Tamil',
'th': 'Thai',
'tr': 'Turkish',
'tk': 'Turkmen',
'cy': 'Welsh',
'ug': 'Uighur',
'ur': 'Urdu',
'uk': 'Ukrainian',
'uz': 'Uzbek',
'es': 'Spanish',
'iw': 'Hebrew',
'el': 'Greek',
'haw': 'Hawaiian',
'sd': 'Sindhi',
'hu': 'Hungarian',
'sn': 'Shuna language',
'hy': 'Armenian',
'ig': 'Igbo',
'ilo': 'Ilocano',
'it': 'Italian',
'yi': 'Yiddish',
'hi': 'Hindi',
'su': 'Indonesian Sundanese',
'id': 'Indonesian',
'jw': 'Javanese',
'en': 'English',
'yo': 'Yoruba',
'vi': 'Vietnamese',
'zh-TW': 'Chinese (Traditional)',
'zh-CN': 'Chinese (Simplified)',
'ts': 'Zonga'
}