# transprint.py

import sys
from deep_translator import GoogleTranslator
import locale
import argparse

class PrintTranslator:
    @staticmethod
    def traducir_print(*args, idioma_destino=None):
        # Detecta el idioma local si no se pasa uno específico
        idioma_local = locale.getdefaultlocale()[0].split('_')[0] if idioma_destino is None else idioma_destino

        # Traducir el mensaje a través de Google Translator
        texto = ' '.join(map(str, args))
        texto_traducido = GoogleTranslator(source='auto', target=idioma_local).translate(texto)
        
        # Imprimir el texto traducido
        print(texto_traducido)

    @staticmethod
    def traducir(*args, destino=None):
        return PrintTranslator.traducir_print(*args, idioma_destino=destino)

# Esta es la función que utilizarás para hacer las traducciones en tu código
def print(*args, destino=None):
    PrintTranslator.traducir_print(*args, idioma_destino=destino)

# Para ejecutar desde consola
if __name__ == "__main__":
    parser = argparse.ArgumentParser(description="Traducir mensajes con transprint.")
    parser.add_argument('mensaje', nargs='+', help="El mensaje a traducir")
    parser.add_argument('--destino', help="Idioma de destino (ej. 'es' para español, 'en' para inglés)")

    args = parser.parse_args()

    # Llamar a la función print personalizada
    print(*args.mensaje, destino=args.destino)
