با این آموزش آسان، مترجم زبان خود را در کمترین زمان راه اندازی کنید.
امروزه بیش از 7000 زبان در جهان صحبت می شود. با چنین تنوعی نیاز به یادگیری آنها وجود دارد تا بتوانیم یکدیگر را درک کنیم. با توجه به تعداد زیاد زبانها، بدون شک فرصتهایی را برای به اشتراک گذاشتن ایدهها، دانش و بیان شخصی از دست میدهیم.
خوشبختانه، شما می توانید با کمک یک مترجم، از جمله یک مترجم مبتنی بر ماشین، ارتباط برقرار کنید. جمله خود را تایپ یا صحبت کنید و یک برنامه می تواند آن را به زبان مورد نظر شما تبدیل کند. با استفاده از ماژول Googletrans Python، می توانید مترجم اصلی خود را تنها با چند خط کد بسازید.
گوگل ترانس چیست؟
Googletrans ماژولی است که از Google Translate API برای شناسایی و ترجمه جملات از یک زبان به زبان دیگر استفاده می کند. چند ویژگی این ماژول عبارتند از:
- رایگان: برای استفاده از این ماژول نیازی به پرداخت هیچ هزینه ای ندارید.
- نامحدود: برخلاف اکثر APIها، Googletrans دارای نرخ محدود نیست و می توانید از آن برای ترجمه های نامحدود استفاده کنید.
- قابل اعتماد: گوگل یکی از قابل اعتمادترین منابع در اینترنت است. Googletrans از همان سرورهایی استفاده می کند که Google Translate استفاده می کند.
- تشخیص خودکار زبان: برخلاف سایر مترجمان، نیازی نیست زبان مبدأ را مشخص کنید. این ماژول می تواند به طور خودکار یک زبان را تشخیص دهد و حتی اگر ندانید جمله از چه زبان یا لهجه ای بوده است، کار می کند.
- ترجمه های انبوه: به جای اینکه یک جمله یا پاراگراف را تک تک ترجمه کنید، می توانید فهرستی از چندین را وارد کنید.
اگر به دنبال جایگزینی هستید یا فقط می خواهید وضعیت فعلی فناوری ترجمه را بررسی کنید، می توانید از این ابزار مرورگر برای ترجمه صفحات وب استفاده کنید.
یافتن لیست زبان هایی که Googletrans پشتیبانی می کند
با نصب ماژول با استفاده از روش دلخواه خود شروع کنید. نصب Pip ساده ترین راه است.
ممکن است در رابطه با نسخه googletrans که نصب می کنید با مشکلاتی مواجه شوید. اگر هنگام اجرای این نمونه ها خطا می بینید، سعی کنید نسخه 3.1.0a0 را نصب کنید.
pip install googletrans==3.1.0a0
.
Googletrans از زبان های مختلفی برای تبدیل پشتیبانی می کند. برای یافتن لیست زبان هایی که پشتیبانی می کند، قطعه کد پایتون زیر را اجرا کنید:
import googletrans\nprint(googletrans.LANGUAGES)
کتابخانه Googletrans را به محیط خود وارد کنید و از LANGUAGES برای دریافت لیست زبان ها و مخفف آن استفاده کنید.
خروجی این برنامه مشابه این اسکرین شات خواهد بود:
استفاده از Googletrans برای تشخیص زبان
یکی از بهترین ویژگی های Googletrans این است که به طور خودکار زبان ورودی را تشخیص می دهد، بنابراین لازم نیست خودتان آن را ارائه دهید. برای شناسایی زبان، مترجم موجود در ماژول googletrans را وارد کرده و نمونه آن را ایجاد کنید. از متد detect() استفاده کنید و یک رشته را به هر زبان دلخواه ارسال کنید. خروجی را با استفاده از دستور print() نمایش دهید.
from googletrans import Translator\ntranslator = Translator()\nprint(translator.detect('이 문장은 한글로 쓰여졌습니다.'))\nprint(translator.detect('この文章は日本語で書かれました。'))\nprint(translator.detect('This sentence is written in English.'))
این قطعه کد پایتون خروجی زیر را تولید می کند:
مخفف زبان شناسایی شده مانند en برای انگلیسی را نمایش می دهد و دقت تشخیص زبان را نشان می دهد.
استفاده از Googletrans برای شناسایی خودکار و ترجمه به زبان مورد نظر
مترجم را از ماژول googletrans وارد کنید و چند خط متنی را که می خواهید تبدیل کنید ارسال کنید. یک نمونه از مترجم ایجاد کنید. دو پارامتر را انتخاب کنید، متنی که به عنوان مبدا و مقصد عمل می کند، زبانی که می خواهید به آن تبدیل کنید، و آن را به متد ()translate ارسال کنید.
متد translate() به طور خودکار متن شما را به زبان مورد نظر شما شناسایی و ترجمه می کند. نمایش متن ترجمه شده این زبان مبدأ، زبان مقصد و متن ترجمه شده را نمایش می دهد. شما می توانید از تابع متن فقط برای نمایش متن ترجمه شده استفاده کنید.
from googletrans import Translator\ntest = ''' आयरन मैन मार्वल कॉमिक्स का सुपर हीरो है। चरित्र लेखक और संपादक स्टैन ली द्वारा बनाया गया था,\nऔर इसकी स्क्रिप्ट लारी लिबियर द्वारा विकसित की गई थी,\nऔर डिजाइन कलाकार डॉन हैक और जैक किर्बी द्वारा बनाया गया था।\nचरित्र ने अपनी पहली उपस्थिति टेल्स ऑफ सस्पेंस #३९ (कवर मार्च १९६३) में दर्ज की। '''\ntranslator = Translator()\ntranslated = translator.translate(test, dest = 'en')\nprint(translated.text)
خروجی تشخیص و ترجمه خودکار زبان عبارت است از:
استفاده از Googletrans برای انجام ترجمه انبوه
می توانید ترجمه انبوه زبان ها را انجام دهید. برای انجام این، ماژول مورد نیاز را وارد کرده و یک نمونه از Translator ایجاد کنید. از روش ترجمه استفاده کنید و لیستی از رشته های متنی را به همراه مخفف زبان مورد نظری که می خواهید زبان را به آن تبدیل کنید، ارسال کنید.
روی شی برگشتی تکرار کنید و از تابع مبدا برای نمایش متن اصلی و پارامتر متن برای نمایش متن ترجمه شده استفاده کنید.
from googletrans import Translator\ntranslator = Translator()\ntranslations = translator.translate(['What do you know?', 'Is this true?', 'We will eat a burger tomorrow'], dest='hi')\nfor translation in translations:\n print(translation.origin, ' -> ', translation.text)
خروجی Googletrans که ترجمه انبوه را انجام می دهد:
چگونه با استفاده از صدا از یک زبان به زبان دیگر ترجمه کنیم
همچنین می توانید از صدای خود برای تعامل با مترجم و ساختن نسخه ای ساده از ترجمه های بلادرنگ دستیار Google استفاده کنید. برای انجام این کار، ماژول تشخیص گفتار را با نام مستعار spr وارد کنید. کتابخانه googletrans را برای ترجمه و gTTS (Google Text-to-Speech) وارد کنید تا متن ترجمه شده را به عنوان فایل صوتی که می توانید بشنوید تبدیل کنید. برای ذخیره فایل صوتی، سیستم عامل را وارد کنید.
import speech_recognition as spr\nfrom googletrans import Translator\nfrom gtts import gTTS\nimport os
یک شی کلاس از Recognizer برای تشخیص کلماتی که کاربر به عنوان ورودی می گوید و یک شی دیگر برای مقداردهی اولیه میکروفون برای ضبط صدا ایجاد کنید.
recog1 = spr.Recognizer()\nmc = spr.Microphone()
از دستور with به عنوان بخشی از مدیریت استثنا استفاده کنید. با استفاده از شی میکروفون به عنوان منبع، این اقدامات را انجام دهید. شی مترجم را برای ترجمه مقداردهی کنید. منبع و زبان مقصد مورد نظر خود را تنظیم کنید. با استفاده از عبارت print به کاربر اطلاع دهید که چیزی صحبت کند.
برای کالیبره کردن برای اولین باری که شروع به گوش دادن می کند، از متد () adjust_for_ambient_noise استفاده کنید. شما این کار را انجام می دهید زیرا ویژگی آستانه نمونه احتمالاً روی مقدار بالاتری تنظیم شده است و سپس مطابق با صدای شنیده شده تنظیم می شود. کالیبره کردن این مقدار آستانه را به صورت خودکار روی مقدار کمتری تنظیم می کند.
از ویژگی listen برای ضبط یک عبارت استفاده کنید. برنامه صدا را ضبط می کند تا زمانی که چند ثانیه سکوت باقی بماند یا دیگر ورودی صوتی وجود نداشته باشد. از شناسه_google() برای استفاده از Google Web API و تشخیص گفتار از منبع صوتی استفاده کنید. از طرف دیگر، می توانید از Bing، IBM، Sphinx و Wit نیز استفاده کنید.
with mc as source:\n translator = Translator()\n from_lang = 'en'\n to_lang = 'hi'\n print("Speak something...")\n recog1.adjust_for_ambient_noise(source, duration=0.2)\n audio = recog1.listen(source)\n get_sentence = recog1.recognize_google(audio)
عبارت شناسایی شده از صدا را نمایش دهید. جمله، زبان مبدأ و زبان مقصد را به تابع translate() منتقل کنید. متن ترجمه شده را با فراخوانی پارامتر متن نمایش دهید و با استفاده از عبارت print نمایش دهید.
print("Phrase to be Translated :" + get_sentence)\n text_to_translate = translator.translate(get_sentence,\n src=from_lang,\n dest=to_lang)\n text = text_to_translate.text\n print("The translated text is: ", text)
در نهایت از gTTS برای تبدیل متن به گفتار استفاده کنید. متن، زبان مورد نظر را ارسال کنید و به صورت اختیاری پارامتر کند را روی false تنظیم کنید. صدا را به عنوان فایل mp3 ذخیره کنید و از ماژول os برای اجرای فایل صوتی ذخیره شده استفاده کنید.
speak = gTTS(text=text, lang=to_lang, slow=False)\n speak.save("captured_voice.mp3")\n os.system("start captured_voice.mp3")
خط نهایی این برنامه نیاز به
شروع کنید
دستور پخش فایل mp3. بسته به محیط محلی خود، ممکن است لازم باشد این دستور را با دستور دیگری جایگزین کنید. به عنوان مثال، در macOS، می توانید از
afplay
فرمان
خروجی ای که برای ترجمه از یک زبان به زبان دیگر با استفاده از صدا به دست می آورید:
جایگزین های گوگل ترنسلیت
در حالی که Google Translate محبوب ترین سایت برای ترجمه است، سفارشی سازی محدودی دارد، بنابراین ممکن است برای برخی موارد استفاده مناسب نباشد.
اگر Google Translate نیازهای شما را برآورده نمی کند، می توانید جایگزین هایی مانند iTranslate، Baidu Translate، Liguee و DeepL را بررسی کنید. اینها رایگان هستند، از بسیاری از پلتفرم ها پشتیبانی می کنند و ممکن است برای استفاده شما مناسب تر باشند.