Site icon 时鹏亮的Blog

来自俄罗斯大神的馈赠:基于特斯拉的Switch翻译插件

请知悉:本文最近一次更新为 6个月 前,文中内容可能已经过时。

过去我曾用过谷歌翻译,它可以开启摄像头实时对拍到的外文翻译为中文。

面对众多的没有中文的Switch游戏,我曾幻想:如果有个插件能实现将当前屏幕的外文翻译为中文就好了。

做梦归做梦,没想到2025年5月9日,群里 Monologue 发了俄罗斯大神 kawaii-flesh 的 GitHub的项目地址:https://github.com/kawaii-flesh/TraNX,说是可以在实机上OCR识别游戏文字并调用相关接口翻译。

对其服务端源码进行了阅读了解后,我提交了几个PR,扩展支持了国内常见的几个翻译接口:百度翻译、腾讯云翻译、阿里云翻译和有道翻译,补全了相关中英文说明。

经过实测和作者沟通,最终有了现在的成果。

现在,是时候将成功分享给大家了。

从此往后,无论什么语种的游戏,有了这个插件,我们自己自力更生。

以下图文教程,使用百度翻译,服务端运行于 Windows 10 系统。


电脑端操作

  1. 下载必须的资源

    解压密码:shipengliang


    python-3.10.0-amd64.rar
    TraNX-Server-5.0.0.rar

    以下插件二选一,我选的是翻译到简体:


    TraNX-特斯拉浮层插件-翻译到简体-2.0.0.rar
    TraNX-特斯拉浮层插件-翻译到繁体-2.0.0.rar
  2. 翻译密钥相关操作

    本操作仅需一次,记住APP_ID和APP_KEY之后,下次就不用再重复获取了。

    按图文教程:如何注册并获取百度翻译的APP_ID和APP_KEY,获取好必须的APP_ID和APP_KEY。

  3. 运行环境相关操作

    本操作仅需一次,python安装之后,下次就不用再重复安装了。

    • 解压python-3.10.0-amd64.rar,双击解压后的python-3.10.0-amd64.exe

      勾选上底部的 Add Python 3.10 to PATH,然后点 Install Now

    • TraNX-Server-5.0.0.rar移动到C盘,右键解压缩到当前文件夹,解压后会得到TraNX-Server文件夹。
  4. 服务端相关操作

    每次都需要操作,毕竟你重启电脑后,服务是不会默认开的。

    • 右键开始菜单,选中运行。


      输入cmd后回车,打开命令行。


      输入cd C:\TraNX-Server,回车,进入刚才解压好的服务端目录


      输入python -m venv tranx-venv,回车,创建虚拟环境(这个指令只需要执行一次)。


      输入tranx-venv\Scripts\activate,回车,激活虚拟环境。


      以下安装相关依赖的指令(只需执行一次),复制粘贴到cmd窗口后回车。

      中国用户执行指令:

      pip install --upgrade pip -i https://mirrors.aliyun.com/pypi/simple/
      pip install paddlepaddle==2.6.2 -f https://www.paddlepaddle.org.cn/whl/windows/cpu-mkl-avx/stable.html -i https://mirrors.aliyun.com/pypi/simple/
      pip install paddleocr==2.10.0 -i https://mirrors.aliyun.com/pypi/simple/
      pip install flask==3.1.0 pillow==11.0.0 opencv-python==4.11.0.86 sentencepiece==0.2.0 protobuf==3.20.2 requests==2.32.3 symspellpy==6.9.0 -i https://mirrors.aliyun.com/pypi/simple/

      非中国用户执行指令:

      pip install --upgrade pip
      pip install paddlepaddle==2.6.2 -f https://www.paddlepaddle.org.cn/whl/windows/cpu-mkl-avx/stable.html
      pip install paddleocr==2.10.0
      pip install flask==3.1.0 pillow==11.0.0 opencv-python==4.11.0.86 sentencepiece==0.2.0 protobuf==3.20.2 requests==2.32.3 symspellpy==6.9.0

      用前面获取到的APP_ID和APP_KEY替换到下面加粗同名的指令后,逐行复制粘贴后回车,拉起你自己的专属OCR识别+翻译服务。

      set BAIDU_TRANSLATOR_APP_ID=APP_ID
      set BAIDU_TRANSLATOR_APP_KEY=APP_KEY
      python server.py --translator baidu

      服务运行起来的示意图如下:


      如果你的防火墙提示是否允许访问,全部允许。这样你的Switch才能通过局域网访问到你的服务。

      没有报错的话,电脑端的服务就搭建完毕了。

      如需关闭服务端,激活cmd命令窗体后,按下快捷键 Ctrl+C 即可终止服务。

      如果你运行时报错:ImportError: DLL load failed while importing libpaddle,下载并安装这个依赖库:vc_redist.x64.exe


