es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Como traductor de español especializado en documentos de tecnología de la información, puedo ayudarte a traducir el siguiente texto al español: “Googletrans ha detectado un error con el diccionario de traducción.” Please note that “Googletrans” is the name of the translation library which you mentioned in your question. If you are referring to a specific error message, please provide more context so that I can provide a more accurate translation.

Intentando usar googletrans en mi proyecto, usando la versión 4.0.0-rc.1, Python 13.10 en una máquina local con Windows 10.

El script es simple, debe traducir un array de frases del ruso al inglés.
Cuando intento traducir una frase, todo va bien, pero cuando intento traducir un diccionario, ocurre un error:

Ejecución de seguimiento (última llamada más reciente):
  Archivo "c:\Users\fire\Dropbox\my_soft\python_code_lessons\py_version.py", línea 107, en 
    traducido = tr.translate(data, dest='en')
  Archivo "C:\Users\fire\Dropbox\my_soft\python_code_lessons\venv\lib\site-packages\googletrans\client.py", línea 219, en translate
    parsed = json.loads(data[0][2])
  Archivo "C:\Users\fire\AppData\Local\Programs\Python\Python310\lib\json\__init__.py", línea 339, en loads
    raise TypeError(f'el objeto JSON debe ser una cadena, bytes o bytearray, no {s.__class__.__name__}')
TypeError: el objeto JSON debe ser una cadena, bytes o bytearray, no NoneType

Parte del script donde ocurre este error:

import googletrans
from googletrans import Translator
print(googletrans.__version__)

tr = Translator()
data = ['привет', 'мой мир', 'лучший']

traducido = tr.translate(data, dest='en')

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

¿Por dónde debo buscar? ¿O tal vez alguien ha tenido este problema antes?

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Parece que el error ocurre al intentar cargar el objeto JSON que retorna la API de Google Translate. El mensaje de error indica que el objeto JSON es de tipo NoneType, lo cual sugiere que puede haber un problema en la forma en que los datos se están pasando a la API o cómo se devuelven de ella.

    Una posible solución podría ser verificar si los datos que se pasan al método “translate” del objeto Translator están en el formato adecuado. Según la documentación de la biblioteca googletrans, el método “translate” espera una cadena de texto como entrada. Por lo tanto, si la entrada es un diccionario o un arreglo de frases, podría ser necesario convertirlo a una cadena de texto antes de pasarlo al método.

    Otra solución podría ser actualizar la versión de la biblioteca googletrans a una versión estable en lugar de usar la versión candidata a ser lanzada. Esto podría ayudar a resolver cualquier error o problema que esté presente en la versión candidata.

    Alternativamente, podría ser útil revisar la documentación de la API de Google Translate para comprender cómo se están devolviendo los datos y solucionar cualquier problema que pueda surgir al analizar los datos devueltos por la API.

Comments are closed.