Traducir con la API de Google Translate para Python






 Instalación

Descargar API desde el instalador de paquetes de Python(pip)

$ pip install googletrans

Lista de lenguajes soportado

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


Uso Básico

El uso más básico de la API de Google Translate es, por supuesto, traducir palabras u oraciones de un idioma a otro. Para hacerlo, tenemos que importar la clase  Translator del google transmódulo.

from googletrans import Translator

A continuación, debe crear un objeto de la clase Translator.

translator = Translator()

Una vez que se crea el objeto de la clase Translator, pasará el texto en el idioma de origen como un parámetro al método translate() del objeto de la clase Translator() , como se muestra a continuación:


result = translator.translate('Mitä sinä teet', dest='spanish')

En la secuencia de comandos anterior, pasamos texto en finlandés al translate() método.


El objeto devuelto por el método translate()  tiene los siguientes atributos:

  • src: El idioma de origen
  • dest: Idioma de destino, que se establece en Español(spanish)
  • origin: Texto original, que es 'Mitä sinä teet' en nuestro ejemplo
  • text: Texto traducido, que será '¿qué estás haciendo?' en nuestro caso
  • pronunciation: Pronunciación del texto traducido
Imprimamos todos los atributos anteriores y veamos qué resultado obtenemos:

print(result.src)
print(result.dest)
print(result.origin)
print(result.text)
print(result.pronunciation)


Salida:

fi
es
Mitä sinä teet
¿qué estás haciendo?
¿qué estás haciendo?

Traducción de documentos

También puede traducir documentos de texto a través de la API de Google Translate. Todo lo que tienes que hacer es leer el archivo de texto en Python usando el método open,  leer el texto y pasarlo al método translate().

El primer paso es abrir el archivo en modo "lectura":


f = open('C:\\Users\\Khurram\\Desktop\\test.txt', 'r')

A continuación, puede utilizar el método f.read() para leer el contenido del archivo. El contenido del archivo se puede almacenar en cualquier variable. En nuestro caso, el nombre de la variable será contents.

contents = f.read()
print(contents)


Aquí está la salida del contenido del archivo:

We are going to translate this text file using Python.


Hemos comprobado que Python está accediendo y leyendo el archivo de texto. Ahora, traduciremos el resultado importando la misma clase Translate anterior


from googletrans import Translator
file_translate = Translator()

El siguiente paso es pasar la variable contents que contiene el texto de entrada a la función translate(). Finalmente, imprima el textatributo del objeto devuelto por el método translate() y obtendrá la cadena traducida.


result = translator.translate(contents, dest='spanish')
print(result.text)

Salida:

Vamos a traducir este archivo de texto a Python.


Para escribir el texto traducido en el mismo archivo o en un archivo de texto diferente, simplemente abrirá el archivo en el modo de escritura ("w"). A continuación, debe llamar al método write() y pasarle su texto traducido, como se muestra a continuación:

with open('C:\\Users\\Khurram\\Desktop\\test_2.txt', 'w') as f:
    f.write(result.text)



En el ejemplo anterior, hemos utilizado el administrador de contexto with para abrir y cerrar automáticamente la secuencia de escritura. En segundo lugar, hemos abierto el archivo en modo escritura. Por último, hemos utilizado el método write() para escribir la cadena traducida en un nuevo archivo.






Comentarios