Google の無料 API を呼び出して、「4500」 文字を超える部分を自動的に切り捨ててセグメントに翻訳することができます。これにより、無料版 API では一度に「4500」 文字しか翻訳できないという制限が回避されます。この記事の次の部分では、このホイールの使用方法、その最適化と応用について説明します。
# インストール
Python のバージョンに応じて、対応する pip インストールを使用してください。
pip install googletrans
# OR
pip3 install googletrans
# 使用
これを Web サイトの翻訳モジュールに統合したいため、削除しました。簡略化されたコードは次のとおりです。
import re
import sys
from deep_translator import GoogleTranslator
def split_text(text, max_len=4500):
lines = text.split("\n")
chunks = []
chunk = ""
for line in lines:
if len(chunk + line) > max_len:
chunks.append(chunk)
chunk = ""
chunk += line + "\n"
if chunk:
chunks.append(chunk)
return chunks
def translate(text, target):
chunks = split_text(text)
translated_text = ''
for chunk in chunks:
translated = GoogleTranslator(source='auto', target=target).translate(text=chunk)
translated_text += translated + "\n"
translated_text = re.sub(r'[\n]{3,}', '\n\n', translated_text.strip())
translated_text = translated_text.strip()
return translated_text
translated = translate('你好,我是saltyleo,来自中国。','en')
print(translated)