1
0
mirror of https://github.com/LibreTranslate/LibreTranslate.git synced 2024-12-18 08:27:03 +02:00

Merge pull request #255 from dingedi/main

improve translation formating
This commit is contained in:
Dingedi 2022-05-03 16:42:50 +02:00 committed by GitHub
commit adebc2a536
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -474,6 +474,21 @@ def create_app(args):
if text_format not in ["text", "html"]: if text_format not in ["text", "html"]:
abort(400, description="%s format is not supported" % text_format) abort(400, description="%s format is not supported" % text_format)
def improve_translation(source, translation):
if source.islower():
return translation.lower()
if source.isupper():
return translation.upper()
if source[0].islower():
return translation[0].lower() + translation[1:]
if source[0].isupper():
return translation[0].upper() + translation[1:]
return translation
try: try:
if batch: if batch:
results = [] results = []
@ -483,7 +498,8 @@ def create_app(args):
if text_format == "html": if text_format == "html":
translated_text = str(translate_html(translator, text)) translated_text = str(translate_html(translator, text))
else: else:
translated_text = translator.translate(transliterate(text, target_lang=source_langs[idx]["language"])) translated_text = improve_translation(text, translator.translate(
transliterate(text, target_lang=source_langs[idx]["language"])))
results.append(unescape(translated_text)) results.append(unescape(translated_text))
if source_lang == "auto": if source_lang == "auto":
@ -505,7 +521,8 @@ def create_app(args):
if text_format == "html": if text_format == "html":
translated_text = str(translate_html(translator, q)) translated_text = str(translate_html(translator, q))
else: else:
translated_text = translator.translate(transliterate(q, target_lang=source_langs[0]["language"])) translated_text = improve_translation(q, translator.translate(
transliterate(q, target_lang=source_langs[0]["language"])))
if source_lang == "auto": if source_lang == "auto":
return jsonify( return jsonify(