import socket idiomas = { "ingles": {"hola": "hello", "adios": "bye", "buenos dias": "good morning"}, "frances": {"hola": "bonjour", "adios": "au revoir", "buenos dias": "bonne matinée"}, "italiano": {"hola": "ciao", "adios": "arrivederci", "buenos dias": "buongiorno"}, "portugues": {"hola": "olá", "adios": "adeus", "buenos dias": "bom dia"}, "japones": {"hola": "こんにちは (konnichiwa)", "adios": "さようなら (sayounara)", "buenos dias": "おはようございます (ohayou gozaimasu)"}, "coreano": {"hola": "안녕하세요 (anneonghaseyo)", "adios": "안녕히 가세요 (annyeonghi kaseyo)", "buenos dias": "좋은 아침이에요 (jonun achimieyo)"} } def servidor_udp(): servidor = socket.socket(socket.AF_INET, socket.SOCK_DGRAM) direccion_servidor = ('', 2000) servidor.bind(direccion_servidor) print('El servidor está a la escucha...') cliente_conectado = False while True: datos, direccion_cliente = servidor.recvfrom(1024) palabra, idioma = datos.decode('utf-8').split(',') if not cliente_conectado: print(f"¡Cliente conectado desde {direccion_cliente}!") cliente_conectado = True if idioma in idiomas: traduccion = idiomas[idioma].get(palabra.lower(), "Error en la respuesta, palabra no encontrada :)") respuesta = f"{traduccion}" else: respuesta = "Error en la respuesta, inserta un idioma válido :)" servidor.sendto(respuesta.encode('utf-8'), direccion_cliente) if __name__ == "__main__": servidor_udp()