Spaces:
Sleeping
Sleeping
File size: 1,753 Bytes
b020fe4 2b55ffc b020fe4 2b55ffc b020fe4 2b55ffc b020fe4 2b55ffc b020fe4 |
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 |
from deep_translator import GoogleTranslator
import gradio as gr
# 100+ tillar ro'yxati
tillar = [
'uzbek', 'english', 'russian', 'french', 'german', 'arabic', 'turkish', 'spanish', 'italian',
'japanese', 'korean', 'chinese (simplified)', 'chinese (traditional)', 'hindi', 'portuguese',
'ukrainian', 'kazakh', 'kyrgyz', 'tajik', 'turkmen', 'polish', 'indonesian', 'malay', 'greek',
'swedish', 'norwegian', 'finnish', 'dutch', 'czech', 'serbian', 'vietnamese', 'bengali',
'thai', 'lithuanian', 'latvian', 'estonian', 'romanian', 'gujarati', 'punjabi', 'armenian',
'hebrew', 'pashto', 'persian', 'urdu', 'somali', 'zulu', 'swahili', 'afrikaans', 'tatar',
'yoruba', 'kinyarwanda', 'tamil', 'telugu', 'kannada', 'nepali', 'marathi', 'sinhala', 'lao',
'burmese', 'mongolian', 'haitian creole', 'icelandic', 'irish', 'bosnian', 'croatian',
'slovak', 'slovenian', 'macedonian', 'albanian', 'georgian', 'welsh', 'luxembourgish',
'yiddish', 'basque', 'galician', 'maltese', 'maori', 'samoan', 'tongan', 'hausa', 'igbo',
'amharic', 'azerbaijani', 'kurdish'
]
def tarjima(matn, src_lang, tgt_lang):
if src_lang == tgt_lang:
return "⚠️ Manba va tarjima tillari bir xil bo‘lmasligi kerak."
try:
result = GoogleTranslator(source=src_lang, target=tgt_lang).translate(matn)
return result
except Exception as e:
return f"❌ Xato: {e}"
gr.Interface(
fn=tarjima,
inputs=[
gr.Textbox(label="✍️ Matn kiriting"),
gr.Dropdown(choices=tillar, value="uzbek", label="🔤 Qaysi tildan"),
gr.Dropdown(choices=tillar, value="english", label="🔠 Qaysi tilga")
],
outputs="text",
title="🌍 O‘zbek Tarjimon — 100+ til"
).launch()
|