Spaces:
Sleeping
Sleeping
| import gradio as gr | |
| from transformers import pipeline | |
| # Crear pipelines de traducci贸n espec铆ficos para cada combinaci贸n de idiomas | |
| translation_pipelines = { | |
| "G": pipeline("translation_en_to_de", model="Helsinki-NLP/opus-mt-en-de"), | |
| "F": pipeline("translation_en_to_fr", model="Helsinki-NLP/opus-mt-en-fr"), | |
| "S": pipeline("translation_en_to_es", model="Helsinki-NLP/opus-mt-en-es"), | |
| "I": pipeline("translation_en_to_it", model="Helsinki-NLP/opus-mt-en-it") | |
| } | |
| # Mapear los valores de entrada de Gradio a las claves del diccionario | |
| language_map = { | |
| "German": "G", | |
| "French": "F", | |
| "Spanish": "S", | |
| "Italian": "I" | |
| } | |
| def translate(text, target_language): | |
| if not target_language: | |
| return "Please select a target language." | |
| # Mapeamos el idioma a la clave correspondiente en el diccionario | |
| target_language_code = language_map.get(target_language, None) | |
| if not target_language_code: | |
| raise ValueError(f"Language '{target_language}' not supported") | |
| # Usar el pipeline correspondiente | |
| pipe = translation_pipelines[target_language_code] | |
| # Realizar la traducci贸n | |
| translation = pipe(text) | |
| translated_text = translation[0]['translation_text'] | |
| return translated_text | |
| with gr.Blocks() as demo: | |
| inp = gr.Textbox(label="What do you wanna translate?") | |
| language = gr.Radio(["German", "French", "Spanish", "Italian"], label="Select target language") | |
| output = gr.Textbox(label="Translation") | |
| translate_btn = gr.Button("Translate") | |
| translate_btn.click(translate, inputs=[inp, language], outputs=output) | |
| demo.launch(share=True) | |