آموزش کار با گوگل ترنسلیت در پایتون

نصب کتابخانه‌ی googletrans

برای ترجمه‌ی هر متن به هر زبان زنده‌ی دنیا می‌توانیم از گوگل ترنسلیت استفاده کنیم. برای کار با گوگل ترنسلیت در پایتون از کتابخانه‌ی googletrans استفاده کنیم. googletrans یک کتابخانه رایگان و نامحدود پایتون است که از Google Translate API استفاده می‌کند.
برای شروع کار باید کتابخانه‌ی googletrans  را نصب کنید؛ پس ترمینال را باز کنید و سپس دستور زیر را وارد کنید.

pip install googletrans

 

آموزش کار با گوگل ترنسلیت در پایتون

ترجمه متن

برای ترجمه متن باید زبان مبدأ و مقصد را مشخص کرد؛ همچنین در ترجمه‌ی کلمه ما اطلاعات اضافه داریم؛ مانند تعریف کلمه و مترادف ها و… اما در ترجمه متن ما اطلاعات اضافه‌ی مناسب نداریم. بنابراین از یک شرط استفاده می‌کنیم تا اطلاعات اضافه را به درستی استخراج کرده و یک خروجی بگیریم.
کد زیر یک تابع است که متن یا کلمه انگلیسی را گرفته و به فارسی ترجمه می‌کند. برای اجرای کد باید به اینترنت متصل باشید.

کد ترجمه متن

from googletrans import Translator
def translate_txt(txt):
    translator = Translator()
    flag = False
    try:
        res = translator.translate(text=txt, src="en", dest="fa")
        try:
            extra_dt = [res.extra_data['all-translations'][0][1],
                    res.extra_data['all-translations'][0][2][0][1],
                    res.extra_data['definitions'][0][1][0][0]]
        except:
            flag = True
            print(res.text)
        if flag == False: # Two translation is prohibited.
            print(res.text, extra_dt)
    except Exception as err:
        if str(err) == "[Errno 11001] getaddrinfo failed": # User is offline.
            print("Error: Please connect to the Internet.")
        else: # Another error.
            print(f"Error: {err}")

translate_txt("Hi")
translate_txt("Hi master")

خروجی

سلام [['سلام!', 'فریاد خوش امد مثل هالو و چطوری و همچنین بجای اهای بکار میرود'], ['Hello!', 'Hi!'], 'used as a friendly greeting or to attract attention.']
سلام استاد

اگر به خروجی دقت کنید؛ ترجمه کلمه، تعریف کلمه در زبان مقصد و مترادف های کلمه، تعریف کلمه در زبان مبدأ را مشاهده می‌کنید.

 

تشخیص زبان مبدأ

from googletrans import Translator
translator = Translator()
print(translator.detect("This sentence is written in English."))

# Output: Detected(lang=en, confidence=1)

 

شخصی سازی سرویس

from googletrans import Translator
translator = Translator(service_urls=[
      'translate.google.com',
      'translate.google.co.kr',
])

 

اطلاعات بیشتر

شما می‌توانید از اطلاعات اضافه (extra_data)، اطلاعات بیشتری بدست بیاورید. قطعه کد های زیر همراه با خروجی اطلاعات بیشتری به شما می‌دهند.

اطلاعات کلی

from googletrans import Translator

translator = Translator()
res = translator.translate(text="Hi", src="en", dest="fa")
print(res)

# Output:
# Translated(src=en, dest=fa, text=سلام, pronunciation=Hi, extra_data="{'translat...")

 

اطلاعات اضافه در extra_data

from googletrans import Translator

translator = Translator()
res = translator.translate(text="Hi", src="en", dest="fa")
print(res.extra_data)

