如何设置翻译从googletrans库?



我正在尝试解析,翻译和保存XML文件。我被困在设置翻译从googletrans库在Python(可能)。

下面是我的代码:
import xml.etree.ElementTree as ET
from googletrans import Translator
# Parse the XML file
tree = ET.parse('input.xml')
# Create a Translator object
translator = Translator(src='en', dest='sk')
# Iterate over the elements in the XML document
for elem in tree.iter():
# Check if the element has text content
if elem.text:
# Translate the text content
translated_text = translator.translate(elem.text).text
# Update the text content of the element
elem.text = translated_text
# Save the modified XML document to a file
tree.write('output.xml')

这是我的错误:

第8行,在

中翻译=翻译(src = en, dest = sk)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

TypeError:翻译。init()得到一个意外的关键字参数'src'">

谁能告诉我,我哪里做错了?谢谢。

我试过googletrans,但我得到它不运行。我建议改为翻译,它似乎也更积极地发展。

这里是我的测试XML输入<- DE:

<?xml version="1.0" encoding="utf-8"?>
<book>
<text>Bücher sind das Salz in der Suppe</text>
</book>

根据您的建议编写Python脚本:

import xml.etree.ElementTree as ET
import translators as ts
import translators.server as tss
from_language, to_language = 'de', 'en'
tree= ET.parse('translator_de.xml')
root = tree.getroot()
ET.dump(root)
for elem in root:
if elem.text is not None:
translated_text = tss.google(elem.text, from_language, to_language)
elem.text = translated_text

tree.write('translator_en.xml', encoding='utf-8', xml_declaration=True)

ET.dump(root)

输出→EN:

<?xml version='1.0' encoding='utf-8'?>
<book>
<text>Books are the salt in the soup</text>
</book>

创建Translator的实例时不能使用srcdest。这些参数在translate()法上可用。

translator = Translator()
...
translated_text = translator.translate(elem.text, src='en', dest='sk').text

看到https://py-googletrans.readthedocs.io/en/latest/googletrans-translator .

我在我的项目中使用DeepL,因为我认为翻译结果更符合我的需求。限制,你需要一个API密钥,但它是由公司支持的,并且总是更新。

相关内容

  • 没有找到相关文章

最新更新