File size: 1,419 Bytes
501a7f6 |
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 |
import gradio as gr
from deep_translator import GoogleTranslator
# 翻訳関数
def translate_text(text, target_language):
try:
translator = GoogleTranslator(source='auto', target=target_language)
translated_text = translator.translate(text)
return translated_text
except Exception as e:
return f"Error: {str(e)}"
# 使用可能な言語(deep_translatorでサポートされている言語コードの例)
LANGUAGES = {
"English": "en",
"Japanese": "ja",
"Spanish": "es",
"French": "fr",
"German": "de",
"Chinese (Simplified)": "zh-cn"
}
# Gradioインターフェース
with gr.Blocks() as demo:
gr.Markdown("### Deep Translator with GoogleTranslator")
with gr.Row():
input_text = gr.Textbox(label="Input Text", placeholder="Enter text to translate...")
with gr.Row():
target_language = gr.Dropdown(choices=list(LANGUAGES.keys()), label="Select Target Language")
with gr.Row():
output_text = gr.Textbox(label="Translated Text", interactive=False)
translate_button = gr.Button("Translate")
# ボタンのアクションを定義
translate_button.click(
fn=lambda text, lang: translate_text(text, LANGUAGES[lang]),
inputs=[input_text, target_language],
outputs=[output_text]
)
# アプリを実行
if __name__ == "__main__":
demo.launch()
|