Traducci贸n de texto con la API de Google Translate en Python

    A menos que se haya estado escondiendo debajo de una roca, probablemente haya usado Traductor de google en muchas ocasiones en tu vida. Siempre que intente traducir una palabra o una oraci贸n de un idioma determinado a otro, es la API de Google Translate la que le brinda los resultados deseados en segundo plano. Aunque puede traducir cualquier cosa con solo ir a la p谩gina web del Traductor de Google, tambi茅n puede integrar API de Google Translate en sus aplicaciones web o programas de escritorio. Lo mejor de la API es que es extremadamente f谩cil de configurar y usar.

    De hecho, puede hacer muchas cosas con la ayuda de la API de Google Translate, que van desde la detecci贸n de idiomas hasta la traducci贸n de texto simple, la configuraci贸n de idiomas de origen y destino y la traducci贸n de listas completas de frases de texto. En este art铆culo, ver谩 c贸mo trabajar con la API de Google Translate en el lenguaje de programaci贸n Python.

    Instalaci贸n de la API de Google Translate

    Antes de poder trabajar con la API de Google Translate en Python, deber谩 instalarla. Hay dos m茅todos diferentes para instalar la API. El primer m茅todo es sencillo. Simplemente vaya a la terminal y use el pip instalador para instalar la API, como lo har铆a con cualquier otra biblioteca de Python. Para hacer esto, escriba el siguiente comando en su terminal:

    $ pip install googletrans
    

    Presione Enter y el m贸dulo Python para la API de Google Translate se instalar谩 en su sistema.

    Si ha instalado una distribuci贸n Anaconda de Python, puede instalar la API usando Anaconda Prompt. En este m茅todo en particular, reemplazar谩 pip en el comando anterior con conda, como se muestra en el siguiente fragmento de c贸digo:

    $ conda install googletrans
    

    Ahora que ha instalado la API, la veremos en acci贸n con la ayuda de algunos ejemplos.

    Listado de idiomas admitidos

    La API de Google Translate es compatible con una variedad de idiomas. Para enumerar todos los idiomas admitidos, ejecute el siguiente script:

    import googletrans
    
    print(googletrans.LANGUAGES)
    

    En el ejemplo anterior, usa la palabra clave import para importar el googletrans m贸dulo. Posteriormente, puede enumerar todos los nombres de los idiomas imprimiendo el LANGUAGES atributo del googletrans m贸dulo.

    Cuando se ejecuta, el fragmento de c贸digo anterior enumerar谩 todos los nombres de los idiomas admitidos junto con su notaci贸n abreviada. As铆 es como se ver谩 la salida:

    {'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', "https://Pharos.sh.com/text-translation-with-google-translate-api-in-python/fi": 'finnish', "https://Pharos.sh.com/text-translation-with-google-translate-api-in-python/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 el Translator clase de googletrans m贸dulo.

    from googletrans import Translator
    

    A continuaci贸n, debe crear un objeto del Translator clase.

    translator = Translator()
    

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

    result = translator.translate('Mit盲 sin盲 teet')
    

    En el script anterior, pasamos texto en finland茅s al translate() m茅todo.

    los translate() El m茅todo devuelve un objeto que contiene informaci贸n sobre el texto traducido, los idiomas de origen y destino y la pronunciaci贸n del texto. Por defecto, el translate() El m茅todo devuelve la traducci贸n al ingl茅s del texto que se le ha pasado. En nuestro caso, el objeto devuelto por el translate() El m茅todo se almacena en el result variable.

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

    • src: El idioma de origen
    • dest: Idioma de destino, que se establece en ingl茅s (en)
    • 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
    en
    Mit盲 sin盲 teet
    What are you doing
    What are you doing
    

    El resultado muestra que el idioma de origen es el finland茅s (fi) y el idioma de destino es el ingl茅s (en). La frase traducida se puede imprimir a trav茅s del text atributo.

    En el ejemplo anterior, no especificamos el idioma de origen. Por lo tanto, la API de Google Translate intenta detectar el idioma fuente por s铆 mismo. De manera similar, tampoco especificamos ning煤n idioma de destino y, por lo tanto, la API tradujo el idioma de origen al idioma predeterminado que es el ingl茅s. Pero, 驴qu茅 sucede si desea especificar tanto el idioma de origen como el de destino?

    Especificaci贸n de idiomas de origen y destino

    De hecho, es muy f谩cil especificar tanto el idioma de origen como el de destino en la API de Google Translate. Aqu铆 est谩 el c贸digo que usar谩 para pasar solo el idioma fuente:

    result = translator.translate('Mik盲 on nimesi', src="https://Pharos.sh.com/text-translation-with-google-translate-api-in-python/fi")
    

    Para agregar solo el idioma de destino, debe agregar dest atributo, seguido del c贸digo de idioma:

    result = translator.translate('Mik盲 on nimesi', dest="https://Pharos.sh.com/text-translation-with-google-translate-api-in-python/fr")
    

    Tambi茅n puede pasar los idiomas de origen y destino al mismo tiempo:

    result = translator.translate('Mik盲 on nimesi', src="https://Pharos.sh.com/text-translation-with-google-translate-api-in-python/fi", dest="https://Pharos.sh.com/text-translation-with-google-translate-api-in-python/fr")
    

    Ahora traduzcamos una oraci贸n finlandesa al franc茅s y luego imprimamos los idiomas de origen y destino, as铆 como el texto traducido. Esta vez especificaremos los idiomas de origen y destino.

    from googletrans import Translator
    
    translator = Translator()
    result = translator.translate('Mik盲 on nimesi', src="https://Pharos.sh.com/text-translation-with-google-translate-api-in-python/fi", dest="https://Pharos.sh.com/text-translation-with-google-translate-api-in-python/fr")
    
    print(result.src)
    print(result.dest)
    print(result.text)
    

    El fragmento de c贸digo anterior producir谩 el siguiente resultado.

    fi
    fr
    Quel est votre nom
    

    Traducci贸n de lista de frases

    Tambi茅n es posible traducir una lista de frases textuales con la ayuda de la API de Google Translate. El proceso b谩sico es el mismo que se discuti贸 anteriormente. Solo tienes que pasar la lista que contiene las frases como par谩metro al translate() m茅todo. Esto es 煤til para tener un lote de frases traducidas por separado, pero todo en una llamada API.

    Creemos una lista de cadenas que contengan algunas frases del idioma franc茅s.

    sentences = ['Bienvenu', 'Comment allez-vous', 'je vais bien']
    

    Ahora es el momento de llamar al translate() y pase la lista, el idioma de origen y el idioma de destino como par谩metros.

    result = translator.translate(sentences, src="https://Pharos.sh.com/text-translation-with-google-translate-api-in-python/fr", dest="sw")
    

    En el script anterior, el idioma de origen es el franc茅s y el idioma de destino es el suajili.

    los translate() El m茅todo devuelve una lista de objetos si le pasa una lista de frases. Cada objeto de la lista devuelto por translate() El m茅todo corresponde a cada frase de la lista de entrada que debe traducirse. La mejor manera de encontrar la traducci贸n de cada frase de entrada en la lista es iterar sobre la lista de objetos de salida. A continuaci贸n, puede utilizar el text, origin, srcy otros atributos de los objetos individuales para ver la traducci贸n de frases individuales en la lista de entrada.

    En el siguiente script, iteramos sobre la lista de objetos devueltos por translate() m茅todo y luego imprime el origen y el texto traducido:

    for trans in result:
        print(f'{trans.origin} -> {trans.text}')
    

    El siguiente ser谩 el resultado que se mostrar谩 en la pantalla.

    Bienvenu -> karibu
    Comment allez-vous -> Vipi wewe
    je vais bien -> Niko sawa
    

    Traducci贸n de documentos de texto

    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 open m茅todo, lea el texto y p谩selo al translate() m茅todo.

    El primer paso es abrir el archivo en modo “lectura”:

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

    Tambi茅n puede comprobar si el archivo est谩 en modo “lectura” utilizando el mode propiedad:

    if f.mode == 'r':
    

    A continuaci贸n, puede utilizar el f.read() m茅todo 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.

    Tambi茅n imprimiremos el contents variable para comprobar si Python est谩 leyendo correctamente el archivo de texto:

    contents = f.read()
    print(contents)
    

    Aqu铆 est谩 la salida del contenido del archivo:

    We are going to translate this text file using Python.
    Subsequently, we will also translate it into French.
    

    Aseg煤rese de tener el contenido anterior en su archivo de texto si desea seguir nuestro ejemplo.

    Hemos comprobado que Python est谩 accediendo y leyendo el archivo de texto. Ahora, traduciremos el resultado importando el mismo Translate clase de antes.

    from googletrans import Translator
    
    file_translate = Translator()
    

    El siguiente paso es pasar el contents variable que contiene el texto de entrada al translate() funci贸n. Finalmente, imprima el text atributo del objeto devuelto por el translate() m茅todo y obtendr谩 la cadena traducida.

    result = translator.translate(contents, dest="https://Pharos.sh.com/text-translation-with-google-translate-api-in-python/fr")
    print(result.text)
    

    La salida deber铆a verse como la siguiente:

    Nous allons traduire ce fichier texte en Python.
    Par la suite, nous le traduirons 茅galement en fran莽ais.
    

    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 write() y p谩selo con el 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 write() m茅todo para escribir la cadena traducida en un nuevo archivo.

    Conclusi贸n

    Google Translate es una herramienta con una API que le ayuda a realizar muchas funciones diferentes relacionadas con la traducci贸n. Solo hemos ara帽ado la superficie con los ejemplos anteriores. Se le anima a practicar la API, as铆 como a aprender y comprender c贸mo usarla en aplicaciones de la vida real.

     

    Etiquetas:

    Deja una respuesta

    Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *