File size: 1,587 Bytes
60aa0eb
4761058
 
60aa0eb
4761058
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
60aa0eb
 
4761058
6dc3987
60aa0eb
4761058
 
 
 
60aa0eb
4761058
60aa0eb
 
 
 
4761058
60aa0eb
8d57e67
60aa0eb
4761058
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
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
import gradio as gr
import googletrans  
from googletrans import Translator

european_languages = {
    'afrikaans': 'af',
    'albanian': 'sq',
    'armenian': 'hy',
    'azerbaijani': 'az',
    'basque': 'eu',
    'belarusian': 'be',
    'bosnian': 'bs',
    'bulgarian': 'bg',
    'catalan': 'ca',
    'croatian': 'hr',
    'czech': 'cs',
    'danish': 'da',
    'dutch': 'nl',
    'english': 'en',
    'estonian': 'et',
    'finnish': 'fi',
    'french': 'fr',
    'georgian': 'ka',
    'german': 'de',
    'greek': 'el',
    'hungarian': 'hu',
    'icelandic': 'is',
    'irish': 'ga',
    'italian': 'it',
    'latvian': 'lv',
    'lithuanian': 'lt',
    'luxembourgish': 'lb',
    'macedonian': 'mk',
    'maltese': 'mt',
    'norwegian': 'no',
    'polish': 'pl',
    'portuguese': 'pt',
    'romanian': 'ro',
    'russian': 'ru',
    'scots gaelic': 'gd',
    'serbian': 'sr',
    'slovak': 'sk',
    'slovenian': 'sl',
    'spanish': 'es',
    'swedish': 'sv',
    'ukrainian': 'uk',
    'welsh': 'cy',
}

translator = Translator()

def translate_article(article, language):
    lang = translator.detect(article).lang
    lang_code = european_languages[language]
    translated_text = translator.translate(text, src=lang, dest= lang_code)
    return translated_text.text

language_choices = list(european_languages.keys())

iface = gr.Interface(
    fn=translate_article,
    inputs=["text",gr.Dropdown(
            language_choices, value="english", multiselect=False, label="Choose the language.")],
    outputs="text",
    title="Translation Tool"
)
iface.launch(debug=True)