From 96f1f3d3c5c65c6b6febf7cf4405a6f0f5b43d47 Mon Sep 17 00:00:00 2001 From: yoshiko2 Date: Fri, 5 May 2023 04:49:21 +0800 Subject: [PATCH] Fix translate list --- ADC_function.py | 2 +- config.ini | 16 +++++++--------- scraper.py | 16 ++++++++++++---- 3 files changed, 20 insertions(+), 14 deletions(-) diff --git a/ADC_function.py b/ADC_function.py index 5b099ef..592ab2b 100644 --- a/ADC_function.py +++ b/ADC_function.py @@ -314,7 +314,7 @@ def translate( """ trans_result = "" # 中文句子如果包含&等符号会被谷歌翻译截断损失内容,而且中文翻译到中文也没有意义,故而忽略,只翻译带有日语假名的 - if not is_japanese(src): + if (is_japanese(src) == False) and ("zh_" in target_language): return src if engine == "google-free": gsite = config.getInstance().get_translate_service_site() diff --git a/config.ini b/config.ini index 4846948..0e7dfca 100755 --- a/config.ini +++ b/config.ini @@ -67,32 +67,30 @@ folders = failed,JAV_output [debug_mode] switch = 0 -; 机器翻译 [translate] switch = 0 -;可选项 google-free,azure,deeplx +; engine: google-free,azure,deeplx engine = google-free +; en_us fr_fr de_de... (only google-free now) target_language = zh_cn -; azure翻译密钥key +; Azure translate API key key = -; 翻译延迟 -delay = 1 +; Translate delay +delay = 3 +; title,outline,actor,tag values = title,outline -; google翻译服务站点,或deeplx访问链接 +; Google translate site, or Deeplx site service_site = translate.google.com ; 预告片 [trailer] switch = 0 -; 用来确定是否是无码 [uncensored] uncensored_prefix = PT-,S2M,BT,LAF,SMD,SMBD,SM3D2DBD,SKY-,SKYHD,CWP,CWDV,CWBD,CW3D2DBD,MKD,MKBD,MXBD,MK3D2DBD,MCB3DBD,MCBD,RHJ,MMDV [media] -; 影片后缀 media_type = .mp4,.avi,.rmvb,.wmv,.mov,.mkv,.flv,.ts,.webm,.iso,.mpg,.m4v -; 字幕后缀 sub_type = .smi,.srt,.idx,.sub,.sup,.psb,.ssa,.ass,.usf,.xss,.ssf,.rt,.lrc,.sbv,.vtt,.ttml ; 水印 diff --git a/scraper.py b/scraper.py index 7e54f52..a501780 100644 --- a/scraper.py +++ b/scraper.py @@ -200,9 +200,16 @@ def get_data_from_json( key=conf.get_translate_key(), ) else: - t = translate(json_data[translate_value]) - if len(t): - json_data[translate_value] = special_characters_replacement(t) + if len(json_data[translate_value]): + if type(json_data[translate_value]) == str: + json_data[translate_value] = special_characters_replacement(json_data[translate_value]) + json_data[translate_value] = translate(json_data[translate_value]) + else: + for i in range(len(json_data[translate_value])): + json_data[translate_value][i] = special_characters_replacement( + json_data[translate_value][i]) + list_in_str = ",".join(json_data[translate_value]) + json_data[translate_value] = translate(list_in_str).split(',') if open_cc: cc_vars = conf.cc_convert_vars().split(",") @@ -303,5 +310,6 @@ def special_characters_replacement(text) -> str: replace('‘', '‘'). # U+02018 LEFT SINGLE QUOTATION MARK replace('’', '’'). # U+02019 RIGHT SINGLE QUOTATION MARK replace('…', '…'). - replace('&', '&') + replace('&', '&'). + replace("&", '&') )