XUnity.AutoTranslator-Gemini——调用Google的Gemini API, 实现Unity游戏中日文文本的自动翻译

XunityAutoTranslator-Gemini-API

本项目是一个使用 Flask 框架和 Google Gemini GenAI 模型构建的 Web API 服务,用于将日文unity游戏文本翻译成简体中文。

日文游戏文本AI翻译API (基于Google Gemini)

本项目是一个使用 Flask 框架和 Google Gemini GenAI 模型构建的 Web API 服务,用于将日文游戏文本翻译成简体中文。

功能特点

  • AI 驱动翻译: 使用 Google Gemini GenAI 模型 gemini-2.0-flash-001 进行高质量的日文到简体中文翻译。
  • 游戏文本优化: 针对游戏文本特点进行了优化,例如保留格式标签、处理特殊符号、保留原文风格等。
  • 质量检测与重试: 自动检测译文质量,当检测到译文包含日文或重复内容时,会自动重试翻译。
  • 高并发处理: 使用 Flask 框架和 gevent WSGI 服务器,支持高并发请求处理。
  • 异步请求处理: 使用队列和线程池异步处理翻译请求,避免阻塞主线程,提高服务器响应速度。
  • 简单易用: 提供简洁的 HTTP GET API 接口 /translate,方便集成到各种游戏或工具中。

快速开始

