فهرست مطالب
نصب کتابخانهی 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'} """