Traducerea automată a textului
Ori de câte ori încerci să traduci un cuvânt sau o propoziție dintr-o anumită limbă în alta,
este
API-ul
Google Translate care îți aduce adesea rezultatele dorite în fundal. Deși poți traduce orice
mergând pur și simplu pe pagina web a
Google Translate, poți de asemenea integra
API-ul oferit gratuit de Google
în programele tale Python.
Instalarea pachetului
Cel mai bun lucru despre acest API este că este extrem de ușor de configurat și de utilizat.
Pur și simplu deschide terminalul ("
cmd.exe" în
Windows) și folosește comanda
pip
pentru a instala API-ul, la fel cum ai face pentru oricare altă bibliotecă Python:
pip install googletrans==4.0.0-rc1
Avem nevoie de această versiune (4.0.0-rc1) pentru a preveni unele bug-uri mai vechi.
Așteptăm câteva momente și dacă totul a funcționat corect, modulul a fost instalat cu succes:
Info. Citește mai multe detalii
[
despre PIP].
Documentația oficială a modului
Google Translate pentru Python o poți găsi
[
aici].
Ce limbi sunt disponibile?
Păi cam aceasta ar putea fi prima interacțiune cu acest modul în Python. Priviți codul de mai jos:
import googletrans
print(googletrans.LANGUAGES)
Programul meu este salvat într-un fișier cu extensia
py, numit "
google.py":
Am executat programul și a fost afișată o listă a tuturor limbilor care pot fi utilizate de modul,
alături de codul lor corespunzător. Spre exemplu, pentru limba română este "
ro", pentru engleză este "
en",
limba franceză, "
fr", limba germană, "
de", ș.a.m.d.
Un prim exemplu de traducere
Analizați codul de mai jos, precum și rezultatul în consolă:
from googletrans import Translator
translator = Translator()
rezultat = translator.translate('Salutare, ma bucur sa te intalnesc!')
print(rezultat.text)
Mai întâi, am importat clasa
Translator din modulul
googletrans.
Variabila
translator reține o instanțiere (un obiect) a clasei
Translator.
Variabila
rezultat va conține o clasă de tip
googletrans.models.Translated,
care la rândul ei are unele atribute utile pentru noi. Spre exemplu, textul tradus
este reținut de atributul
text, apelat prin
rezultat.text.
Metoda
translate a obiectului
translator a primit ca unic parametru un
text sub forma unui string (clasa
str), iar traducerea a fost efectuată automat
în limba care este implicită -
engleza. Interesant este faptul că funcția a
detectat automat limba sursă -
româna.
Putem afișa spre exemplu și alte atribute ale rezultatului, exemplul fiind evident:
...
print("Limba initiala:",rezultat.src) #text sursa
print("Limba rezultatului:",rezultat.dest) #text procesat
De asemenea, mai există și atributele
origin (textul inițial), precum și
pronunciation
(modul de pronunțare a textului rezultat), iar acestea pot fi utile în cadrul programelor noastre.
Limba rezultatului traducerii
Putem impune limba rezultatului cu ajutorul parametrului
dest al metodei
translate:
from googletrans import Translator
translator = Translator()
rezultat = translator.translate('Python este foarte fain!', dest='fr')
print(rezultat.text)
De data aceasta am ales limba
franceză cu ajutorul codului "
fr".
Dacă este necesar, se poate impune și limba textului sursă, folosind parametrul suplimentar
src:
rezultat = translator.translate('Python este foarte fain!', src='ro', dest='fr')
Traducerea componentelor unei liste
Să presupunem că avem o listă care conține mai multe elemente de tip
string (șir de caractere, clasa
str)
și ne dorim să le traducem folosind modulul Google Translate, rezultatele fiind salvate într-o altă listă.
Nimic mai simplu, analizați programul de mai jos:
from googletrans import Translator
t = Translator()
culori = ['rosu','verde','albastru','alb','negru','galben']
culori_fr = []
for i in culori:
culori_fr.append(t.translate(i, dest='fr').text)
print(culori)
print(culori_fr)
Metoda
translate acceptă textul doar în format
string, așadar a trebuit să iterăm
printre toate elementele listei noastre. Am tradus textul reținut de fiecare element al listei,
adăugându-l la fiecare pas în interiorul noii liste numită
culori_fr. Am scris totul
pe o singură linie, trimițând ca parametru pentru metoda
append rezultatul metodei
translate. Puteam scrie și așa, pentru o mai bună înțelegere a codului, folosind o
variabilă auxiliară:
...
for i in culori:
i_tradus = t.translate(i, dest='fr').text
culori_fr.append(i_tradus)
...
Proiecte propuse
Idei și metode sunt multe, acum că am descoperit modul de lucru. Vă recomandăm să citiți puțin și documentația modului
Google Translate pe care o găsiți
[
aici].
1. Creează un program care să permită utilizatorilor să introducă un text într-o limbă
și să îl traducă automat într-o alta folosind Googletrans.
Sugestii. Poți cere utilizatorului codul pentru limba dorită
și nu uita să verifici în cod dacă aceasta există sau nu. Altă idee ar fi sâ afișezi un meniu cu cele mai importante limbi din
care utilizatorul va putea alege una. Fii creativ și realizează o interfață cu utilizatorul elegantă și utilă!
2. Construiește un program care să funcționeze ca un dicționar multilingv. Utilizatorii pot introduce
un cuvânt sau o frază și programul va returna traducerea acestuia în diferite limbi.
3. Creați un program care să poată detecta automat limba unui text introdus de utilizator
folosind Googletrans.
4 *.
Fișiere text. Construiește un program care să permită utilizatorilor să încarce un fișier de subtitrare
și să îl traducă automat într-o altă limbă folosind Googletrans. Astfel, poți crea subtitrări
traduse pentru diferite videoclipuri, etc.
5 **.
Joc text. Creează un joc interactiv în care utilizatorul să ghicească cuvinte într-o limbă străină.
Programul poate genera cuvinte aleatoare dintr-o listă predefinită și le poate traduce automat
folosind Googletrans. Utilizatorul trebuie să ghicească traducerea corectă a cuvântului și
să primească un feedback în funcție de răspunsul său.
Cărțile editurii noastre
O parte dintre manualele și culegerile de probleme se găsește și [
în format electronic]
securizat sub formă
de fișier *.pdf.
"
O cameră fără cărţi este ca un corp fără suflet."
(G. K. Chesterton)
Cursanții au mai cumpărat ...
[
vezi lista completă a cărților]