translate / app.py
soiz's picture
Create app.py
501a7f6 verified
raw
history blame
1.42 kB
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()