Spaces:
Sleeping
Sleeping
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() | |