soiz commited on
Commit
559b733
·
verified ·
1 Parent(s): 71e994e

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +24 -47
app.py CHANGED
@@ -1,54 +1,31 @@
1
- import gradio as gr
2
- from deep_translator import GoogleTranslator, MyMemoryTranslator
3
 
4
- # 言語のリストを定義(例: Google翻訳がサポートする言語)
5
- LANGUAGES = {
6
- "English": "en",
7
- "Japanese": "ja",
8
- "French": "fr",
9
- "Spanish": "es",
10
- "German": "de",
11
- "Chinese (Simplified)": "zh-CN",
12
- }
13
 
14
  # 翻訳関数
15
- def translate_with_multiple_ais(text, target_language):
16
  try:
17
- # GoogleTranslatorを使用
18
- google_translated = GoogleTranslator(source='auto', target=target_language).translate(text)
 
19
  except Exception as e:
20
- google_translated = f"Error: {str(e)}"
21
-
22
- try:
23
- # MyMemoryTranslatorを使用
24
- mymemory_translated = MyMemoryTranslator(source='auto', target=target_language).translate(text)
25
- except Exception as e:
26
- mymemory_translated = f"Error: {str(e)}"
27
-
28
- # 2つの翻訳結果を返す
29
- return google_translated, mymemory_translated
 
 
30
 
31
- # Gradioインターフェースの設定
32
- with gr.Blocks() as demo:
33
- gr.Markdown("# Multi-AI Translator")
34
- gr.Markdown("このアプリはGoogle TranslatorとMyMemory Translatorを使用してテキストを翻訳します。")
35
-
36
- with gr.Row():
37
- input_text = gr.Textbox(label="Text to Translate", placeholder="Enter text here...")
38
- target_language = gr.Dropdown(choices=list(LANGUAGES.keys()), label="Target Language")
39
-
40
- with gr.Row():
41
- google_translation = gr.Textbox(label="Google Translator Result", interactive=False)
42
- mymemory_translation = gr.Textbox(label="MyMemory Translator Result", interactive=False)
43
-
44
- translate_button = gr.Button("Translate")
45
-
46
- # 翻訳ボタンの動作を設定
47
- translate_button.click(
48
- fn=lambda text, lang: translate_with_multiple_ais(text, LANGUAGES[lang]),
49
- inputs=[input_text, target_language],
50
- outputs=[google_translation, mymemory_translation]
51
- )
52
 
53
- # アプリを実行
54
- demo.launch()
 
1
+ from flask import Flask, request, jsonify
2
+ from deep_translator import GoogleTranslator
3
 
4
+ app = Flask(__name__)
 
 
 
 
 
 
 
 
5
 
6
  # 翻訳関数
7
+ def translate_text(text, target_language):
8
  try:
9
+ translator = GoogleTranslator(source='auto', target=target_language)
10
+ translated_text = translator.translate(text)
11
+ return {"translated_text": translated_text}
12
  except Exception as e:
13
+ return {"error": str(e)}
14
+
15
+ # エンドポイント "/"
16
+ @app.route("/", methods=["POST"])
17
+ def translate():
18
+ data = request.json
19
+ # 必須フィールドのチェック
20
+ if not data or "text" not in data or "target_language" not in data:
21
+ return jsonify({"error": "Invalid request. 'text' and 'target_language' fields are required."}), 400
22
+
23
+ text = data["text"]
24
+ target_language = data["target_language"]
25
 
26
+ # 翻訳処理
27
+ result = translate_text(text, target_language)
28
+ return jsonify(result)
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
29
 
30
+ if __name__ == "__main__":
31
+ app.run(host="0.0.0.0", port=7860)