CURS ONLINE INTERACTIV

Python 3

PENTRU ÎNCEPĂTORI


"Primul volum Python în română care pur și simplu m-a uimit. Foarte bine explicat și ușor de înțeles." (Alexandru Cosmin)

"Cea mai bună carte de Python din RO." (Iulian Geană)

"Livrare promptă! M-am pus pe treabă!" (Emil Ilie)

TOATE RECENZIILE
NOU PROIECT
PAG. 1 / 1
Traducerea automată a textului
Acasă >>> Lecții online, limbajul Python 3
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.
Secțiunea s-a terminat.
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]
 home   list  LECȚII   perm_identity   arrow_upward