是否可以使用 googletrans 只翻译标记区域之间的内容?

Is it possible to use googletrans to only translate whats between marked areas?

尝试开发一种可以自动将文件中的内容翻译成不同语言但只希望在标记区域之间进行翻译的东西。问题是:我可以指定 .read 只在让我们说“”之间读取吗?

在我的文件中,我有一个句子或单词列表,甚至可以说字​​母,它们就在那里。我在要翻译的句子或单词周围加上了“”语音标记。

下面是我的txt文件:

Sentence 1 - "I like Bannannas and I will eat them all day."
Sentence 2 - How is your day going?
Sentence 3 - "Will there be any sort of fun today or just raining?"
Sentence 4 - Can the sun come out to play!!!

我希望能够翻译现在只包含“”的句子。

我目前的代码:

import re
import googletrans
from googletrans import Translator

file_translator = Translator()

tFile = open('demo.txt', 'r', encoding="utf-8")

if tFile.mode == 'r':
    content = tFile.read()
    print(content)

result = file_translator.translate(content, dest='fr')

with open('output.txt', 'w') as outFile:
    outFile.write(result.text)

首先我们要在文件中找到正确的句子,因此我们使用 re 找到文本,然后我们必须使用 googletrans 翻译该文本,然后我们有用翻译的句子替换找到的句子,最后我们可以将整个段落写入文本文件。

这是执行所有这些操作的代码:

import re
import googletrans
from googletrans import Translator

file_translator = Translator()

with open("demo.txt","r") as f:
    content=f.read()

pattern=re.compile(r'"([^"]*)"',re.MULTILINE)
founds=re.findall(pattern,content)

translated=[]
for found in founds:
    translated.append(file_translator.translate(found, dest='fr').text)

for f,t in zip(founds,translated):
    content=content.replace(f'"{f}"',t)

with open('output.txt', 'w') as outFile:
    outFile.write(content)