File size: 1,709 Bytes
72eb52e
 
 
2ed6969
72eb52e
 
 
 
 
 
2ed6969
72eb52e
 
 
 
 
 
a3853c7
2ed6969
 
a3853c7
42e5889
 
 
a3853c7
2ed6969
42e5889
 
 
a3853c7
42e5889
a3853c7
2ed6969
 
 
d68d305
2ed6969
 
 
 
 
 
 
a3853c7
2ed6969
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
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()