import gradio as gr from transformers import pipeline # Übersetzungsmodelle definieren translation_models = { "Deutsch → Englisch": "Helsinki-NLP/opus-mt-de-en", "Englisch → Deutsch": "Helsinki-NLP/opus-mt-en-de", "Englisch → Französisch": "Helsinki-NLP/opus-mt-en-fr", "Französisch → Englisch": "Helsinki-NLP/opus-mt-fr-en", "Deutsch → Spanisch": "Helsinki-NLP/opus-mt-de-es", "Spanisch → Deutsch": "Helsinki-NLP/opus-mt-es-de", "Deutsch → Griechisch": "Helsinki-NLP/opus-mt-de-el", "Griechisch → Deutsch": "Helsinki-NLP/opus-mt-el-de", "Deutsch → Italienisch": "Helsinki-NLP/opus-mt-de-it", "Italienisch → Deutsch": "Helsinki-NLP/opus-mt-it-de" } # Übersetzungsfunktion def translate(text, language_pair): if not text: return "❗ Kein Text eingegeben." model_name = translation_models.get(language_pair) if not model_name: return "❗ Ungültige Sprachwahl." try: translator = pipeline("translation", model=model_name) result = translator(text, max_length=512) return result[0]['translation_text'] except Exception as e: return f"⚠️ Fehler bei der Übersetzung: {str(e)}" # Gradio UI with gr.Blocks() as demo: gr.Markdown("## 🌍 Einfacher Übersetzer – powered by Ladikos-KI") language = gr.Dropdown(choices=list(translation_models.keys()), label="🌐 Sprachrichtung") text_input = gr.Textbox(lines=4, label="📝 Eingabetext") translate_button = gr.Button("Übersetzen") output_text = gr.Textbox(label="📄 Übersetzter Text") translate_button.click(fn=translate, inputs=[text_input, language], outputs=output_text) demo.launch()