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

Repl.it环境下Python Discord机器人谷歌翻译命令异常及可行方案问询

适配Repl.it环境的谷歌翻译功能解决方案

旧版googletrans已停止维护,存在依赖冲突、接口地址过期等问题,无法在Repl.it环境正常安装和运行,可采用以下两种可直接落地的方案:

方案一:使用维护中的第三方翻译库deep-translator

  • 安装依赖:在Repl.it的shell中执行命令
    pip install deep-translator
    如果项目使用requirements.txt管理依赖,直接添加一行deep-translator==1.11.4即可自动安装。
  • 调整后的代码:
from deep_translator import GoogleTranslator
from deep_translator.constants import GOOGLE_LANGUAGES_TO_CODES

@client.command(aliases=['tr'])
async def translate(ctx, lang_to, *args):
  lang_to = lang_to.lower()
  # 校验语言参数合法性
  if lang_to not in GOOGLE_LANGUAGES_TO_CODES and lang_to not in GOOGLE_LANGUAGES_TO_CODES.values():
    raise commands.BadArgument("检测到无效语言,请检查拼写是否正确,确认是真实存在的语言")

  text = ' '.join(args)
  try:
    # source设为auto可自动识别源语言
    text_translated = GoogleTranslator(source='auto', target=lang_to).translate(text)
    await ctx.send(text_translated)
  except Exception as e:
    await ctx.send(f"翻译失败:{str(e)}")

方案二:直接调用谷歌翻译公开接口(无需额外安装翻译库)

Repl.it环境默认自带requests库,直接调用原生接口即可,兼容性更高:

import requests

@client.command(aliases=['tr'])
async def translate(ctx, lang_to, *args):
  lang_to = lang_to.lower()
  text = ' '.join(args)
  api_url = "https://translate.googleapis.com/translate_a/single"
  req_params = {
    "client": "gtx",
    "sl": "auto", # 自动识别源语言
    "tl": lang_to,
    "dt": "t",
    "q": text
  }
  resp = requests.get(api_url, params=req_params)
  if resp.status_code == 200:
    res_data = resp.json()
    translated_text = ''.join([item[0] for item in res_data[0]])
    await ctx.send(translated_text)
  else:
    await ctx.send("翻译请求失败,请稍后重试")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.10 07:27:03