# Output:
"""
{'translation': [['سلام', 'Hi', None, None, 1]], 'all-translations': [['حرف ندا', ['سلام!', 'فریاد خوش امد مثل هالو و چطوری و همچنین بجای اهای بکار میرود'], [['سلام!', ['Hello!', 'Hi!'], None, 0.3795572], ['فریاد خوش امد مثل هالو و چطوری و همچنین بجای اهای بکار میرود', ['Hi!'], None, 7.254888e-05]], 'Hi!', 9]], 'original-language': 'en', 'possible-translations': [['Hi', None, [['سلام', 1000, True, False, [1, 3], None, [[3]]], ['درود', 1000, True, False, [1]], ['با سلام', 0, True, False, [8]]], [[0, 2]], 'Hi', 0, 0]], 'confidence': None, 'possible-mistakes': None, 'language': [['en'], None, [0], ['en']], 'synonyms': None, 'definitions': [['علامت تعجب', [['used as a friendly greeting or to attract attention.', 'm_en_gbus0465760.005', '“Hi there. How was the flight?”', [['informal']]]], 'hi', 17], ['اختصار', [['Hawaii (in official postal use).', 'm_en_gbus0465770.003']], 'hi', 6]], 'examples': None, 'see-also': None}
"""

 

زبان های موجود

import googletrans
print(googletrans.LANGCODES)

# Output:
"""
{'afrikaans': 'af', 'albanian': 'sq', 'amharic': 'am', 'arabic': 'ar', 'armenian': 'hy', 'azerbaijani': 'az', 'basque': 'eu', 'belarusian': 'be', 'bengali': 'bn', 'bosnian': 'bs', 'bulgarian': 'bg', 'catalan': 'ca', 'cebuano': 'ceb', 'chichewa': 'ny', 'chinese (simplified)': 'zh-cn', 'chinese (traditional)': 'zh-tw', 'corsican': 'co', 'croatian': 'hr', 'czech': 'cs', 'danish': 'da', 'dutch': 'nl', 'english': 'en', 'esperanto': 'eo', 'estonian': 'et', 'filipino': 'tl', 'finnish': 'fi', 'french': 'fr', 'frisian': 'fy', 'galician': 'gl', 'georgian': 'ka', 'german': 'de', 'greek': 'el', 'gujarati': 'gu', 'haitian creole': 'ht', 'hausa': 'ha', 'hawaiian': 'haw', 'hebrew': 'he', 'hindi': 'hi', 'hmong': 'hmn', 'hungarian': 'hu', 'icelandic': 'is', 'igbo': 'ig', 'indonesian': 'id', 'irish': 'ga', 'italian': 'it', 'japanese': 'ja', 'javanese': 'jw', 'kannada': 'kn', 'kazakh': 'kk', 'khmer': 'km', 'korean': 'ko', 'kurdish (kurmanji)': 'ku', 'kyrgyz': 'ky', 'lao': 'lo', 'latin': 'la', 'latvian': 'lv', 'lithuanian': 'lt', 'luxembourgish': 'lb', 'macedonian': 'mk', 'malagasy': 'mg', 'malay': 'ms', 'malayalam': 'ml', 'maltese': 'mt', 'maori': 'mi', 'marathi': 'mr', 'mongolian': 'mn', 'myanmar (burmese)': 'my', 'nepali': 'ne', 'norwegian': 'no', 'odia': 'or', 'pashto': 'ps', 'persian': 'fa', 'polish': 'pl', 'portuguese': 'pt', 'punjabi': 'pa', 'romanian': 'ro', 'russian': 'ru', 'samoan': 'sm', 'scots gaelic': 'gd', 'serbian': 'sr', 'sesotho': 'st', 'shona': 'sn', 'sindhi': 'sd', 'sinhala': 'si', 'slovak': 'sk', 'slovenian': 'sl', 'somali': 'so', 'spanish': 'es', 'sundanese': 'su', 'swahili': 'sw', 'swedish': 'sv', 'tajik': 'tg', 'tamil': 'ta', 'telugu': 'te', 'thai': 'th', 'turkish': 'tr', 'ukrainian': 'uk', 'urdu': 'ur', 'uyghur': 'ug', 'uzbek': 'uz', 'vietnamese': 'vi', 'welsh': 'cy', 'xhosa': 'xh', 'yiddish': 'yi', 'yoruba': 'yo', 'zulu': 'zu'}
"""

 

منابع

googletrans · PyPI

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *

اشتراک گذاری مطلب:
جستجو کردن