interpreter / app.py
gladikos's picture
Update app.py
d68d305 verified
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()