Update app.py
Browse files
app.py
CHANGED
@@ -1,54 +1,31 @@
|
|
1 |
-
import
|
2 |
-
from deep_translator import GoogleTranslator
|
3 |
|
4 |
-
|
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
|
16 |
try:
|
17 |
-
|
18 |
-
|
|
|
19 |
except Exception as e:
|
20 |
-
|
21 |
-
|
22 |
-
|
23 |
-
|
24 |
-
|
25 |
-
|
26 |
-
|
27 |
-
|
28 |
-
|
29 |
-
|
|
|
|
|
30 |
|
31 |
-
#
|
32 |
-
|
33 |
-
|
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 |
-
|
|
|
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)
|