You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

使用googletrans库翻译至英文时遇TypeError问题求助

解决googletrans库Translator初始化报错问题

问题概述

使用googletrans库进行文本翻译时触发TypeError,报错信息显示:

TypeError: Translator.__init__() missing 1 required positional argument: 'to_lang'

同时尝试textblob库也出现翻译错误。

报错原因

出现这个错误是因为安装的并非官方维护的googletrans包,而是第三方衍生版本(如googletrans-new或旧分支版本),这类版本的Translator类初始化时强制要求传入to_lang参数,和官方版的API规范不一致。

修复步骤

  1. 卸载错误版本的相关包
pip uninstall googletrans googletrans-new -y
  1. 安装官方正版的googletrans测试版本(该版本兼容性和稳定性较好)
pip install googletrans==4.0.0-rc1
  1. 修正代码中的两个问题:
    • 确保text_to_predict和target_language变量定义在函数调用之前
    • 保持Translator()无参初始化的正确写法

修正后的完整代码

from sklearn.feature_extraction.text import CountVectorizer
from sklearn.preprocessing import LabelEncoder
from googletrans import Translator

# 假设CV、model、label是已训练好的语言检测模型相关对象
CV = CountVectorizer()
model = None  # 替换为你的训练好的模型
label = LabelEncoder()

def predict_and_translate(text, target_language='en'):
    if isinstance(text, str):  # 检查输入是否为字符串,是则转为列表
        text = [text]

    # 将文本转为数值表示
    X = CV.transform(text).toarray()

    # 预测语言
    output = model.predict(X)
    predicted_language = label.inverse_transform(output)[0]
    print('Detected language:', predicted_language)

    # 逐句翻译
    translated_sentences = []
    translator = Translator()  # 正确的初始化方式

    for sentence in text:
        try:
            translation = translator.translate(sentence, dest=target_language)
            translated_sentences.append(translation.text)
        except Exception as e:
            print(f"Translation failed: {e}")

    print(f'Translated text to {target_language}: {translated_sentences}')

# 变量定义要在函数调用之前
text_to_predict = "Bonjour mes amis, comment allez-vous?"
target_language = 'en'  # English

predict_and_translate(text_to_predict, target_language)

额外说明

如果使用textblob也遇到错误,大概率是因为缺少nltk的语料库,可通过以下命令安装:

pip install textblob
python -m textblob.download_corpora

内容的提问来源于stack exchange,提问作者Shivali

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.05 16:07:35