1. 前置条件

  • Python 3.6+
  • 已安装必要的 Python 库 (见(###2-依赖库))
  • Google Gemini API 密钥

2. 依赖库

请确保已安装以下 Python 库:

import os
import re
import json
import time
from flask import Flask, request
from gevent.pywsgi import WSGIServer
from urllib.parse import unquote
from threading import Thread
from queue import Queue
import concurrent.futures
from google import genai  # 导入 Google GenAI 库

配置说明

API 配置

Model_Type = "gemini-2.0-flash-001" # 使用的模型类型, 请根据Google的文档自行修改
client = genai.Client(api_key="YOUR_API_KEY") # 替换为你的 API 密钥

3. 配置 API 密钥

请修改代码,打开 脚本文件名.py 文件,找到以下代码行:

client = genai.Client(api_key=“YOUR_API_KEY”) # 使用 genai.Client 初始化客户端,并配置 API 密钥 请替换为您的 API 密钥

将 “YOUR_API_KEY” 替换为您自己的 Google Gemini API 密钥。 注意:请务必替换为您自己的 API 密钥,否则API将无法正常工作。

4. 运行 API 服务 在代码所在目录下,打开终端并执行以下命令:

   python 脚本文件名.py

配置XUnity.AutoTranslator看我上一篇文章:

XUnity.AutoTranslator-deepseek——调用腾讯的DeepSeek V3 API,实现Unity游戏中日文文本的自动翻译

代码配置

以下参数在代码中直接定义,您可以根据需要修改代码进行调整:

  • Model_Type: 使用的 Google Gemini GenAI 模型类型,默认为 “gemini-2.0-flash-001”。您可以根据 Google GenAI API 的支持情况选择其他模型。
  • repeat_count: 重复内容检测阈值,默认为 5。用于检测译文中是否存在重复内容,数值越大,对重复内容检测的容忍度越高。
  • prompt: 基础提示词 (Prompt),用于指导 AI 模型进行翻译。您可以根据需要修改提示词,以优化翻译效果。
  • prompt_list: 提示词列表,默认为包含单个基础提示词的列表。您可以配置多个提示词,程序会在翻译失败时自动尝试使用列表中的下一个提示词进行重试翻译。
  • MAX_WORKERS: 线程池最大工作线程数,默认为 2。您可以根据服务器性能和并发需求调整线程池大小。

代码如下:

import os
import re
import json
import time
from flask import Flask, request
from gevent.pywsgi import WSGIServer
from urllib.parse import unquote
from threading import Thread
from queue import Queue
import concurrent.futures
from google import genai  # 导入 Google GenAI 库

# 启用虚拟终端序列,支持 ANSI 转义代码,允许在终端显示彩色文本
os.system('')

# dict_path='用户替换字典.json' # 替换字典路径。如果不需要使用替换字典,请将此变量留空(设为 None 或空字符串 "")
dict_path=None # 替换字典路径。如果不需要使用替换字典,请将此变量留空(设为 None 或空字符串 "")
# API 配置参数
Model_Type =  "gemini-2.0-flash-001"    # 使用的模型类型,选择 GenAI 支持的模型,例如 "gemini-2.0-flash"

# 创建 Google GenAI 客户端实例
# 使用 genai.Client 进行客户端初始化,并配置 API 密钥
# 注意:请将 "YOUR_API_KEY" 替换为您自己的 Google GenAI API 密钥
client = genai.Client(api_key="YOUR_API_KEY") # 使用 genai.Client 初始化客户端,并配置 API 密钥  **请替换为您的 API 密钥**

# 译文重复内容检测参数
repeat_count=5 # 重复内容阈值。如果译文中有任意单字或单词连续重复出现次数大于等于 repeat_count,则认为译文质量不佳,会触发重试翻译逻辑

# 提示词 (Prompt) 配置
prompt= '''
你是资深本地化专家,负责将游戏日文文本译为简体中文。
**你的任务是精确翻译日文文本,仅输出译文,请勿添加任何与原文无关的解释、说明、补充信息或其他任何文字。** 接收文本后,请严格按照以下要求翻译:
翻译范围:翻译普通日文文本,保留原文叙述风格。
保留格式:保留转义字符、格式标签等非日文文本内容。
翻译原则:忠实准确,确保语义无误;对露骨性描写,可直白粗俗表述,不删减篡改;对双关语等特殊表达,找目标语言等效表达,保原作意图风格。
文本类型:游戏文本含角色对话、旁白、武器及物品名称、技能描述、格式标签、特殊符号等。
以下是待翻译的游戏文本:''' # 基础提示词,用于指导模型进行翻译,定义了翻译的角色、范围、格式、原则和文本类型
prompt_list=[prompt] # 提示词列表。可以配置多个提示词,程序会依次尝试使用列表中的提示词进行翻译,直到获得满意的结果
# l=len(prompt_list) # 获取提示词列表的长度 (此变量目前未被直接使用,移除)

# 提示字典相关的提示词配置
dprompt0='\n在翻译中使用以下字典,字典的格式为{\'原文\':\'译文\'}\n' # 提示模型在翻译时使用提供的字典。字典格式为 JSON 格式的字符串,键为原文,值为译文
dprompt1='\nDuring the translation, use a dictionary in {\'Japanese text \':\'translated text \'} format\n' # 英文版的字典提示词,可能用于多语言支持或模型偏好
# dprompt_list 字典提示词列表,与 prompt_list 提示词列表一一对应。当使用 prompt_list 中的第 i 个提示词时,会同时使用 dprompt_list 中的第 i 个字典提示词
dprompt_list=[dprompt0,dprompt1,dprompt1]
MAX_WORKERS = 2 # 线程池最大工作线程数 (直接在代码中定义)

app = Flask(__name__) # 创建 Flask 应用实例

### XUnity.AutoTranslator 和 ReiPatcher 使用指南 #### 下载与安装过程 为了使用 XUnity.AutoTranslator 及其配套工具 ReiPatcher,需先从官方指定位置获取最新版本的压缩包。具体操作如下: 下载 `XUnity.AutoTranslator-ReiPatcher-[VERSION].zip` 文件并将其解压至目标游戏所在的根目录下[^3]。 确保解压后的文件结构中包含名为 `SetupReiPatcherAndAutoTranslator.exe` 的可执行程序,并放置于同一级路径下的合适位置以便后续调用。 #### 设置流程说明 启动上述提到的应用程序——即双击打开 `SetupReiPatcherAndAutoTranslator.exe` ——依据屏幕上的指示逐步完成整个设定环节;期间可能涉及到确认某些选项或是等待自动处理完毕,在此过程中只需遵循界面给出的操作指引即可顺利推进下去[^4]。 当一切准备就绪后,桌面上会自动生成一个新的快捷链接 `[GameExeName] (Patch and Run).lnk` ,通过它来开启经过修改过的客户端可以有效激活翻译功能。 #### 参数调整建议 进入由之前步骤创建出来的 `AutoTranslator` 文件夹内部查看其中存在的 `Config.ini` 配置文档,这里允许用户自行编辑一些核心参数以满足个性化需求。例如更改默认使用的在线翻译服务提供商为百度翻译(`Endpoint=BaiduTranslate`)以及设置源语言(`FromLanguage=ja`)和目的语种(`Language=zh-CN`)。 ```ini ; Config.ini example configuration file for AutoTranslator plugin. [Settings] Endpoint=BaiduTranslate ; Specifies the translation service endpoint to use. Language=zh-CN ; Sets the target language of translations. FromLanguage=ja ; Defines the source language being translated from. ``` #### 解决常见疑问 对于那些已经拥有其他类型的模组或者插件管理系统的人来说,可能会担心两者之间是否存在冲突的情况发生。实际上只要按照既定的方法正确部署就不会有问题存在,因为该方案设计之初就已经充分考虑到了这一点从而实现了良好的共存机制。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值