Switch端操作

  1. Switch连上和电脑处于同一局域网的WiFi。
  2. 解压刚才下好的TraNX-特斯拉浮层插件,将atmosphereswitch文件夹覆盖到内存卡的根目录。

    如果你不知道如何传输这些文件,请参考:Switch 大气层 Hekate下的USB传输

  3. 返回桌面,同时按下:按L键+↓键+R摇杆,呼出特斯拉浮层,选择TraNX开头的插件。

  4. 此时,屏幕左上角会出现一个绿色像素块。
  5. 按一下 L摇杆,左上角的像素块会变为黄色,黄色代表触摸交互模式。
  6. 按一下 左方向键,左上角的像素块消失,退出TraNX翻译插件。
  7. DBI的MTP模式或者Hekate的USB模式,复制/config/TraNX/config.ini文件到电脑。

    打开ini文件,修改uploadURL后面的127.0.0.1到刚才服务所在电脑的局域网IP,然后再将配置文件覆盖回去(删除旧文件,粘贴回去)。

    此时Switch的配置结束,后面只要电脑局域网IP没变化,就不用再编辑配置文件了。

  8. 启动要翻译的游戏,同时按下:按L键+↓键+R摇杆,呼出特斯拉浮层,选择TraNX开头的插件,屏幕左上角出现绿色像素块。
  9. 按一下 L摇杆,左上角的像素块会变为黄色,进入触摸交互模式。
  10. 按住 右方向键 不要松手,右手拖动选取要翻译的区域,拖动结束后,按一下 R摇杆 发送翻译请求。
  11. 如果网络正常的话,你电脑端的命令行是会显示收到请求的,此时电脑端浏览器访问 http://127.0.0.1:1785,就能看到游戏的TID和设置界面。

    滚动到底部,Translation Settings 下的 Source Language是你需要翻译的文本的原始语言;

    Target Language是你要翻译成什么语言;

    翻译到中文的记得取消勾选 Text Processing 下的 Split Text into Sentences for Translation

    设置完毕后,点击Save Settings 保存配置。

  12. 滚动到上方,Text Recognition Results 的部分点击 Recognize Text 测试翻译结果,如果显示正常,就算全部调试通过了。

  13. 之后,回到Switch就可以通过按一下 L摇杆,切换到交互模式,按住 右方向键 ,右手拖动选取要翻译的区域后,按一下 R摇杆 翻译,之后再按一下 L摇杆,切回游戏模式进行游戏。

    如果翻译区域没变动,每次只需要按一下 L摇杆,切换到交互模式,按一下 R摇杆 翻译,之后再按一下 L摇杆,切回游戏模式进行游戏。

  14. 如此,以前啃不动的游戏,现在配合这款插件就能一点点玩儿下去了,祝你游戏愉快。
  15. 加深印象,退出翻译插件是在交互模式下,按一下 左方向键

相关GitHub

TraNX

TraNX-Server


如您从本文得到了有价值的信息或帮助,请考虑扫描下方二维码捐赠和鼓励。

本站资源,请 注册城通账户 后,使用客户端下载,参考教程:城通网盘如何使用客户端下载文件


尊重他人劳动成果。转载请务必附上原文链接,我将感激不尽。


与《来自俄罗斯大神的馈赠:基于特斯拉的Switch翻译插件》相关的博文:

Exit mobile version