[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"similar-GalTransl--GalTransl":3,"tool-GalTransl--GalTransl":61},[4,18,26,36,44,52],{"id":5,"name":6,"github_repo":7,"description_zh":8,"stars":9,"difficulty_score":10,"last_commit_at":11,"category_tags":12,"status":17},4358,"openclaw","openclaw\u002Fopenclaw","OpenClaw 是一款专为个人打造的本地化 AI 助手，旨在让你在自己的设备上拥有完全可控的智能伙伴。它打破了传统 AI 助手局限于特定网页或应用的束缚，能够直接接入你日常使用的各类通讯渠道，包括微信、WhatsApp、Telegram、Discord、iMessage 等数十种平台。无论你在哪个聊天软件中发送消息，OpenClaw 都能即时响应，甚至支持在 macOS、iOS 和 Android 设备上进行语音交互，并提供实时的画布渲染功能供你操控。\n\n这款工具主要解决了用户对数据隐私、响应速度以及“始终在线”体验的需求。通过将 AI 部署在本地，用户无需依赖云端服务即可享受快速、私密的智能辅助，真正实现了“你的数据，你做主”。其独特的技术亮点在于强大的网关架构，将控制平面与核心助手分离，确保跨平台通信的流畅性与扩展性。\n\nOpenClaw 非常适合希望构建个性化工作流的技术爱好者、开发者，以及注重隐私保护且不愿被单一生态绑定的普通用户。只要具备基础的终端操作能力（支持 macOS、Linux 及 Windows WSL2），即可通过简单的命令行引导完成部署。如果你渴望拥有一个懂你",349277,3,"2026-04-06T06:32:30",[13,14,15,16],"Agent","开发框架","图像","数据工具","ready",{"id":19,"name":20,"github_repo":21,"description_zh":22,"stars":23,"difficulty_score":10,"last_commit_at":24,"category_tags":25,"status":17},3808,"stable-diffusion-webui","AUTOMATIC1111\u002Fstable-diffusion-webui","stable-diffusion-webui 是一个基于 Gradio 构建的网页版操作界面，旨在让用户能够轻松地在本地运行和使用强大的 Stable Diffusion 图像生成模型。它解决了原始模型依赖命令行、操作门槛高且功能分散的痛点，将复杂的 AI 绘图流程整合进一个直观易用的图形化平台。\n\n无论是希望快速上手的普通创作者、需要精细控制画面细节的设计师，还是想要深入探索模型潜力的开发者与研究人员，都能从中获益。其核心亮点在于极高的功能丰富度：不仅支持文生图、图生图、局部重绘（Inpainting）和外绘（Outpainting）等基础模式，还独创了注意力机制调整、提示词矩阵、负向提示词以及“高清修复”等高级功能。此外，它内置了 GFPGAN 和 CodeFormer 等人脸修复工具，支持多种神经网络放大算法，并允许用户通过插件系统无限扩展能力。即使是显存有限的设备，stable-diffusion-webui 也提供了相应的优化选项，让高质量的 AI 艺术创作变得触手可及。",162132,"2026-04-05T11:01:52",[14,15,13],{"id":27,"name":28,"github_repo":29,"description_zh":30,"stars":31,"difficulty_score":32,"last_commit_at":33,"category_tags":34,"status":17},1381,"everything-claude-code","affaan-m\u002Feverything-claude-code","everything-claude-code 是一套专为 AI 编程助手（如 Claude Code、Codex、Cursor 等）打造的高性能优化系统。它不仅仅是一组配置文件，而是一个经过长期实战打磨的完整框架，旨在解决 AI 代理在实际开发中面临的效率低下、记忆丢失、安全隐患及缺乏持续学习能力等核心痛点。\n\n通过引入技能模块化、直觉增强、记忆持久化机制以及内置的安全扫描功能，everything-claude-code 能显著提升 AI 在复杂任务中的表现，帮助开发者构建更稳定、更智能的生产级 AI 代理。其独特的“研究优先”开发理念和针对 Token 消耗的优化策略，使得模型响应更快、成本更低，同时有效防御潜在的攻击向量。\n\n这套工具特别适合软件开发者、AI 研究人员以及希望深度定制 AI 工作流的技术团队使用。无论您是在构建大型代码库，还是需要 AI 协助进行安全审计与自动化测试，everything-claude-code 都能提供强大的底层支持。作为一个曾荣获 Anthropic 黑客大奖的开源项目，它融合了多语言支持与丰富的实战钩子（hooks），让 AI 真正成长为懂上",141543,2,"2026-04-06T11:32:54",[14,13,35],"语言模型",{"id":37,"name":38,"github_repo":39,"description_zh":40,"stars":41,"difficulty_score":32,"last_commit_at":42,"category_tags":43,"status":17},2271,"ComfyUI","Comfy-Org\u002FComfyUI","ComfyUI 是一款功能强大且高度模块化的视觉 AI 引擎，专为设计和执行复杂的 Stable Diffusion 图像生成流程而打造。它摒弃了传统的代码编写模式，采用直观的节点式流程图界面，让用户通过连接不同的功能模块即可构建个性化的生成管线。\n\n这一设计巧妙解决了高级 AI 绘图工作流配置复杂、灵活性不足的痛点。用户无需具备编程背景，也能自由组合模型、调整参数并实时预览效果，轻松实现从基础文生图到多步骤高清修复等各类复杂任务。ComfyUI 拥有极佳的兼容性，不仅支持 Windows、macOS 和 Linux 全平台，还广泛适配 NVIDIA、AMD、Intel 及苹果 Silicon 等多种硬件架构，并率先支持 SDXL、Flux、SD3 等前沿模型。\n\n无论是希望深入探索算法潜力的研究人员和开发者，还是追求极致创作自由度的设计师与资深 AI 绘画爱好者，ComfyUI 都能提供强大的支持。其独特的模块化架构允许社区不断扩展新功能，使其成为当前最灵活、生态最丰富的开源扩散模型工具之一，帮助用户将创意高效转化为现实。",107888,"2026-04-06T11:32:50",[14,15,13],{"id":45,"name":46,"github_repo":47,"description_zh":48,"stars":49,"difficulty_score":10,"last_commit_at":50,"category_tags":51,"status":17},4487,"LLMs-from-scratch","rasbt\u002FLLMs-from-scratch","LLMs-from-scratch 是一个基于 PyTorch 的开源教育项目，旨在引导用户从零开始一步步构建一个类似 ChatGPT 的大型语言模型（LLM）。它不仅是同名技术著作的官方代码库，更提供了一套完整的实践方案，涵盖模型开发、预训练及微调的全过程。\n\n该项目主要解决了大模型领域“黑盒化”的学习痛点。许多开发者虽能调用现成模型，却难以深入理解其内部架构与训练机制。通过亲手编写每一行核心代码，用户能够透彻掌握 Transformer 架构、注意力机制等关键原理，从而真正理解大模型是如何“思考”的。此外，项目还包含了加载大型预训练权重进行微调的代码，帮助用户将理论知识延伸至实际应用。\n\nLLMs-from-scratch 特别适合希望深入底层原理的 AI 开发者、研究人员以及计算机专业的学生。对于不满足于仅使用 API，而是渴望探究模型构建细节的技术人员而言，这是极佳的学习资源。其独特的技术亮点在于“循序渐进”的教学设计：将复杂的系统工程拆解为清晰的步骤，配合详细的图表与示例，让构建一个虽小但功能完备的大模型变得触手可及。无论你是想夯实理论基础，还是为未来研发更大规模的模型做准备",90106,"2026-04-06T11:19:32",[35,15,13,14],{"id":53,"name":54,"github_repo":55,"description_zh":56,"stars":57,"difficulty_score":10,"last_commit_at":58,"category_tags":59,"status":17},4292,"Deep-Live-Cam","hacksider\u002FDeep-Live-Cam","Deep-Live-Cam 是一款专注于实时换脸与视频生成的开源工具，用户仅需一张静态照片，即可通过“一键操作”实现摄像头画面的即时变脸或制作深度伪造视频。它有效解决了传统换脸技术流程繁琐、对硬件配置要求极高以及难以实时预览的痛点，让高质量的数字内容创作变得触手可及。\n\n这款工具不仅适合开发者和技术研究人员探索算法边界，更因其极简的操作逻辑（仅需三步：选脸、选摄像头、启动），广泛适用于普通用户、内容创作者、设计师及直播主播。无论是为了动画角色定制、服装展示模特替换，还是制作趣味短视频和直播互动，Deep-Live-Cam 都能提供流畅的支持。\n\n其核心技术亮点在于强大的实时处理能力，支持口型遮罩（Mouth Mask）以保留使用者原始的嘴部动作，确保表情自然精准；同时具备“人脸映射”功能，可同时对画面中的多个主体应用不同面孔。此外，项目内置了严格的内容安全过滤机制，自动拦截涉及裸露、暴力等不当素材，并倡导用户在获得授权及明确标注的前提下合规使用，体现了技术发展与伦理责任的平衡。",88924,"2026-04-06T03:28:53",[14,15,13,60],"视频",{"id":62,"github_repo":63,"name":64,"description_en":65,"description_zh":66,"ai_summary_zh":67,"readme_en":68,"readme_zh":69,"quickstart_zh":70,"use_case_zh":71,"hero_image_url":72,"owner_login":64,"owner_name":64,"owner_avatar_url":73,"owner_bio":74,"owner_company":74,"owner_location":74,"owner_email":74,"owner_twitter":74,"owner_website":74,"owner_url":75,"languages":76,"stars":97,"forks":98,"last_commit_at":99,"license":100,"difficulty_score":32,"env_os":101,"env_gpu":102,"env_ram":103,"env_deps":104,"category_tags":109,"github_topics":110,"view_count":32,"oss_zip_url":74,"oss_zip_packed_at":74,"status":17,"created_at":114,"updated_at":115,"faqs":116,"releases":152},4485,"GalTransl\u002FGalTransl","GalTransl","支持GPT-4\u002FClaude\u002FDeepseek\u002FSakura等大语言模型的Galgame自动化翻译解决方案  Automated translation solution for visual novels supporting GPT-4\u002FClaude\u002FDeepseek\u002FSakura","GalTransl 是一款专为视觉小说（Galgame）打造的自动化翻译解决方案，旨在帮助用户高效制作高质量的内嵌式汉化补丁。它巧妙结合了基础功能创新与大语言模型提示工程技术，有效解决了传统机翻在人名、代词及专有名词上翻译不准、上下文断裂等痛点，显著提升了译文的可读性与准确性。\n\n该工具不仅支持 GPT-4、Claude、Deepseek 等主流云端大模型，还首创了\"GPT 字典”功能，能让模型“记住”角色设定与术语，确保翻译风格统一。此外，GalTransl 具备自动断点续翻、实时缓存保存以及灵活的译前译后字典系统，大幅降低了操作门槛。近期更新更推出了专为视觉小说优化的本地模型（如 GalTransl-7B\u002F14B），让用户无需依赖云端 API 即可在本地显卡上运行，同时支持字幕、电子书等多种文件格式的翻译。\n\nGalTransl 非常适合希望尝试制作游戏汉化的普通爱好者、字幕组人员，以及需要批量处理文本的开发者。无论是想快速生成机翻补丁体验剧情，还是以此为基础进行精细化人工润色，它都能提供完整的工作流支持，让汉化制作变得更加简单可控。使用时请注意，若发布未经人工校对的版本，建议明确","GalTransl 是一款专为视觉小说（Galgame）打造的自动化翻译解决方案，旨在帮助用户高效制作高质量的内嵌式汉化补丁。它巧妙结合了基础功能创新与大语言模型提示工程技术，有效解决了传统机翻在人名、代词及专有名词上翻译不准、上下文断裂等痛点，显著提升了译文的可读性与准确性。\n\n该工具不仅支持 GPT-4、Claude、Deepseek 等主流云端大模型，还首创了\"GPT 字典”功能，能让模型“记住”角色设定与术语，确保翻译风格统一。此外，GalTransl 具备自动断点续翻、实时缓存保存以及灵活的译前译后字典系统，大幅降低了操作门槛。近期更新更推出了专为视觉小说优化的本地模型（如 GalTransl-7B\u002F14B），让用户无需依赖云端 API 即可在本地显卡上运行，同时支持字幕、电子书等多种文件格式的翻译。\n\nGalTransl 非常适合希望尝试制作游戏汉化的普通爱好者、字幕组人员，以及需要批量处理文本的开发者。无论是想快速生成机翻补丁体验剧情，还是以此为基础进行精细化人工润色，它都能提供完整的工作流支持，让汉化制作变得更加简单可控。使用时请注意，若发布未经人工校对的版本，建议明确标注为\"AI 翻译补丁”，以保持透明与尊重。","\n\u003Cdiv align=center>\u003Cimg width=\"150\" height=\"150\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGalTransl_GalTransl_readme_db5bf92791af.png\"\u002F>\u003C\u002Fdiv>\n\n\u003Ch1>\u003Cp align='center' >GalTransl\u003C\u002Fp>\u003C\u002Fh1>\n\u003Cdiv align=center>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FXD2333\u002FGalTransl\"\u002F>   \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002FXD2333\u002FGalTransl\"\u002F>   \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FXD2333\u002FGalTransl\"\u002F>\u003C\u002Fdiv>\n\u003Cp align='center' >支持GPT-4\u002FClaude\u002FDeepseek\u002FSakura等大语言模型的Galgame自动化翻译解决方案\u003C\u002Fp>\n\n  [English](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl\u002Fblob\u002Fmain\u002FREADME_EN.md)\n  \n  GalTransl是一套将数个基础功能上的微小创新与对GPT提示工程（Prompt Engineering）的深度利用相结合的Galgame自动化翻译工具，用于制作内嵌式翻译补丁。   \n   \n## 前言\n&ensp;&ensp;&ensp;&ensp;GalTransl的核心是一组自动化翻译脚本，解决了使用ChatGPT自动化翻译Gal过程中已知的大部分问题，并提高了整体的翻译质量。同时，通过与其他项目的组合，打通了制作补丁的完整流程，一定程度降低了上手门槛。对此感兴趣的朋友可以通过本项目更容易的构建具有一定质量的机翻补丁，并(或许)可以尝试在此框架的基础上高效的构建更高质量的汉化补丁。  \n\n  * 特性：   \n  1. 支持**GPT-4\u002FClaude\u002FDeepseek\u002FSakura**等大语言模型，并通过提示工程提高了GPT的翻译质量   \n  2. 首创**GPT字典**，让GPT了解人设，准确翻译人名、人称代词与生词   \n  3. 通过译前、译后字典与条件字典实现灵活的自动化字典系统   \n  4. 实时保存缓存、自动断点续翻   \n  5. 结合其他项目支持多引擎脚本一键解包与注入，提供完整教程降低上手难度\n  6. （新）现在也支持直接翻译srt、lrc、vtt字幕文件，mtool json文件，t++ excel文件，epub文件\n  7. （2025.5新）🤗 [Galtransl-7B-v3.5](https:\u002F\u002Fhuggingface.co\u002FSakuraLLM\u002FGalTransl-7B-v2)是为视觉小说翻译任务专项优化的本地模型，可在6G VRAM以上显卡部署，由sakuraumi和xd2333共同构建。\n  8. （2025.4新）🤗[GalTransl-14B-v3](https:\u002F\u002Fhuggingface.co\u002FSakuraLLM\u002FSakura-GalTransl-14B-v3)是GalTransl-v3模型的14b版本，得益于更大的底模及改进的对齐训练，GalTransl-14B-v3整体质量好于GalTransl-7B-v3   \n\n\u003Cb>❗❗使用本工具翻译并在未做全文校对\u002F润色的前提下发布时，请在最显眼的位置标注\"GPT翻译\u002FAI翻译补丁\"，而不是\"个人汉化\"或\"AI汉化\"补丁。\u003C\u002Fb>\n\n## 近期更新\n* 2025.5: 更新v6，新增翻译模板ForGal、新增GalTransl-14B-v3模型\n* 2024.5：更新v5，新增GalTransl-7B模型，新增多种文件类型支持   \n* 2024.2：更新v4版，主要支持了插件系统  \n* 2023.12：更新v3版，支持基于文件的多线程 by @ryank231231\n* 2023.7：更新v2版，主要重构了代码 by @ryank231231\n* 2023.6：v1初版发布\n\n## 导航\n* [环境准备](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl#环境准备)：环境与软件的安装   \n* [上手教程](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl#上手教程)：全流程介绍如何制作一个机翻补丁，**只想看怎么使用本工具的话，可以直接跳转第2章的2.2节**   \n* [配置文件与翻译引擎设置](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl#配置文件与翻译引擎设置)：本篇详细介绍各个翻译引擎API的调用与配置方式。   \n* [GalTransl核心功能介绍](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl#galtransl核心功能介绍)：介绍GPT字典、缓存、普通字典、找问题等功能。\n* 后续教程已经[转移至Wiki](https:\u002F\u002Fgithub.com\u002Fxd2333\u002FGalTransl\u002Fwiki)\n\n## 环境准备\n  * **免环境版**   \n  现在release里有winexe版本，不需要安装运行环境和依赖。\n   \n  * [下载本项目](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl\u002Freleases\u002F)   \n  解压到任意位置，例如 `D:\\GalTransl`\n\n  * Python   \n  安装 Python 3.11.9。 [下载](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002Frelease\u002Fpython-3119\u002F)   \n  **安装时勾选下方 add Python to path**   \n\n  * 安装Python依赖   \n  安装 Python 后\n  \n可以直接双击`安装、更新依赖.bat`来安装本项目需要的依赖。\n\n## 实用工具\n| 名称 | 说明 |\n| --- | --- |\n| GARbro | 引擎工具：神一样的解包工具。[下载](https:\u002F\u002Fgithub.com\u002Fmorkt\u002FGARbro\u002Freleases\u002Fdownload\u002Fv1.5.44\u002FGARbro-v1.5.44.2904.rar) |\n| [KirikiriTools](https:\u002F\u002Fgithub.com\u002Farcusmaximus\u002FKirikiriTools) | 引擎工具：Krkr、krkrz 提取、注入工具 |\n| [UniversalInjectorFramework](https:\u002F\u002Fgithub.com\u002FAtomCrafty\u002FUniversalInjectorFramework) | 引擎工具：sjis隧道、sjis替换模式通用注入框架 |\n| [VNTextProxy](https:\u002F\u002Fgithub.com\u002Farcusmaximus\u002FVNTranslationTools) | 引擎工具：sjis隧道模式通用注入框架 |\n| GalTransl_DumpInjector | 脚本工具：[VNTextPatch](https:\u002F\u002Fgithub.com\u002Farcusmaximus\u002FVNTranslationTools)的图形化界面，综合脚本文本提取导入工具 |\n| [SExtractor](https:\u002F\u002Fgithub.com\u002Fsatan53x\u002FSExtractor) | 脚本工具：综合脚本文本提取导入工具 |\n| [msg-tool](https:\u002F\u002Fgithub.com\u002Flifegpc\u002Fmsg-tool) | 脚本工具：综合脚本文本提取导入工具 |\n| [DBTXT2Json_jp](https:\u002F\u002Fgithub.com\u002FXD2333\u002FDBTXT2Json_jp) | 脚本工具：双行文本与json_jp互转脚本 |\n| [EmEditor](https:\u002F\u002Fwww.ghxi.com\u002Femeditor.html) | 文本工具：神一样的文本编辑器，主语用于修缓存文件。  |\n| [VSCode](https:\u002F\u002Fcode.visualstudio.com\u002F) | 文本工具：神一样的文本编辑器，主语用于修缓存文件。  |\n| [KeywordGacha](https:\u002F\u002Fgithub.com\u002Fneavo\u002FKeywordGacha) | 文本工具：使用 OpenAI 兼容接口自动生词语表 |\n\n## 上手教程\n做一个gal内嵌翻译补丁的大致流程是：   \n1. 识别引擎 -> 解包资源包拿到脚本 -> 接2.   \n2. 解包脚本为日文文本 -> 翻译为中文文本 -> 构建中文脚本 -> 接3.   \n3. 封包为资源包\u002F免封包 -> 接4.\n4. 引擎支持unicode的话，直接玩 -> 引擎是shift jis的，尝试2种路线使其支持显示中文   \n\n我会分成以上4个模块分步讲解，这个段落为了让没做过的朋友也能有机会上手，会写的更照顾小白一些。   \n\n* 建议先只跑开头一个文件的翻译，或先随便添加一些中文，导回游戏确认可以正常显示再全部翻译   \n   \n（点击展开详细说明）   \n\u003Cdetails>\n\n\u003Csummary>\n\n### 第一章 识别与解包   \n\n\u003C\u002Fsummary>\n识别引擎其实很简单，通常来说，使用GARbro打开游戏目录内的任意资源包，在左下方的状态栏中就会显示引擎名称： \n\n或者，参考[资源包后缀表](https:\u002F\u002Fmorkt.github.io\u002FGARbro\u002Fsupported.html)，比较资源包的后缀。   \n\n剧情脚本一般在一些有明显关键字的资源包，或在资源包中明显关键字的目录内，例如：scene、scenario、message、script等字样。并且脚本通常是由许多明显分章节、分人物，有的还分出了剧情和hs(例如带_h)，通常多翻找几个资源包就能找到。   \n\n或者，参考[Dir-A佬的教程](https:\u002F\u002Fspace.bilibili.com\u002F8144708\u002F)   \n\n特别的，针对新的krkrz引擎，GARbro已经无法打开资源包，可以用[KrkrzExtract项目](https:\u002F\u002Fgithub.com\u002Fxmoezzz\u002FKrkrzExtract\u002Freleases\u002Ftag\u002F1.0.0.0)，将游戏拖到exe上启动。然后下一个全cg存档，直接把所有剧情ctrl一遍，也可以获取到脚本文件。   \n\n\u003C\u002Fdetails>\n\u003Cdetails>\n\n\u003Csummary>\n\n### 第二章 提取与翻译   \n\n\u003C\u002Fsummary>\n\n* **【2.1. 提取脚本文本】**   \n&ensp;&ensp;&ensp;&ensp;通常情况下，本项目是结合[VNTextPatch工具](https:\u002F\u002Fgithub.com\u002Farcusmaximus\u002FVNTranslationTools)来解包脚本的。 VNTextPatch是由外国大佬arcusmaximus开发的[支持许多引擎](https:\u002F\u002Fgithub.com\u002Farcusmaximus\u002FVNTranslationTools#vntextpatch)脚本的提取与注入的通用工具。（但并不是这些引擎都能搞定了，实测有的游戏是会提取失败的）   \n   \n&ensp;&ensp;&ensp;&ensp;VNTextPatch是使用cmd操作的，为了降低上手难度，我搓了一个图形化的界面，你可以在项目的useful_tools\u002FGalTransl_DumpInjector内找到，点击GalTransl_DumpInjector.exe运行。   \n&ensp;&ensp;&ensp;&ensp;现在，你只需要选择日文脚本目录，然后选择保存提取的日文json的目录，这里一般将日文脚本放到叫script_jp的文件夹，再新建一个gt_input目录，用于存储提取出的脚本：   \n![图1](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGalTransl_GalTransl_readme_5030f94e9880.png)\n&ensp;&ensp;&ensp;&ensp;需要注意GalTransl全程是使用name-message格式的JSON输入、处理和输出的。[JSON是什么](http:\u002F\u002Fc.biancheng.net\u002Fjson\u002Fwhat-is-json.html)   \n提取出来的json文件可以用emeditor打开，一般是这个样子的：   \n```json\n[\n  {\n    \"name\": \"咲來\",\n    \"message\": \"「ってか、白鷺学園だったらあたしと一緒じゃん。\\r\\nセンパイだったんですねー」\"\n  }\n]\n```\n&ensp;&ensp;&ensp;&ensp;其中，每个{object(对象)}是一句话，`message`是消息内容，如果object还带了`name`，说明是对话。不过可能并不是所有类型的脚本都可以带name提取，**当可以正确提取name时，GalTransl的翻译质量会更好**。   \n&ensp;&ensp;&ensp;&ensp;PS. GalTransl只支持指定格式的json文件输入，但并不是说GalTransl就与VNTextPatch工具绑定了，也可以使用SExtractor工具，现在也支持导出GalTransl需要的name-message格式JSON   \n\n* **【2.2. GalTransl启动】**   \n&ensp;&ensp;&ensp;&ensp;将本项目下载下来解压到任意位置（示例中默认为D盘根目录），在项目示例文件夹`sampleProject`中，找到示例配置文件`config.inc.yaml`，将其重命名为`config.yaml`。另外，也将sampleProject文件夹改个名字，一般是游戏的名字。   \n\n&ensp;&ensp;&ensp;&ensp;本教程使用deepseek API来举例，其他模型同理，对应修改示例项目的`config.yaml`即可调用。   \n&ensp;&ensp;&ensp;&ensp;先将所有提取出的日文json文件放入示例文件夹内的`gt_input`文件夹中，然后用任意文本编辑器编辑`config.yaml`文件，按**注释**修改以下内容：\n```yaml\n# 翻译后端相关设置\nbackendSpecific:\n  OpenAI-Compatible: # (ForGal\u002FForNovel\u002Fr1\u002FGendic)OpenAI API兼容接口通用\n    tokens:\n      - token: sk-example-key1\n        endpoint: https:\u002F\u002Fapi.deepseek.com # 请求地址，加不加v1都可以\n        modelName: deepseek-chat\n      - token: sk-example-key2\n        endpoint: https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions # \u002Fchat\u002Fcompletions结尾则不自动补v1\n        modelName: deepseek\u002Fdeepseek-chat-v3-0324:free\n        stream: true # 支持为单个token设置流式请求\n```   \n\n* 一些收费api转发项目，例如：[硅基流动](https:\u002F\u002Fcloud.siliconflow.cn\u002Fi\u002FSvDatvsk)（modelName: \"deepseek-ai\u002FDeepSeek-V3.1-Terminus\"）、[oaipro](https:\u002F\u002Fapi.oaipro.com\u002Fregister?aff=ceAU)等等，以上只是举例，更多中转可以谷歌，本项目不担保它们的稳定性及可用性。   \n   \n&ensp;&ensp;&ensp;&ensp;但要注意这里获取的key填入的同时要修改endpoint地址，一般在对应平台的说明里能找到：   \n```yaml\n      - token: sk-example-key1\n        endpoint: https:\u002F\u002Fapi.siliconflow.cn # 请求地址，加不加v1都可以\n```   \n   \n&ensp;&ensp;&ensp;&ensp;修改好项目设置后，确保你已经安装了需要的依赖（见环境准备），然后双击`run.bat`（免环境版双击exe），首先输入拖入项目配置文件，例如`D:\\GalTransl-main\\sampleProject\\config.inc.yaml`   \n\n接着选择第一个翻译选项（现在是ForGal-json，可能与图片不对应）:\n\n![img_gpt35](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGalTransl_GalTransl_readme_5c92fe670294.png)\n\n程序就会启动并开始翻译： \n\n![img_start](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGalTransl_GalTransl_readme_27fad5557eaf.png)\n\n&ensp;&ensp;&ensp;&ensp;**但是，不建议就这样开始翻译了**，请至少要先学会[GPT字典的使用](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl#gpt字典)，或者选择GenDic来生成一个人名字典，为你要翻译的gal设定好各角色的人名字典，这样才能保证基本的翻译质量。   \n\n&ensp;&ensp;&ensp;&ensp;翻译完成后，**记得修修缓存**，因为大模型经常会犯错。GalTransl会自动查找一些常见问题并记录于缓存中。可以对缓存进行修正，并重新运行程序来基于缓存重新生成结果json，见[自动化找错章节和翻译缓存章节](https:\u002F\u002Fgithub.com\u002FGalTransl\u002FGalTransl#%E8%87%AA%E5%8A%A8%E5%8C%96%E6%89%BE%E9%94%99)\n\n* **【2.3. 构建中文脚本】**   \n&ensp;&ensp;&ensp;&ensp;如果你是使用GalTransl提取注入工具提取的脚本，构建同理，选择日文脚本目录、中文json目录、中文脚本保存目录，然后点'注入'，即可将文本注入回脚本。但这里面有一些坑，第四章会提到。\n\n注：   \n1. 这里一般把中文脚本保存目录叫script_cn，因为日文脚本目录叫script_jp   \n2. 一般使用什么工具导出，就用什么工具导入。所以要先尝试导入导出是否都正常再开始翻译。   \n\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary> \n\n### 第三章 封包或免封   \n\n \u003C\u002Fsummary>\n\n&ensp;&ensp;&ensp;&ensp;构建好中文脚本后，下一步就是想办法让游戏读取。首先目前主流引擎基本都是支持免封包读取的，可以继续参考Dir-A佬的[教程](https:\u002F\u002Fspace.bilibili.com\u002F8144708\u002F)，看看你要搞的引擎支不支持免封包读取。   \n&ensp;&ensp;&ensp;&ensp;特别的，针对krkr\u002Fkrkrz引擎，可以使用arcusmaximus大佬的[KirikiriTools工具](https:\u002F\u002Fgithub.com\u002Farcusmaximus\u002FKirikiriTools)，下载里面的version.dll，丢到游戏目录里，然后在游戏目录里新建一个\"unencrypted\"文件夹，将脚本直接丢进去（不用新建二级目录），就可以让krkr读取   \n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\n\n### 第四章 引擎与编码   \n\n\u003C\u002Fsummary>\n\n&ensp;&ensp;&ensp;&ensp;在这一章首先需要了解一下unicode、sjis(shift jis)、gbk编码的基础知识，为了偷懒在这里我还是放[Dir-A佬的文章](https:\u002F\u002Fwww.bilibili.com\u002Fread\u002Fcv12367744\u002F)，如果你对这块不了解的话，先去读一下。   \n\n如果你在做的引擎支持unicode编码，例如krkr、Artemis引擎等，一般就可以直接玩了。但如果引擎是使用sjis编码的话，直接打开会是乱码，这时候需要通过2种路线尝试使其可以正常显示中文：   \n\n路线1：使用GBK编码注入脚本，然后修改引擎程序使其支持GBK编码   \n路线2：仍然使用jis编码注入脚本，但通过jis隧道或jis替换（推荐）2种方式，结合通用注入dll在运行过程中通过动态替换来显示中文   \n\nGalTransl提取注入工具的VNTextPatch模式注入脚本时默认是以sjis或unicode(utf8)编码注入的，这取决于引擎类型。\n\n* **使用路线1**   \n（注：这个模式现在有bug，有的引擎会卡死）在注入前勾选\"GBK编码注入\"，在这个模式下所有GBK编码不支持的字符将被替换成空白，例如音符♪   \n然后需要ollydbg或windbg工具，[在这里下载](https:\u002F\u002Fdown.52pojie.cn\u002FTools\u002FDebuggers\u002F)，用于修改引擎。   \n最后还是去看[Dir-A佬的教程](https:\u002F\u002Fspace.bilibili.com\u002F8144708\u002F)，里面有教如何下断点、修改，完全没接触过逆向的话这可能很难，但没办法，照着视频多试试。   \n\n* **使用路线2**   \n在注入脚本时先什么都不勾选，如果有提示\"sjis_ext.bin包含文字：xxx\"的话，说明程序是以sjis编码注入的，并把这些不支持显示的字符放到script_cn目录内的sjis_ext.bin里供sjis隧道模式调用了。   \n\n**jis隧道**：仍然来自arcusmaximus大佬的VNTranslationTools项目中的[VNTextProxy组件](https:\u002F\u002Fgithub.com\u002Farcusmaximus\u002FVNTranslationTools#vntextproxy)。VNTextPatch在将文本注入回脚本时，会将sjis编码不支持的字符临时替换为sjis编码中未定义的字符，VNTextProxy通过DLL劫持技术HOOK游戏，并在遇到这些字符时再把它还原回去。   \n\n当使用sjis隧道模式时，将`script_cn`内的`sjis_ext.bin`文件移动到游戏目录内，然后将useful_tools\\VNTextProxy内的所有dll逐个丢到游戏目录内(一般推荐先试version.dll，或使用PEID\u002FDIE等工具查输入表)，运行游戏，看有没有哪个dll可以正确的hook游戏并让不显示的文本可以正常显示（不正常的话那些地方会是空的）。不正常的话，删掉这个DLL，换下一个。[详细设置见此](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl\u002Ftree\u002Fmain\u002Fuseful_tools\u002FVNTextProxy)\n\n**jis替换**：来自AtomCrafty大佬的[UniversalInjectorFramework(通用注入框架)](https:\u002F\u002Fgithub.com\u002FAtomCrafty\u002FUniversalInjectorFramework#character-substitution)项目，也是通过DLL劫持技术HOOK游戏，并可以将某个字符根据设置替换成指定的另一个字符，不限编码。我建立了[一套替换字典](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl_DumpInjector\u002Fblob\u002Fmain\u002Fhanzi2kanji_table.txt)，按一些规则梳理了jis编码内不支持的简中汉字与jis支持的日文汉字的映射关系，可以满足99.99%常用简体中文汉字的正常显示(见hanzi2kanji_table.txt)，并将替换功能写在了GalTransl提取注入工具内(新：现在[SExtractor](https:\u002F\u002Fgithub.com\u002Fsatan53x\u002FSExtractor)也支持替换，并且更好用)。在替换后结合UniversalInjectorFramework的动态Hook替换功能在游戏中将这些日文汉字替换回简中文字，实现游戏的正常显示。\n\n当使用sjis替换模式时，可以先运行一遍GalTransl提取注入工具的注入文本，获取游戏不支持的文字列表（注入后会提示\"sjis_ext.bin包含文字：xxx\"），然后，勾选\"sjis替换模式注入\"，把这些文字复制到右边的文本框内，再点击注入。注入后会获得一个sjis替换模式配置。\n\n打开useful_tools\u002FUniversalInjectorFramework文件夹，里面也是很多dll，也是逐个尝试，一般推荐先试winmm.dll，把目录内的uif_config.json一并复制到游戏目录，然后编辑这个json，按GalTransl提取注入工具提供的配置填写`source_characters`和`target_characters`。   \n然后运行游戏，如果游戏可以正常运行，并且弹出了一个像这样的控制台：   \n![img_terminal](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGalTransl_GalTransl_readme_6e6064161055.png)\n那多半就搞定了。如果不正常的话，删掉这个DLL，尝试换下一个。   \n注：UniversalInjectorFramework也支持sjis隧道模式，可以设置`tunnel_decoder`为`True`然后在`mapping`里填入sjis_ext.bin包含文字。   \n注：UniversalInjectorFramework的控制台窗口可以隐藏，[详细配置文件设置见此](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl\u002Ftree\u002Fmain\u002Fuseful_tools\u002FUniversalInjectorFramework)   \n\n\u003C\u002Fdetails>\n\n## GalTransl核心功能介绍\n介绍GPT字典、缓存、普通字典、找问题等功能。    \n（点击展开详细说明）     \n\u003Cdetails>\n\n\u003Csummary>   \n   \n### GPT字典\n&ensp;&ensp;&ensp;&ensp;GPT字典系统是使用GalTransl翻译时想提高质量的关键功能，通过补充设定的方式大幅提高翻译质量，是GPT翻译区别于传统机翻的核心。适用于gpt35、gpt4、newbing。   \n在程序目录中，`Dict`文件夹内有\"通用GPT字典.txt\"，在项目文件夹内可以新建\"项目GPT字典.txt\"，一般人名定义写进项目字典，通用提高翻译质量的词汇写进通用字典。   \n   \n\u003C\u002Fsummary>   \n\n* 举例来说，你可以提前在这里对每个角色名的中文翻译进行定义，并说明这个角色的设定，例如性别、大致年龄、职业等。通过自动给GPT喂这些设定，可以自动调整合适的人称代词他\u002F她、称谓等，并固定人名为假名时的中文翻译。   \n* 再比如，可以在这里为GPT补充一些它总是翻不对的词语，如果提供一定的解释，它会理解的更好。 \n   \n---   \n   \n* 通过下面这个例子认识GPT字典喂人物设定的用法，每行的格式为`日文[Tab]中文[Tab]解释(可不写)`，注意中间的连接符为**TAB**   \n```\nフラン\t芙兰\tname, lady, teacher\n笠間\t笠间\t笠間 陽菜乃’s lastname, girl\n陽菜乃\t阳菜乃\t笠間 陽菜乃's firstname, girl\n张三\t张三\tplayer's name, boy\n$str20\t$str20\tplayer's codename, boy\n```\n这几条字典都是定义角色用的：   \n* 第一条可以理解为我想告诉GPT：“假名フラン的翻译是芙兰，这是人名，是位女士，是老师”。这样GPT在翻译フラン先生的时候就会翻译成芙兰老师而不会是芙兰医生。   \n* 二三条是同一个人的日本姓和名，经测试姓名必须拆成两行写，不然GPT3.5会不认识。\n* 第四条是设定主角的推荐写法。**注意即使日文和中文相同，也要再重复一遍**   \n* 第五条是主角在脚本中使用占位符而不是名字时的推荐写法。\n* **设定不要太复杂**，否则会让GPT多很多奇怪脑补。     \n\n---   \n   \n* 通过下面这个例子认识GPT字典喂生词的用法，每行的格式亦为`日文[Tab]中文[Tab]解释(可不写)`，注意中间的连接符为**TAB**   \n```\n大家さん  房东\nあたし\t我\u002F人家\tuse '人家' when being cute\n```\n* 当你发现GPT不太认识这个词，例如“大家さん”，并且这个词含义比较唯一，那么就可以像这样加进通用GPT字典里，解释不是必要的。   \n* 第二行的中文写了一个多义词“我\u002F人家”，并且在解释中写了“当扮可爱时用人家”。GPT3.5没那么聪明，但GPT4基本可以灵活运用。\n* 想让GPT更瑟？自己加字典（   \n\n在程序目录中，`Dict`文件夹内有\"通用GPT字典.txt\"，在`sampleProject`文件夹内会有\"项目GPT字典.txt\"，一般人名定义写进项目字典，通用提高翻译质量的词汇写进通用字典。   \n只有当本次发送给GPT的人名和句子中有这个词，这个词的解释才会被送进本轮的对话中。   \n**但不要什么词都往里加**，~~什么都往里加只会害了你~~，推荐只写**各角色的设定**和**总是会翻错的词**。 \n\n运行时字典会动态的展示在每一次请求里：\n\n![img_start](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGalTransl_GalTransl_readme_27fad5557eaf.png)\n\n\u003C\u002Fdetails>   \n   \n\u003Cdetails>\n\n\u003Csummary>   \n\n### 常规字典\n在GalTransl中，常规字典是分为\"译前字典\"与\"译后字典\"的。译前字典是在翻译前对日文的a to b替换处理，译后字典是对译后中文的a to b替换处理。   \n\n\u003C\u002Fsummary>   \n\n译前字典多用于一些口齿不清的矫正情况，以及多个词代表同个意思的话，可以用译前字典先统一，减少GPT字典的输入。   \n   \n译后字典就是比较常见的字典，在译后将某个词替换成另一个词，但是此处我改进了一个叫\"条件字典\"的东西。条件字典实际上就是在替换前增加了一步判断，用于避免误替换、过度替换等情况。   \n每行格式为`pre_jp\u002Fpost_jp[tab]判断词[tab]查找词[tab]替换词`   \n* pre_jp\u002Fpost_jp代表判断词查找的位置，定义在\"翻译缓存\"章节讲\n* 判断词：如果在查找位置(pre_jp\u002Fpost_jp)中找到判断词，才会激活后面的替换。   \n* 判断词可以在开头加\"!\"代表\"不存在则替换\"，否则一般是代表\"存在则替换\"。   \n* 判断词可以使用`[or]`或`[and]`关键字连接，多个`[or]`连接代表\"有一个条件满足就进入替换\"，多个`[and]`连接代表\"条件都满足才进入替换\"。   \n* 查找词、替换词，同普通字典，将a替换成b。   \n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>   \n\n### 翻译缓存\n开始翻译后，可以在transl_cache目录内找到翻译缓存。   \n\u003C\u002Fsummary>  \n\n翻译缓存与json_jp是一一对应的，在翻译过程中，翻译结果会优先写进缓存里，当一个文件被翻译完成后，才会出现在json_cn里。   \n\n首先，总结一些要点：   \n1. 当你想重翻某句时，打开对应的翻译缓存文件，删掉该句的pre_zh整行(**不要留空行**)   \n2. 当你想整段重翻时，直接删对应的数个object块，重翻某文件时，直接删对应的翻译缓存文件。   \n3. 当GalTransl正在翻译时，不要修改正在翻译的文件的缓存，改了也会被覆写回去。   \n4. json_cn结果文件 = 翻译缓存内的pre_zh\u002Fproofread_zh + 译后字典替换 + 恢复对话框   \n5. 当新的post_jp与缓存内的post_jp不一致时，会触发重翻，一般发生在添加了新的译前字典时\n\n下面是翻译缓存的典型样例：   \n```json\n    {\n        \"index\": 4,\n        \"name\": \"\",\n        \"pre_jp\": \"欠品していたコーヒー豆を受け取ったまでは良かったが、\\r\\n帰り道を歩いていると汗が吹き出してくる。\",\n        \"post_jp\": \"欠品していたコーヒー豆を受け取ったまでは良かったが、\\r\\n帰り道を歩いていると汗が吹き出してくる。\",\n        \"pre_zh\": \"领取了缺货的咖啡豆还好，\\r\\n但是走在回去的路上就汗流浃背了。\",\n        \"proofread_zh\": \"领了缺货的咖啡豆倒是没问题，\\r\\n可是走在回去的路上，汗水就冒了出来。\",\n        \"trans_by\": \"NewBing\",\n        \"proofread_by\": \"NewBing\",\n    },\n```\n解释一下每个字段的含义:  \n* 基本参数：   \n`index`  序号   \n`name`  人名   \n`pre_jp`  原始日文   \n`post_jp`  处理后日文。一般来讲，post_jp = pre_jp 去除对话框 + 译前字典替换。你会代码的话也可以在此处加入自己的处理   \n`pre_zh`  原始中文   \n`proofread_zh`  校对的中文   \n（没有post_zh，post_zh在结果文件夹里。）   \n`trans_by`  翻译引擎\u002F翻译者   \n`proofread_by`  校对引擎\u002F校对者    \n`problem`  存储问题。见下方自动化找错。   \n`post_zh_preview`  用于预览json_cn，但**对它的修改并不会应用到json_cn**，要修改`pre_jp`\u002F`proofread_zh`\n\n* 简单讲下如何用Emeditor修缓存：选中一个文件，先右键-Emeditor打开，然后把transl_cache内所有文件全选拖进去。   \n这时候标签可能会占很大位置，右键标签-自定义标签页，将\"标签不合适时\"改成\"无\"，这样标签就只会在一行了（需要使用Emeditor专业版）。   \n接着ctrl+f搜索，搜索你感兴趣的关键字（如problem、doub_content），勾选\"搜索组群中所有文档\"，即可快速在所有文件中搜索，或点提取快速预览所有的问题。\n\n* **VSCode**也是非常好的修缓存工具，只要使用VsCode打开缓存文件夹，然后全局搜索如problem，就可以快速定位所有问题   \n\n* 在确定需要修改的内容后，直接修改对应句子的`pre_zh`，或`proofread_zh`，然后**重新跑一遍Galtransl**，很快就会生成新的json_cn\n  \n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>   \n\n### 自动化找错\n\nGalTransl根据长期对翻译结果的观察建立了一套根据规则自动找问题的系统。\n\u003C\u002Fsummary>  \n找问题系统的开启是在各个项目的`config.yaml`里，默认配置是这样的\n\n```yaml\n# 自动问题分析配置，在-前面加#号可以禁用\nproblemAnalyze:\n  problemList: # 要发现的问题清单\n    - 词频过高 # 重复大于20次\n    - 标点错漏 # 标点符号多加或漏加\n    - 残留日文 # 日文平假名片假名残留\n    - 丢失换行 # 缺少换行符，一般没事\n    - 多加换行 # 换行符比原句多，可能导致溢出屏幕\n    - 比日文长 # 比日文长1.3倍以上\n    - 字典使用 # 没有按GPT字典要求翻译\n    - 语言不通 # 疑似没有被翻译成目标语言，翻译为中文时检查是否包含非GBK字符\n    #- 引入英文 # 本来没有英文，译文引入了英文\n    #- 比日文长严格 # 严格查找，不能比日文长\n```\n\n目前支持找以上问题，有的项目被#号注释，可以取消来开启，或手动加上#号关闭对应问题的查找。\n\n找到问题后会存在翻译缓存里，见翻译缓存章节，使用Emeditor批量提取problem关键字就可以看到目前所有的问题了，并通过修改缓存的pre_jp来修正问题。\n   \n（新） 现在还可以通过在config.yaml中配置retranslKey来批量重翻某个问题，例如  retranslKey: \"残留日文\"   \n\n\u003C\u002Fdetails> \n\n## 配置文件与翻译引擎设置\n\n2025.9：详细设置项可以直接阅读配置文件注释，目前已经比较详细，此处不再重复\n\n\n\n","\u003Cdiv align=center>\u003Cimg width=\"150\" height=\"150\" src=\"https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGalTransl_GalTransl_readme_db5bf92791af.png\"\u002F>\u003C\u002Fdiv>\n\n\u003Ch1>\u003Cp align='center' >GalTransl\u003C\u002Fp>\u003C\u002Fh1>\n\u003Cdiv align=center>\u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fv\u002Frelease\u002FXD2333\u002FGalTransl\"\u002F>   \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Flicense\u002FXD2333\u002FGalTransl\"\u002F>   \u003Cimg src=\"https:\u002F\u002Fimg.shields.io\u002Fgithub\u002Fstars\u002FXD2333\u002FGalTransl\"\u002F>\u003C\u002Fdiv>\n\u003Cp align='center' >支持GPT-4\u002FClaude\u002FDeepseek\u002FSakura等大语言模型的Galgame自动化翻译解决方案\u003C\u002Fp>\n\n  [English](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl\u002Fblob\u002Fmain\u002FREADME_EN.md)\n  \n  GalTransl是一套将数个基础功能上的微小创新与对GPT提示工程（Prompt Engineering）的深度利用相结合的Galgame自动化翻译工具，用于制作内嵌式翻译补丁。   \n   \n## 前言\n&ensp;&ensp;&ensp;&ensp;GalTransl的核心是一组自动化翻译脚本，解决了使用ChatGPT自动化翻译Gal过程中已知的大部分问题，并提高了整体的翻译质量。同时，通过与其他项目的组合，打通了制作补丁的完整流程，一定程度降低了上手门槛。对此感兴趣的朋友可以通过本项目更容易的构建具有一定质量的机翻补丁，并(或许)可以尝试在此框架的基础上高效的构建更高质量的汉化补丁。  \n\n  * 特性：   \n  1. 支持**GPT-4\u002FClaude\u002FDeepseek\u002FSakura**等大语言模型，并通过提示工程提高了GPT的翻译质量   \n  2. 首创**GPT字典**，让GPT了解人设，准确翻译人名、人称代词与生词   \n  3. 通过译前、译后字典与条件字典实现灵活的自动化字典系统   \n  4. 实时保存缓存、自动断点续翻   \n  5. 结合其他项目支持多引擎脚本一键解包与注入，提供完整教程降低上手难度\n  6. （新）现在也支持直接翻译srt、lrc、vtt字幕文件，mtool json文件，t++ excel文件，epub文件\n  7. （2025.5新）🤗 [Galtransl-7B-v3.5](https:\u002F\u002Fhuggingface.co\u002FSakuraLLM\u002FGalTransl-7B-v2)是为视觉小说翻译任务专项优化的本地模型，可在6G VRAM以上显卡部署，由sakuraumi和xd2333共同构建。\n  8. （2025.4新）🤗[GalTransl-14B-v3](https:\u002F\u002Fhuggingface.co\u002FSakuraLLM\u002FSakura-GalTransl-14B-v3)是GalTransl-v3模型的14b版本，得益于更大的底模及改进的对齐训练，GalTransl-14B-v3整体质量好于GalTransl-7B-v3   \n\n\u003Cb>❗❗使用本工具翻译并在未做全文校对\u002F润色的前提下发布时，请在最显眼的位置标注\"GPT翻译\u002FAI翻译补丁\"，而不是\"个人汉化\"或\"AI汉化\"补丁。\u003C\u002Fb>\n\n## 近期更新\n* 2025.5: 更新v6，新增翻译模板ForGal、新增GalTransl-14B-v3模型\n* 2024.5：更新v5，新增GalTransl-7B模型，新增多种文件类型支持   \n* 2024.2：更新v4版，主要支持了插件系统  \n* 2023.12：更新v3版，支持基于文件的多线程 by @ryank231231\n* 2023.7：更新v2版，主要重构了代码 by @ryank231231\n* 2023.6：v1初版发布\n\n## 导航\n* [环境准备](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl#环境准备)：环境与软件的安装   \n* [上手教程](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl#上手教程)：全流程介绍如何制作一个机翻补丁，**只想看怎么使用本工具的话，可以直接跳转第2章的2.2节**   \n* [配置文件与翻译引擎设置](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl#配置文件与翻译引擎设置)：本篇详细介绍各个翻译引擎API的调用与配置方式。   \n* [GalTransl核心功能介绍](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl#galtransl核心功能介绍)：介绍GPT字典、缓存、普通字典、找问题等功能。\n* 后续教程已经[转移至Wiki](https:\u002F\u002Fgithub.com\u002Fxd2333\u002FGalTransl\u002Fwiki)\n\n## 环境准备\n  * **免环境版**   \n  现在release里有winexe版本，不需要安装运行环境和依赖。\n   \n  * [下载本项目](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl\u002Freleases\u002F)   \n  解压到任意位置，例如 `D:\\GalTransl`\n\n  * Python   \n  安装 Python 3.11.9。 [下载](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002Frelease\u002Fpython-3119\u002F)   \n  **安装时勾选下方 add Python to path**   \n\n  * 安装Python依赖   \n  安装 Python 后\n  \n可以直接双击`安装、更新依赖.bat`来安装本项目需要的依赖。\n\n## 实用工具\n| 名称 | 说明 |\n| --- | --- |\n| GARbro | 引擎工具：神一样的解包工具。[下载](https:\u002F\u002Fgithub.com\u002Fmorkt\u002FGARbro\u002Freleases\u002Fdownload\u002Fv1.5.44\u002FGARbro-v1.5.44.2904.rar) |\n| [KirikiriTools](https:\u002F\u002Fgithub.com\u002Farcusmaximus\u002FKirikiriTools) | 引擎工具：Krkr、krkrz 提取、注入工具 |\n| [UniversalInjectorFramework](https:\u002F\u002Fgithub.com\u002FAtomCrafty\u002FUniversalInjectorFramework) | 引擎工具：sjis隧道、sjis替换模式通用注入框架 |\n| [VNTextProxy](https:\u002F\u002Fgithub.com\u002Farcusmaximus\u002FVNTranslationTools) | 引擎工具：sjis隧道模式通用注入框架 |\n| GalTransl_DumpInjector | 脚本工具：[VNTextPatch](https:\u002F\u002Fgithub.com\u002Farcusmaximus\u002FVNTranslationTools)的图形化界面，综合脚本文本提取导入工具 |\n| [SExtractor](https:\u002F\u002Fgithub.com\u002Fsatan53x\u002FSExtractor) | 脚本工具：综合脚本文本提取导入工具 |\n| [msg-tool](https:\u002F\u002Fgithub.com\u002Flifegpc\u002Fmsg-tool) | 脚本工具：综合脚本文本提取导入工具 |\n| [DBTXT2Json_jp](https:\u002F\u002Fgithub.com\u002FXD2333\u002FDBTXT2Json_jp) | 脚本工具：双行文本与json_jp互转脚本 |\n| [EmEditor](https:\u002F\u002Fwww.ghxi.com\u002Femeditor.html) | 文本工具：神一样的文本编辑器，主语用于修缓存文件。  |\n| [VSCode](https:\u002F\u002Fcode.visualstudio.com\u002F) | 文本工具：神一样的文本编辑器，主语用于修缓存文件。  |\n| [KeywordGacha](https:\u002F\u002Fgithub.com\u002Fneavo\u002FKeywordGacha) | 文本工具：使用 OpenAI 兼容接口自动生词语表 |\n\n## 上手教程\n做一个gal内嵌翻译补丁的大致流程是：   \n1. 识别引擎 -> 解包资源包拿到脚本 -> 接2.   \n2. 解包脚本为日文文本 -> 翻译为中文文本 -> 构建中文脚本 -> 接3.   \n3. 封包为资源包\u002F免封包 -> 接4.\n4. 引擎支持unicode的话，直接玩 -> 引擎是shift jis的，尝试2种路线使其支持显示中文   \n\n我会分成以上4个模块分步讲解，这个段落为了让没做过的朋友也能有机会上手，会写的更照顾小白一些。   \n\n* 建议先只跑开头一个文件的翻译，或先随便添加一些中文，导回游戏确认可以正常显示再全部翻译   \n   \n（点击展开详细说明）   \n\u003Cdetails>\n\n\u003Csummary>\n\n### 第一章 识别与解包   \n\n\u003C\u002Fsummary>\n识别引擎其实很简单，通常来说，使用GARbro打开游戏目录内的任意资源包，在左下方的状态栏中就会显示引擎名称： \n\n或者，参考[资源包后缀表](https:\u002F\u002Fmorkt.github.io\u002FGARbro\u002Fsupported.html)，比较资源包的后缀。   \n\n剧情脚本一般在一些有明显关键字的资源包，或在资源包中明显关键字的目录内，例如：scene、scenario、message、script等字样。并且脚本通常是由许多明显分章节、分人物，有的还分出了剧情和hs(例如带_h)，通常多翻找几个资源包就能找到。   \n\n或者，参考[Dir-A佬的教程](https:\u002F\u002Fspace.bilibili.com\u002F8144708\u002F)   \n\n特别的，针对新的krkrz引擎，GARbro已经无法打开资源包，可以用[KrkrzExtract项目](https:\u002F\u002Fgithub.com\u002Fxmoezzz\u002FKrkrzExtract\u002Freleases\u002Ftag\u002F1.0.0.0)，将游戏拖到exe上启动。然后下一个全cg存档，直接把所有剧情ctrl一遍，也可以获取到脚本文件。   \n\n\u003C\u002Fdetails>\n\u003Cdetails>\n\n\u003Csummary>\n\n### 第二章 提取与翻译   \n\n\u003C\u002Fsummary>\n\n* **【2.1. 提取脚本文本】**   \n&ensp;&ensp;&ensp;&ensp;通常情况下，本项目是结合[VNTextPatch工具](https:\u002F\u002Fgithub.com\u002Farcusmaximus\u002FVNTranslationTools)来解包脚本的。 VNTextPatch是由外国大佬arcusmaximus开发的[支持许多引擎](https:\u002F\u002Fgithub.com\u002Farcusmaximus\u002FVNTranslationTools#vntextpatch)脚本的提取与注入的通用工具。（但并不是这些引擎都能搞定了，实测有的游戏是会提取失败的）   \n   \n&ensp;&ensp;&ensp;&ensp;VNTextPatch是使用cmd操作的，为了降低上手难度，我搓了一个图形化的界面，你可以在项目的useful_tools\u002FGalTransl_DumpInjector内找到，点击GalTransl_DumpInjector.exe运行。   \n&ensp;&ensp;&ensp;&ensp;现在，你只需要选择日文脚本目录，然后选择保存提取的日文json的目录，这里一般将日文脚本放到叫script_jp的文件夹，再新建一个gt_input目录，用于存储提取出的脚本：   \n![图1](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGalTransl_GalTransl_readme_5030f94e9880.png)\n&ensp;&ensp;&ensp;&ensp;需要注意GalTransl全程是使用name-message格式的JSON输入、处理和输出的。[JSON是什么](http:\u002F\u002Fc.biancheng.net\u002Fjson\u002Fwhat-is-json.html)   \n提取出来的json文件可以用emeditor打开，一般是这个样子的：   \n```json\n[\n  {\n    \"name\": \"咲來\",\n    \"message\": \"「ってか、白鷺学園だったらあたしと一緒じゃん。\\r\\nセンパイだったんですねー」\"\n  }\n]\n```\n&ensp;&ensp;&ensp;&ensp;其中，每个{object(对象)}是一句话，`message`是消息内容，如果object还带了`name`，说明是对话。不过可能并不是所有类型的脚本都可以带name提取，**当可以正确提取name时，GalTransl的翻译质量会 better**.   \n&ensp;&ensp;&ensp;&ensp;PS. GalTransl只支持指定格式的json文件输入，但并不是说GalTransl就与VNTextPatch工具绑定了，也可以使用SExtractor工具，现在也支持导出GalTransl需要的name-message format JSON.\n\n* **【2.2. GalTransl启动】**   \n&ensp;&ensp;&ensp;&ensp;将本项目下载下来解压到任意位置（示例中默认为D盘根目录），在项目示例文件夹`sampleProject`中，找到示例配置文件`config.inc.yaml`，将其重命名为`config.yaml`。另外，也将sampleProject文件夹改个名字，一般是游戏的名字.   \n\n&ensp;&ensp;&ensp;&ensp;本教程使用deepseek API来举例，其他模型同理，对应修改示例项目的`config.yaml`即可调用.   \n&ensp;&ensp;&ensp;&ensp;先将所有提取出的日文json文件放入示例文件夹内的`gt_input`文件夹中，然后用任意 text editor 编辑`config.yaml`文件，按**注释**修改以下内容：\n```yaml\n\n# 翻译后端相关设置\nbackendSpecific:\n  OpenAI-Compatible: # (ForGal\u002FForNovel\u002Fr1\u002FGendic)OpenAI API兼容接口通用\n    tokens:\n      - token: sk-example-key1\n        endpoint: https:\u002F\u002Fapi.deepseek.com # 请求地址，加不加v1都可以\n        modelName: deepseek-chat\n      - token: sk-example-key2\n        endpoint: https:\u002F\u002Fopenrouter.ai\u002Fapi\u002Fv1\u002Fchat\u002Fcompletions # \u002Fchat\u002Fcompletions结尾则不自动补v1\n        modelName: deepseek\u002Fdeepseek-chat-v3-0324:free\n        stream: true # 支持为单个token设置流式请求\n```   \n\n* 一些收费api转发项目，例如：[硅基流动](https:\u002F\u002Fcloud.siliconflow.cn\u002Fi\u002FSvDatvsk)（modelName: \"deepseek-ai\u002FDeepSeek-V3.1-Terminus\"）、[oaipro](https:\u002F\u002Fapi.oaipro.com\u002Fregister?aff=ceAU)等等，以上只是举例，更多中转可以谷歌，本项目不担保它们的稳定性及可用性。   \n   \n&ensp;&ensp;&ensp;&ensp;但要注意这里获取的key填入的同时要修改endpoint地址，一般在对应平台的说明里能找到：   \n```yaml\n      - token: sk-example-key1\n        endpoint: https:\u002F\u002Fapi.siliconflow.cn # 请求地址，加不加v1都可以\n```   \n   \n&ensp;&ensp;&ensp;&ensp;修改好项目设置后，确保你已经安装了需要的依赖（见环境准备），然后双击`run.bat`（免环境版双击exe），首先输入拖入项目配置文件，例如`D:\\GalTransl-main\\sampleProject\\config.inc.yaml`   \n\n接着选择第一个翻译选项（现在是ForGal-json，可能与图片不对应）:\n\n![img_gpt35](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGalTransl_GalTransl_readme_5c92fe670294.png)\n\n程序就会启动并开始翻译： \n\n![img_start](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGalTransl_GalTransl_readme_27fad5557eaf.png)\n\n&ensp;&ensp;&ensp;&ensp;**但是，不建议就这样开始翻译了**，请至少要先学会[GPT字典的使用](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl#gpt字典)，或者选择GenDic来生成一个人名字典，为你要翻译的gal设定好各角色的人名字典，这样才能保证基本的翻译质量。   \n\n&ensp;&ensp;&ensp;&ensp;翻译完成后，**记得修修缓存**，因为大模型经常会犯错。GalTransl会自动查找一些常见问题并记录于缓存中。可以对缓存进行修正，并重新运行程序来基于缓存重新生成结果json，见[自动化找错章节和翻译缓存章节](https:\u002F\u002Fgithub.com\u002FGalTransl\u002FGalTransl#%E8%87%AA%E5%8A%A8%E5%8C%96%E6%89%BE%E9%94%99)\n\n* **【2.3. 构建中文脚本】**   \n&ensp;&ensp;&ensp;&ensp;如果你是使用GalTransl提取注入工具提取的脚本，构建同理，选择日文脚本目录、中文json目录、中文脚本保存目录，然后点'注入'，即可将文本注入回脚本。但这里面有一些坑，第四章会提到。\n\n注：   \n1. 这里一般把中文脚本保存目录叫script_cn，因为日文脚本目录叫script_jp   \n2. 一般使用什么工具导出，就用什么工具导入。所以要先尝试导入导出是否都正常再开始翻译。   \n\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary> \n\n### 第三章 封包或免封   \n\n \u003C\u002Fsummary>\n\n&ensp;&ensp;&ensp;&ensp;构建好中文脚本后，下一步就是想办法让游戏读取。首先目前主流引擎基本都是支持免封包读取的，可以继续参考Dir-A佬的[教程](https:\u002F\u002Fspace.bilibili.com\u002F8144708\u002F)，看看你要搞的引擎支不支持免封包读取。   \n&ensp;&ensp;&ensp;&ensp;特别的，针对krkr\u002Fkrkrz引擎，可以使用arcusmaximus大佬的[KirikiriTools工具](https:\u002F\u002Fgithub.com\u002Farcusmaximus\u002FKirikiriTools)，下载里面的version.dll，丢到游戏目录里，然后在游戏目录里新建一个\"unencrypted\"文件夹，将脚本直接丢进去（不用新建二级目录），就可以让krkr读取   \n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\n\n### 第四章 引擎与编码   \n\n\u003C\u002Fsummary>\n\n&ensp;&ensp;&ensp;&ensp;在这一章首先需要了解一下unicode、sjis(shift jis)、gbk编码的基础知识，为了偷懒在这里我还是放[Dir-A佬的文章](https:\u002F\u002Fwww.bilibili.com\u002Fread\u002Fcv12367744\u002F)，如果你对这块不了解的话，先去读一下。   \n\n如果你在做的引擎支持unicode编码，例如krkr、Artemis引擎等，一般就可以直接玩了。但如果引擎是使用sjis编码的话，直接打开会是乱码，这时候需要通过2种路线尝试使其可以正常显示中文：   \n\n路线1：使用GBK编码注入脚本，然后修改引擎程序使其支持GBK编码   \n路线2：仍然使用jis编码注入脚本，但通过jis隧道或jis替换（推荐）2种方式，结合通用注入dll在运行过程中通过动态替换来显示中文   \n\nGalTransl提取注入工具的VNTextPatch模式注入脚本时默认是以sjis或unicode(utf8)编码注入的，这取决于引擎类型。\n\n* **使用路线1**   \n（注：这个模式现在有bug，有的引擎会卡死）在注入前勾选\"GBK编码注入\"，在这个模式下所有GBK编码不支持的字符将被替换成空白，例如音符♪   \n然后需要ollydbg或windbg工具，[在这里下载](https:\u002F\u002Fdown.52pojie.cn\u002FTools\u002FDebuggers\u002F)，用于修改引擎。   \n最后还是去看[Dir-A佬的教程](https:\u002F\u002Fspace.bilibili.com\u002F8144708\u002F)，里面有教如何下断点、修改，完全没接触过逆向的话这可能很难，但没办法，照着视频多试试。   \n\n* **使用路线2**   \n在注入脚本时先什么都不勾选，如果有提示\"sjis_ext.bin包含文字：xxx\"的话，说明程序是以sjis编码注入的，并把这些不支持显示的字符放到script_cn目录内的sjis_ext.bin里供sjis隧道模式调用了。   \n\n**jis隧道**：仍然来自arcusmaximus大佬的VNTranslationTools项目中的[VNTextProxy组件](https:\u002F\u002Fgithub.com\u002Farcusmaximus\u002FVNTranslationTools#vntextproxy)。VNTextPatch在将文本注入回脚本时，会将sjis编码不支持的字符临时替换为sjis编码中未定义的字符，VNTextProxy通过DLL劫持技术HOOK游戏，并在遇到这些字符时再把它还原回去。   \n\n当使用sjis隧道模式时，将`script_cn`内的`sjis_ext.bin`文件移动到游戏目录内，然后将useful_tools\\VNTextProxy内的所有dll逐个丢到游戏目录内(一般推荐先试version.dll，或使用PEID\u002FDIE等工具查输入表)，运行游戏，看有没有哪个DLL可以正确的hook游戏并让不显示的文本可以正常显示（不正常的话那些地方会是空的）。不正常的话，删掉这个DLL，换下一个。[详细设置见此](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl\u002Ftree\u002Fmain\u002Fuseful_tools\u002FVNTextProxy)\n\n**jis替换**：来自AtomCrafty大佬的[UniversalInjectorFramework(通用注入框架)](https:\u002F\u002Fgithub.com\u002FAtomCrafty\u002FUniversalInjectorFramework#character-substitution)项目，也是通过DLL劫持技术HOOK游戏，并可以将某个字符根据设置替换成指定的另一个字符，不限编码。我建立了[一套替换字典](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl_DumpInjector\u002Fblob\u002Fmain\u002Fhanzi2kanji_table.txt)，按一些规则梳理了jis编码内不支持的简中汉字与jis支持的日文汉字的映射关系，可以满足99.99%常用简体中文汉字的正常显示(见hanzi2kanji_table.txt)，并将替换功能写在了GalTransl提取注入工具内(新：现在[SExtractor](https:\u002F\u002Fgithub.com\u002Fsatan53x\u002FSExtractor)也支持替换，并且更好用)。在替换后结合UniversalInjectorFramework的动态Hook替换功能在游戏中将这些日文汉字替换回简中文字，实现游戏的正常显示。\n\n当使用 sjis 替换模式时，可以先运行一遍 GalTransl 提取注入工具的注入文本，获取游戏不支持的文字列表（注入后会提示“sjis_ext.bin 包含文字：xxx”），然后，勾选“sjis 替换模式注入”，把这些文字复制到右边的文本框内，再点击注入。注入后会获得一个 sjis 替换模式配置。\n\n打开 useful_tools\u002FUniversalInjectorFramework 文件夹，里面也是很多 dll，也是逐个尝试，一般推荐先试 winmm.dll，把目录内的 uif_config.json 一并复制到游戏目录，然后编辑这个 json，按 GalTransl 提取注入工具提供的配置填写 `source_characters` 和 `target_characters`。   \n然后运行游戏，如果游戏可以正常运行，并且弹出了一个像这样的控制台：   \n![img_terminal](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGalTransl_GalTransl_readme_6e6064161055.png)\n那多半就搞定了。如果不正常的话，删掉这个 DLL，尝试换下一个。   \n注：UniversalInjectorFramework 也支持 sjis 隧道模式，可以设置 `tunnel_decoder` 为 `True` 然后在 `mapping` 里填入 sjis_ext.bin 包含文字。   \n注：UniversalInjectorFramework 的控制台窗口可以隐藏，[详细配置文件设置见此](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl\u002Ftree\u002Fmain\u002Fuseful_tools\u002FUniversalInjectorFramework)   \n\n\u003C\u002Fdetails>\n\n## GalTransl核心功能介绍\n介绍GPT字典、缓存、普通字典、找问题等功能。    \n（点击展开详细说明）     \n\u003Cdetails>\n\n\u003Csummary>   \n   \n### GPT字典\n&ensp;&ensp;&ensp;&ensp;GPT字典系统是使用GalTransl翻译时想提高质量的关键功能，通过补充设定的方式大幅提高翻译质量，是GPT翻译区别于传统机翻的核心。适用于gpt35、gpt4、newbing。   \n在程序目录中，`Dict`文件夹内有\"通用GPT字典.txt\"，在项目文件夹内可以新建\"项目GPT字典.txt\"，一般人名定义写进项目字典，通用提高翻译质量的词汇写进通用字典。   \n   \n\u003C\u002Fsummary>   \n\n* 举例来说，你可以提前在这里对每个角色名的中文翻译进行定义，并说明这个角色的设定，例如性别、大致年龄、职业等。通过自动给GPT喂这些设定，可以自动调整合适的人称代词他\u002F她、称谓等，并固定人名为假名时的中文翻译。   \n* 再比如，可以在这里为GPT补充一些它总是翻不对的词语，如果提供一定的解释，它会理解的更好。 \n   \n---   \n   \n* 通过下面这个例子认识GPT字典喂人物设定的用法，每行的格式为`日文[Tab]中文[Tab]解释(可不写)`，注意中间的连接符为**TAB**   \n```\nフラン\t芙兰\tname, lady, teacher\n笠間\t笠间\t笠間 陽菜乃’s lastname, girl\n陽菜乃\t阳菜乃\t笠間 陽菜乃's firstname, girl\n张三\t张三\tplayer's name, boy\n$str20\t$str20\tplayer's codename, boy\n```\n这几条字典都是定义角色用的：   \n* 第一条可以理解为我想告诉GPT：“假名フラン的翻译是芙兰，这是人名，是位女士，是老师”。这样GPT在翻译フラン先生的时候就会翻译成芙兰老师而不会是芙兰医生。   \n* 二三条是同一个人的日本姓和名，经测试姓名必须拆成两行写，不然GPT3.5会不认识。\n* 第四条是设定主角的推荐写法。**注意即使日文和中文相同，也要再重复一遍**   \n* 第五条是主角在脚本中使用占位符而不是名字时的推荐写法。\n* **设定不要太复杂**，否则会让GPT多很多奇怪脑补。     \n\n---   \n   \n* 通过下面这个例子认识GPT字典喂生词的用法，每行的格式亦为`日文[Tab]中文[Tab]解释(可不写)`，注意中间的连接符为**TAB**   \n```\n大家さん  房东\nあたし\t我\u002F人家\tuse '人家' when being cute\n```\n* 当你发现GPT不太认识这个词，例如“大家さん”，并且这个词含义比较唯一，那么就可以像这样加进通用GPT字典里，解释不是必要的。   \n* 第二行的中文写了一个多义词“我\u002F人家”，并且在解释中写了“当扮可爱时用人家”。GPT3.5没那么聪明，但GPT4基本可以灵活运用。\n* 想让GPT更瑟？自己加字典（   \n\n在程序目录中，`Dict`文件夹内有\"通用GPT字典.txt\"，在`sampleProject`文件夹内会有\"项目GPT字典.txt\"，一般人名定义写进项目字典，通用提高翻译质量的词汇写进通用字典。   \n只有当本次发送给GPT的人名和句子中有这个词，这个词的解释才会被送进本轮的对话中。   \n**但不要什么词都往里加**，~~什么都往里加只会害了你~~，推荐只写**各角色的设定**和**总是会翻错的词**。 \n\n运行时字典会动态的展示在每一次请求里：\n\n![img_start](https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGalTransl_GalTransl_readme_27fad5557eaf.png)\n\n\u003C\u002Fdetails>   \n   \n\u003Cdetails>\n\n\u003Csummary>\n\n### 常规字典\n在GalTransl中，常规字典分为“译前字典”和“译后字典”。译前字典用于在翻译前对日文进行a到b的替换处理，而译后字典则用于对翻译后的中文进行a到b的替换处理。\n\n\u003C\u002Fsummary>\n\n译前字典多用于矫正发音不清的情况，或者当多个词表示相同意思时，可以通过译前字典先统一处理，从而减少GPT字典的输入量。\n\n译后字典则是比较常见的字典用法，即在翻译完成后将某个词替换成另一个词。不过在这里，我改进了一种称为“条件字典”的功能。条件字典实际上是在替换之前增加了一步判断，以避免误替换或过度替换等情况。\n\n每行格式为`pre_jp\u002Fpost_jp[tab]判断词[tab]查找词[tab]替换词`  \n* pre_jp\u002Fpost_jp代表判断词查找的位置，定义在“翻译缓存”章节中说明  \n* 判断词：如果在查找位置（pre_jp\u002Fpost_jp）中找到判断词，才会激活后面的替换。  \n* 判断词可以在开头加“!”代表“不存在则替换”，否则一般是代表“存在则替换”。  \n* 判断词可以使用`[or]`或`[and]`关键字连接，多个`[or]`连接代表“有一个条件满足就进入替换”，多个`[and]`连接代表“条件都满足才进入替换”。  \n* 查找词、替换词，同普通字典，将a替换成b。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\n\n### 翻译缓存\n开始翻译后，可以在transl_cache目录内找到翻译缓存。\n\n\u003C\u002Fsummary>\n\n翻译缓存与json_jp是一一对应的，在翻译过程中，翻译结果会优先写进缓存里，当一个文件被翻译完成后，才会出现在json_cn里。\n\n首先，总结一些要点：  \n1. 当你想重翻某句时，打开对应的翻译缓存文件，删掉该句的pre_zh整行（**不要留空行**）  \n2. 当你想整段重翻时，直接删对应的数个object块，重翻某文件时，直接删对应的翻译缓存文件。  \n3. 当GalTransl正在翻译时，不要修改正在翻译的文件的缓存，改了也会被覆写回去。  \n4. json_cn结果文件 = 翻译缓存内的pre_zh\u002Fproofread_zh + 译后字典替换 + 恢复对话框  \n5. 当新的post_jp与缓存内的post_jp不一致时，会触发重翻，一般发生在添加了新的译前字典时。\n\n下面是翻译缓存的典型样例：  \n```json\n    {\n        \"index\": 4,\n        \"name\": \"\",\n        \"pre_jp\": \"欠品していたコーヒー豆を受け取ったまでは良かったが、\\r\\n帰り道を歩いていると汗が吹き出してくる。\",\n        \"post_jp\": \"欠品していたコーヒー豆を受け取ったまでは良かったが、\\r\\n帰り道を歩いていると汗が吹き出してくる。\",\n        \"pre_zh\": \"领取了缺货的咖啡豆还好，\\r\\n但是走在回去的路上就汗流浃背了。\",\n        \"proofread_zh\": \"领了缺货的咖啡豆倒是没问题，\\r\\n可是走在回去的路上，汗水就冒了出来。\",\n        \"trans_by\": \"NewBing\",\n        \"proofread_by\": \"NewBing\",\n    },\n```\n解释一下每个字段的含义:  \n* 基本参数：  \n`index` 序号  \n`name` 人名  \n`pre_jp` 原始日文  \n`post_jp` 处理后日文。一般来讲，post_jp = pre_jp 去除对话框 + 译前字典替换。你会代码的话也可以在此处加入自己的处理  \n`pre_zh` 原始中文  \n`proofread_zh` 校对的中文  \n（没有post_zh，post_zh在结果文件夹里。）  \n`trans_by` 翻译引擎\u002F翻译者  \n`proofread_by` 校对引擎\u002F校对者  \n`problem` 存储问题。见下方自动化找错。  \n`post_zh_preview` 用于预览json_cn，但**对它的修改并不会应用到json_cn**，要修改`pre_jp`\u002F`proofread_zh`\n\n* 简单讲下如何用Emeditor修缓存：选中一个文件，先右键-Emeditor打开，然后把transl_cache内所有文件全选拖进去。  \n这时候标签可能会占很大位置，右键标签-自定义标签页，将“标签不合适时”改成“无”，这样标签就只会在一行了（需要使用Emeditor专业版）。  \n接着ctrl+f搜索，搜索你感兴趣的关键字（如problem、doub_content），勾选“搜索组群中所有文档”，即可快速在所有文件中搜索，或点提取快速预览所有的问题。\n\n* **VSCode**也是非常好的修缓存工具，只要使用VsCode打开缓存文件夹，然后全局搜索如problem，就可以快速定位所有问题。\n\n* 在确定需要修改的内容后，直接修改对应句子的`pre_zh`，或`proofread_zh`，然后**重新跑一遍Galtransl**，很快就会生成新的json_cn。\n\n\u003C\u002Fdetails>\n\n\u003Cdetails>\n\n\u003Csummary>\n\n### 自动化找错\n\nGalTransl根据长期对翻译结果的观察建立了一套根据规则自动找问题的系统。\n\n\u003C\u002Fsummary>\n找问题系统的开启是在各个项目的`config.yaml`里，默认配置是这样的\n\n```yaml\n# 自动问题分析配置，在-前面加#号可以禁用\nproblemAnalyze:\n  problemList: # 要发现的问题清单\n    - 词频过高 # 重复大于20次\n    - 标点错漏 # 标点符号多加或漏加\n    - 残留日文 # 日文平假名片假名残留\n    - 丢失换行 # 缺少换行符，一般没事\n    - 多加换行 # 换行符比原句多，可能导致溢出屏幕\n    - 比日文长 # 比日文长1.3倍以上\n    - 字典使用 # 没有按GPT字典要求翻译\n    - 语言不通 # 疑似没有被翻译成目标语言，翻译为中文时检查是否包含非GBK字符\n    #- 引入英文 # 本来没有英文，译文引入了英文\n    #- 比日文长严格 # 严格查找，不能比日文长\n```\n\n目前支持找以上问题，有的项目被#号注释，可以取消来开启，或手动加上#号关闭对应问题的查找。\n\n找到问题后会存在翻译缓存里，见翻译缓存章节，使用Emeditor批量提取problem关键字就可以看到目前所有的问题了，并通过修改缓存的pre_jp来修正问题。\n\n（新） 现在还可以通过在config.yaml中配置retranslKey来批量重翻某个问题，例如  retranslKey: “残留日文”。\n\n\u003C\u002Fdetails>\n\n## 配置文件与翻译引擎设置\n\n2025.9：详细设置项可以直接阅读配置文件注释，目前已经比较详细，此处不再重复","# GalTransl 快速上手指南\n\nGalTransl 是一套专为 Galgame（视觉小说）设计的自动化翻译工具，支持 GPT-4、Claude、Deepseek、Sakura 等大语言模型。它通过提示工程（Prompt Engineering）和独有的\"GPT 字典”功能，显著提升人名、术语及上下文的翻译质量，并支持一键解包、翻译、注入的全流程。\n\n## 环境准备\n\n### 系统要求\n- **操作系统**: Windows (推荐 Win10\u002FWin11)\n- **显卡 (可选)**: 若使用本地模型 (如 GalTransl-7B\u002F14B)，需 NVIDIA 显卡且显存 ≥ 6GB。\n- **网络**: 访问大模型 API 需要稳定的网络连接。\n\n### 前置依赖\n本项目提供**免环境版**（推荐新手）和**Python 源码版**。\n\n#### 方案 A：免环境版（推荐）\n无需安装 Python，直接运行打包好的 exe 文件。\n1. 前往 [Releases 页面](https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl\u002Freleases\u002F) 下载最新的 `winexe` 版本。\n2. 解压到任意非中文路径目录（例如 `D:\\GalTransl`）。\n\n#### 方案 B：Python 源码版\n适合开发者或需要自定义环境的用户。\n1. **安装 Python**: 下载并安装 [Python 3.11.9](https:\u002F\u002Fwww.python.org\u002Fdownloads\u002Frelease\u002Fpython-3119\u002F)。\n   - ⚠️ **重要**: 安装时务必勾选 **\"Add Python to PATH\"**。\n2. **安装依赖**:\n   在项目根目录双击运行 `安装、更新依赖.bat`，或在终端执行：\n   ```bash\n   pip install -r requirements.txt\n   ```\n   *(注：若下载慢，可临时使用国内镜像源：`pip install -r requirements.txt -i https:\u002F\u002Fpypi.tuna.tsinghua.edu.cn\u002Fsimple`)*\n\n### 辅助工具\n建议提前下载以下工具以完成解包和注入流程：\n- **GARbro**: 强大的资源包解包工具 ([下载](https:\u002F\u002Fgithub.com\u002Fmorkt\u002FGARbro\u002Freleases))\n- **GalTransl_DumpInjector**: 项目自带的图形化解包\u002F注入工具 (位于 `useful_tools\u002FGalTransl_DumpInjector`)\n- **文本编辑器**: EmEditor 或 VSCode (用于修正缓存和字典)\n\n---\n\n## 安装步骤\n\n1. **获取项目**:\n   下载最新版压缩包并解压至指定目录，例如 `D:\\GalTransl`。\n\n2. **配置示例项目**:\n   - 进入 `sampleProject` 文件夹。\n   - 将 `config.inc.yaml` 重命名为 `config.yaml`。\n   - (可选) 将 `sampleProject` 文件夹重命名为你的游戏名称。\n\n3. **验证环境**:\n   - **免环境版**: 双击 `run.exe` (或对应版本的 exe)。\n   - **Python 版**: 双击 `run.bat`。\n   - 若能正常启动并提示输入配置文件路径，则环境准备完毕。\n\n---\n\n## 基本使用\n\n以下流程以使用 **Deepseek API** 进行翻译为例，其他模型配置逻辑相同。\n\n### 第一步：提取脚本文本\n1. 使用 **GARbro** 识别游戏引擎并解包资源，找到包含剧情的脚本文件（通常含 `scenario`, `script` 等关键词）。\n2. 运行 `useful_tools\u002FGalTransl_DumpInjector\u002FGalTransl_DumpInjector.exe`。\n3. 选择日文脚本目录作为输入，设置输出目录为 `gt_input`。\n4. 点击“提取”，生成格式为 `name-message` 的 JSON 文件。\n   > **注意**: 确保提取出的 JSON 包含 `name` (角色名) 和 `message` (台词) 字段，这将大幅提升翻译质量。\n\n### 第二步：配置 API 与字典\n1. **编辑配置文件**:\n   用文本编辑器打开项目目录下的 `config.yaml`，修改 `backendSpecific` 部分：\n   ```yaml\n   backendSpecific:\n     OpenAI-Compatible:\n       tokens:\n         - token: sk-your-api-key-here  # 替换为你的 API Key\n           endpoint: https:\u002F\u002Fapi.deepseek.com\n           modelName: deepseek-chat\n   ```\n   *(注：若使用硅基流动等中转平台，请同时修改 `endpoint` 和 `modelName`)*\n\n2. **准备 GPT 字典 (关键步骤)**:\n   在项目目录下创建 `Dict` 文件夹，新建 `项目 GPT 字典.txt`。\n   按 `日文 [TAB] 中文 [TAB] 解释` 格式录入人名和术语，例如：\n   ```text\n   フラン\t芙兰\tname, lady, teacher\n   陽菜乃\t阳菜乃\tgirl, main character\n   大家さん\t房东\n   ```\n   > **提示**: 人名必须拆分姓和名单独定义，且即使日文中文相同也需重复定义。\n\n### 第三步：执行翻译\n1. 将提取好的日文 JSON 文件放入 `gt_input` 文件夹。\n2. 运行 `run.bat` (或 exe)。\n3. 根据提示拖入 `config.yaml` 文件路径。\n4. 选择翻译模式（通常选 `ForGal-json`）。\n5. 程序将自动开始翻译，进度和缓存会实时保存。\n\n### 第四步：修正与注入\n1. **检查缓存**: 翻译完成后，检查生成的缓存文件。GalTransl 会自动标记疑似错误，建议使用 EmEditor 人工校对修正。\n2. **构建中文脚本**:\n   - 再次打开 `GalTransl_DumpInjector.exe`。\n   - 选择日文脚本目录、翻译后的中文 JSON 目录 (`gt_output`)、以及中文脚本保存目录 (`script_cn`)。\n   - 点击“注入”。\n3. **处理编码 (针对 Shift-JIS 引擎)**:\n   - 若游戏引擎不支持 Unicode，注入时可能会提示 `sjis_ext.bin` 包含特殊字符。\n   - 按照教程使用 **VNTextProxy** (隧道模式) 或 **UniversalInjectorFramework** (替换模式) 进行 DLL 注入，以实现中文正常显示。\n\n### 第五步：测试运行\n将生成的脚本或资源包放回游戏目录，启动游戏测试。若出现乱码或报错，请返回第四步检查编码设置或 DLL 兼容性。\n\n> **⚠️ 发布规范**: 若发布未经过全文人工校对的翻译补丁，请务必在显眼位置标注 **\"GPT 翻译\u002FAI 翻译补丁\"**，严禁标注为“个人汉化”。","独立汉化组“樱雨社”正计划将一款经典的日本悬疑视觉小说引入中文社区，需要在两周内完成十万字剧本的初步本地化工作。\n\n### 没有 GalTransl 时\n- **人名与术语混乱**：通用翻译模型无法识别游戏特有的人物关系和生造词，导致主角名字在文中忽男忽女，关键道具名称前后不一，严重破坏剧情逻辑。\n- **人工校对成本极高**：成员需逐句对照日文原文修正机翻错误，处理断点续翻困难，一旦中途报错需手动排查进度，耗时占整个项目的 80%。\n- **技术门槛劝退新人**：从解包游戏资源、提取文本到重新注入封包，需要掌握多种命令行工具和脚本编写，非技术背景的翻译人员难以独立完成全流程。\n- **上下文缺失**：传统机翻缺乏对长对话上下文的记忆，导致代词指代错误频发，译文读起来支离破碎，缺乏视觉小说应有的沉浸感。\n\n### 使用 GalTransl 后\n- **专属 GPT 字典精准控词**：利用 GalTransl 首创的 GPT 字典功能，预先录入人设表和术语库，模型能自动锁定人名性别与专用词汇，确保全文称呼与概念高度统一。\n- **自动化流程高效流转**：依托实时缓存与自动断点续翻机制，即使网络波动也能无缝继续；结合一键解包注入插件，将原本数天的技术预处理压缩至几小时。\n- **提示工程提升译文质感**：通过深度优化的 Prompt 策略，GalTransl 让大模型理解视觉小说的语境，输出的译文语气自然流畅，大幅减少了后期人工润色的工作量。\n- **多格式与本地模型支持**：不仅支持主流大模型，还能部署 GalTransl-7B\u002F14B 等本地专项模型，在保护隐私的同时低成本处理大量文本，甚至可直接翻译字幕和 EPUB 文件。\n\nGalTransl 通过将提示工程与自动化工作流深度融合，把视觉小说汉化的核心精力从繁琐的技术操作中解放出来，真正回归到内容本身的打磨上。","https:\u002F\u002Foss.gittoolsai.com\u002Fimages\u002FGalTransl_GalTransl_8cc72d6b.png","https:\u002F\u002Foss.gittoolsai.com\u002Favatars\u002FGalTransl_0ad3766a.jpg",null,"https:\u002F\u002Fgithub.com\u002FGalTransl",[77,81,85,89,93],{"name":78,"color":79,"percentage":80},"Cython","#fedf5b",46.1,{"name":82,"color":83,"percentage":84},"Python","#3572A5",45.6,{"name":86,"color":87,"percentage":88},"XSLT","#EB8CEB",7.6,{"name":90,"color":91,"percentage":92},"C","#555555",0.7,{"name":94,"color":95,"percentage":96},"Batchfile","#C1F12E",0,2034,141,"2026-04-06T07:43:21","GPL-3.0","Windows","可选。若使用本地模型 GalTransl-7B-v3.5 需显存 6GB+；GalTransl-14B-v3 需更大显存（未说明具体数值）。云端 API 模式无需本地 GPU。","未说明",{"notes":105,"python":106,"dependencies":107},"提供免环境版（winexe），无需手动安装依赖。支持多种在线大模型 API（GPT-4\u002FClaude\u002FDeepseek 等）及本地部署模型（GalTransl-7B\u002F14B）。本地模型由 SakuraLLM 提供，需自行下载。主要用途为 Galgame 文本提取、翻译及注入，配套工具多为 Windows  executable。","3.11.9",[108],"未明确列出具体库名，通过 install.bat 自动安装",[14,15,13],[111,112,113],"ai","galgame","translater","2026-03-27T02:49:30.150509","2026-04-06T23:58:48.641537",[117,122,127,132,137,142,147],{"id":118,"question_zh":119,"answer_zh":120,"source_url":121},20404,"使用 NewBing 翻译时出现 'NoneType' 和 'int' 比较的错误怎么办？","这是配置项缺失导致的错误。维护者已发布热修复版本，请更新到最新版本（如 v3.6.1 或更高）。如果更新后仍有问题，请尝试更新项目依赖：\npip install --upgrade -r requirements.txt\n相关修复版本地址：https:\u002F\u002Fgithub.com\u002FXD2333\u002FGalTransl\u002Freleases\u002Ftag\u002F3.6.1","https:\u002F\u002Fgithub.com\u002FGalTransl\u002FGalTransl\u002Fissues\u002F57",{"id":123,"question_zh":124,"answer_zh":125,"source_url":126},20405,"Sakura 模型翻译时频繁触发长度判定错误导致无限拆分或重复输出，如何解决？","该问题通常由以下原因引起：\n1. 游戏脚本提取时断句不佳，导致模型合并句子。建议优化提取工具或手动提取人名。\n2. 强制为每条 message 加上 name 字段可显著减少长度判断错误。\n3. 离线 LLM 的 ngl 参数设置过低。不同模型版本和 llama.cpp 版本对 ngl 最低值要求不同（例如 Sakura 0.9pre3 Q4 需 ngl=24，而 Q2 需 40 以上）。请根据日志调整 ngl 参数至合适数值。","https:\u002F\u002Fgithub.com\u002FGalTransl\u002FGalTransl\u002Fissues\u002F64",{"id":128,"question_zh":129,"answer_zh":130,"source_url":131},20406,"调用 GPT-4 网页版时提示请求次数上限，但手动在网页使用正常，如何解决？","这是因为 revChatGPT 库版本过旧导致的限制。请升级 revChatGPT 到最新版本以解决此问题：\npython -m pip install --upgrade revChatGPT\n如果最新版仍无效，请等待库作者发布新版本。","https:\u002F\u002Fgithub.com\u002FGalTransl\u002FGalTransl\u002Fissues\u002F13",{"id":133,"question_zh":134,"answer_zh":135,"source_url":136},20407,"使用 GPT-4 翻译时报错 'invalid_api_key' (401 Unauthorized) 怎么办？","此错误通常是因为配置文件中的 API Key 填写错误或失效。请按以下步骤排查：\n1. 检查配置文件（config.json 或类似文件）中的 API Key 是否复制完整且无多余空格。\n2. 前往 https:\u002F\u002Fbalance.keya.pw\u002F 或其他官方渠道查询 Key 的有效性和余额。\n3. 如果确认 Key 有效但仍报错，可能是网络代理问题，请检查代理设置。","https:\u002F\u002Fgithub.com\u002FGalTransl\u002FGalTransl\u002Fissues\u002F7",{"id":138,"question_zh":139,"answer_zh":140,"source_url":141},20408,"如何绕过 GPT-4 网页版的请求次数限制？","可以通过修改代码调用移动端接口来绕过限制。请打开文件 `GalTransl\u002FBackend\u002FGPT4Translate.py`，找到第 129 行左右，将模型名称从 `gpt-4` 修改为 `gpt-4-mobile` 即可。这利用了 iOS 客户端 GPT-4 不限次数的特性。","https:\u002F\u002Fgithub.com\u002FGalTransl\u002FGalTransl\u002Fissues\u002F5",{"id":143,"question_zh":144,"answer_zh":145,"source_url":146},20409,"NewBing 或 EdgeGPT 连接失败、返回 403 错误或认证失败怎么办？","这通常是 Cookie 过期或库版本不兼容导致的。解决方案如下：\n1. 确保获取了正确的 Bing Cookie（通常需要包含 _U 字段的 Cookie）。\n2. 原版的 EdgeGPT 库可能已失效，建议替换为社区维护的 fork 版本，例如使用 `ReEdgeGPT` 库，或者寻找 EdgeGPT 最近更新的 fork 项目替换原有依赖。","https:\u002F\u002Fgithub.com\u002FGalTransl\u002FGalTransl\u002Fissues\u002F44",{"id":148,"question_zh":149,"answer_zh":150,"source_url":151},20410,"修改译前字典后导致已翻译内容需要重翻，有没有只替换不重翻的方法？","在新版本（v3.4.0+）中，字典替换逻辑已优化，直接替换不会修改原有的缓存（cache），从而避免触发重翻。如果你使用的是旧版本或想自定义行为，可以取消注释 `Frontend\u002FGPT.py` 第 661 行的代码来调整缓存处理逻辑。","https:\u002F\u002Fgithub.com\u002FGalTransl\u002FGalTransl\u002Fissues\u002F65",[153,158,163,168,173,178,183,188,193,198,203,208,213,218,223,228,233,238,243,248],{"id":154,"version":155,"summary_zh":156,"released_at":157},120107,"6.7.3","## 更新日志\nv6.7.3\n* 主观翻译质量调优\n* 优化缓存保存机制，规避小概率下中途关闭程序导致缓存损坏\n* 修正gemini空回复识别\n* 去掉已经过时的翻译模板r1\n\n---\n\nGalTransl_DumpInjector v2.0\n* AI 重构了代码\n* 增加了 msg-tool 模式，来自 https:\u002F\u002Fgithub.com\u002Flifegpc\u002Fmsg-tool\n\n---\n\n源码部署时 Python 版本暂时限制为 3.11.9 及以下，否则 GenDic 功能可能需要安装 Rust 编译环境来安装对应 pip 包  \n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**  \n\nGalTransl-ver：脚本完整包\u002FScript full package  \nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary  \nGalTransl-ver-win：Windows 免环境完整包\u002FWindows environment-free complete package","2025-10-03T10:08:33",{"id":159,"version":160,"summary_zh":161,"released_at":162},120108,"6.7.2","## 更新日志\nv6.7.1  \n* 新增缓存自动备份：现在每次重翻前旧的缓存会备份到transl_cache_autobak。当不满意本次重翻时可以回退缓存，或缓存意外损坏时用于恢复。\n* 改进自动找问题：\n1. 现在 问题-语言不通 修改为查找非GBK字符\n2. 改进问题展示：语言不通、残留日文、引入英文、比日文长的提示将更具体，更方便修正\n* 现在API URL如果填入完整接口（\u002Fchat\u002Fcompletions结尾）则不会自动补齐v1\n\nv6.7.2\n* 修正自动备份在没有缓存文件时报warning   \n\n--- \n\n源码部署时python版本暂时限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境来安装对应pip包   \n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \n\n\nGalTransl-ver：脚本完整包\u002FScript full package   \nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package","2025-09-30T00:13:22",{"id":164,"version":165,"summary_zh":166,"released_at":167},120109,"6.6.6","## 更新日志\n* 改善高并发性能\n* 增加设置项 smartRetry，用于控制解析失败时是否折半拆分重试\n* 增加设置项gpt.contextNum，用于控制每次翻译时携带的上文数量\n* 现在可以为每个token单独设置是否使用流式请求\n* 修复了由 @natsumerinchan 在 https:\u002F\u002Fgithub.com\u002FGalTransl\u002FGalTransl\u002Fpull\u002F182 中提出的 AdditionalPrompt 问题\n \n---\n\n* 本次更新添加了新的依赖项，源码部署需要更新依赖**   \n\n* 25.09.27：更新了GalTransl-v6.6.6-win-fix以解决win exe版本file_epub_epub插件导入报错的问题  \n\n--- \n\n源码部署时python版本暂时限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境来安装对应pip包   \n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \n\n\nGalTransl-ver：脚本完整包\u002FScript full package   \nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package","2025-09-07T02:30:02",{"id":169,"version":170,"summary_zh":171,"released_at":172},120110,"6.6.5","## 更新日志\n+ 对deepseek-v3进行提示词调优，目前所有常用模型表现均良好\n+ 界面与提示信息改进\n+ 令牌策略回退机制：现在出现[API错误]或[解析错误]时都会使用下一个模型（原仅在出现[API错误]时使用下一个）\n+ 现在翻译失败时会显示(Failed)+原文 （原仅显示Failed translation）\n+ 增加了对更多符号的检查，如[和\u003C\n+ 现在快捷启动方式会区分不同配置文件\n\n❗️本次更新添加了新的依赖项，源码部署需要更新依赖   \n\n--- \n\n源码部署时python版本暂时限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境来安装对应pip包   \n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \n\nGalTransl-ver：脚本完整包\u002FScript full package   \nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package   ","2025-07-22T02:22:07",{"id":174,"version":175,"summary_zh":176,"released_at":177},120111,"6.6.4","## 更新日志\n+ 优化部分问题规则，减少无效问题\n+ 默认GPT词典调整\n+ prompt调优，适配kimi k2\n\n---\n\n源码部署时python版本暂时限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境来安装对应pip包   \n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \n\nGalTransl-ver：脚本完整包\u002FScript full package   \nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package   ","2025-07-14T14:41:35",{"id":179,"version":180,"summary_zh":181,"released_at":182},120112,"6.6.3","## 更新日志\n+ ForGal-json：修复英文引号解析问题\n+ ForNovel：跳过消除对话框\n+ 现在语言设置项不再需要输入源语言\n+ 现在历史翻译不再使用上一次的回复，而是通过代码合成\n+ 提示词优化\n\n---\n\n源码部署时，Python版本暂时限制为3.11.9及以下，否则GenDic功能可能需要安装Rust编译环境来安装对应的pip包。  \n❗️ 单文件分割设置会直接影响缓存文件的读取命中率，**迁移旧项目时请确保单文件分割设置一致**。\n\nGalTransl-ver：脚本完整包\u002FScript full package  \nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary  \nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package","2025-07-12T03:58:00",{"id":184,"version":185,"summary_zh":186,"released_at":187},120113,"6.6.2","## 更新日志\n+ GenDic：修复功能报错\n+ ForGal-json：1. 优化提示词 2. 去掉空名称\n+ 调整默认字典\n+ 减少Gemini重复和翻译失败\n+ 优化gpt字典生成规则\n\n---\n\n源码部署时python版本暂时限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境来安装对应pip包   \n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \n\nGalTransl-ver：脚本完整包\u002FScript full package   \nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package   ","2025-07-06T03:06:00",{"id":189,"version":190,"summary_zh":191,"released_at":192},120114,"6.6.1","## 更新日志\n+ ForGal\u002FForNovel：修复部分解析功能，现在翻译多句时如果中间出错，前面可用的翻译将被采用\n+ ForNovel：修正一处报错\n+ sakura\u002Fgaltransl：修正rewriteModelName设置失效\n+ 其他：修正项目路径带空格时拖拽问题，text_common_normalfix细节优化\n+ 更新本地模型🤗[Sakura-GalTransl-14B-v3.7](https:\u002F\u002Fhuggingface.co\u002FSakuraLLM\u002FSakura-GalTransl-14B-v3.7)，通过改进的强化学习，显著改进了整体质量，减少了人称错误\n\n\n---\n\n源码部署时python版本暂时限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境来安装对应pip包   \n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \n\nGalTransl-ver：脚本完整包\u002FScript full package   \nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package   ","2025-07-04T03:13:19",{"id":194,"version":195,"summary_zh":196,"released_at":197},120115,"6.6.0","## 更新日志\n+ 现在支持为每个token单独设置模型名\n+ 新增设置项tokenStrategy，令牌策略，random随机轮询，fallback优先第一个，出现[请求错误]时使用下一个\n+ ForGal更名为ForGal-tsv\n+ 修正多name报错\n+ 跳过系统全局代理\n+ 其他bug修正\n\n---\n\n源码部署时python版本暂时限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境来安装对应pip包   \n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \n\nGalTransl-ver：脚本完整包\u002FScript full package   \nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package   ","2025-06-30T16:21:47",{"id":199,"version":200,"summary_zh":201,"released_at":202},120116,"6.5.1","## 更新日志\r\n+ 改善丢失换行\r\n+ sakura\u002Fgaltransl: 修正v6重构后多线程的某些不稳定和影响质量的问题。现在请求错误和解析错误的提示会更清晰。\r\n+ 调整默认设置linebreakSymbol: \"\\r\\n\" -> linebreakSymbol: \"auto\"\r\n\r\n---\r\n\r\n源码部署时python版本暂时限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境来安装对应pip包   \r\n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \r\n\r\nGalTransl-ver：脚本完整包\u002FScript full package   \r\nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \r\nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package   ","2025-06-12T00:59:05",{"id":204,"version":205,"summary_zh":206,"released_at":207},120117,"6.5.0","## 更新日志\r\n+ ForGal-json: 现在GPT4更名为ForGal-json，并支持切换流式等新特性，prompt微调减少gemini残留。\r\n+ ForGal\u002FForNovel: 修正恢复上下文报错，prompt微调减少gemini残留。\r\n+ 修正使用gemini官方openai兼容端点 https:\u002F\u002Fgenerativelanguage.googleapis.com\u002Fv1beta\u002F 报错。\r\n+ 修正v6重构后多线程的某些不稳定和影响质量的问题。\r\n+ 现在请求错误和解析错误的提示会更清晰。\r\n\r\n---\r\n\r\n源码部署时python版本暂时限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境来安装对应pip包   \r\n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \r\n\r\nGalTransl-ver：脚本完整包\u002FScript full package   \r\nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \r\nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package   ","2025-06-11T16:14:28",{"id":209,"version":210,"summary_zh":211,"released_at":212},120118,"6.4.1","## 更新日志\r\n+ ForGal: 修正prompt\r\n+ 新增插件file_mtbench_aio: 整合多种翻译评估指标，现在支持chrf和comet。删除file_mtbench_chrf。\r\n\r\n---\r\n\r\n源码部署时python版本暂时限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境来安装对应pip包   \r\n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \r\n\r\nGalTransl-ver：脚本完整包\u002FScript full package   \r\nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \r\nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package   ","2025-06-09T14:01:08",{"id":214,"version":215,"summary_zh":216,"released_at":217},120119,"6.4.0","## 更新日志\r\n+ 增加翻译模板ForNovel，区别是输入不带name字段。\r\n+ ForGal: 提高gemini稳定性\r\n+ ForGal: 修正重启翻译时没有恢复上下文\r\n+ Sakrua: 修正v6.3.1 Sakrua报错\r\n+ 插件text_common_normalfix: 与原文相比多余句号则去除\r\n\r\n---\r\n\r\n源码部署时python版本暂时限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境来安装对应pip包   \r\n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \r\n\r\nGalTransl-ver：脚本完整包\u002FScript full package   \r\nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \r\nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package   ","2025-06-06T16:23:57",{"id":219,"version":220,"summary_zh":221,"released_at":222},120120,"6.3.1","## 更新日志\r\n+ ForGal：修复gemini-2.5不思考\r\n+ ForGal：出现�时重翻\r\n+ 修正retranslFail选项报错\r\n\r\n---\r\n\r\n源码部署时python版本暂时限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境来安装对应pip包   \r\n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \r\n\r\nGalTransl-ver：脚本完整包\u002FScript full package   \r\nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \r\nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package   ","2025-06-06T00:59:19",{"id":224,"version":225,"summary_zh":226,"released_at":227},120121,"6.3.0","## 更新日志\r\n+ ForGal：优化gemini-2.5-pro-preview-05-06表现\r\n+ r1：修复新R1不可用\r\n+ galtransl-v3：更新🤗[GalTransl-7B-v3.5](https:\u002F\u002Fhuggingface.co\u002FSakuraLLM\u002FSakura-GalTransl-7B-v3.5)模型，强化模型文学性\r\n+ GenDic: 修复报错bug\r\n+ Problem：增加问题项\"本无韩文\"，本次没有新增配置文件，默认启用\r\n\r\n---\r\n\r\n源码部署时python版本限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境   \r\n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \r\n\r\nGalTransl-ver：脚本完整包\u002FScript complete package   \r\nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \r\nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package   ","2025-05-30T14:16:41",{"id":229,"version":230,"summary_zh":231,"released_at":232},120122,"6.2.1","## 更新日志\r\n+ forgal: 修复stream为true时报错\r\n\r\n---\r\n\r\n源码部署时python版本限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境   \r\n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \r\n\r\nGalTransl-ver：脚本完整包\u002FScript complete package   \r\nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \r\nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package   ","2025-05-15T07:38:36",{"id":234,"version":235,"summary_zh":236,"released_at":237},120123,"6.2.0","## 更新日志\r\n+ backendSpecific：增加设置项  apiErrorWait: auto # 发生API Error时的等待时间，包括频率限制。auto将自动适应[auto\u002F0-120]\r\n+ backendSpecific：增加设置项  stream: true # 流式请求(GPT4\u002Fr1不生效)\r\n+ 改进发生频率限制时的提示，避免刷屏\r\n\r\n---\r\n\r\n源码部署时python版本限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境   \r\n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \r\n\r\nGalTransl-ver：脚本完整包\u002FScript complete package   \r\nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \r\nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package   ","2025-05-13T15:16:47",{"id":239,"version":240,"summary_zh":241,"released_at":242},120124,"6.1.0","## 更新日志\r\n+ file_galtransl_json：新增设置项output_with_src，支持输出到gt_output时保留原文，方便后续人工校对\r\n+ 配置文件-dictionary：新增设置项useGPTDictInName：将GPT字典用在name字段，可用于翻译name字段\r\n+ BUG：修正示例配置文件无法覆盖插件设置项的问题\r\n+ 现在name替换表不再自动使用GPT字典中的名字，可以手动设置useGPTDictInName\r\n\r\n---\r\n\r\n源码部署时python版本限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境   \r\n❗️ 单文件分割设置直接影响缓存文件的读取命中，**迁移旧项目请确保单文件分割设置一致**   \r\n\r\nGalTransl-ver：脚本完整包\u002FScript complete package   \r\nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \r\nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package   ","2025-05-05T23:44:00",{"id":244,"version":245,"summary_zh":246,"released_at":247},120125,"6.0.5","## 更新日志\r\n+ dump-name--现在首次自动生成name替换表时，会给出一个修改的时间与说明\r\n+ rebuild--rebuild模式下缓存不完整时，现在会给出提醒。\r\n+ rebuild--retran_key在rebuild模式下禁用，避免触发缓存不完整。\r\n+ BUG--修复双击快捷方式不会直接启动翻译\r\n+ BUG--修复proxy代理设置不正常工作\r\n\r\n---\r\n\r\n源码部署时python版本限制为3.11.9及以下，否则GenDic功能可能需要安装rust编译环境\r\n\r\nGalTransl-ver：脚本完整包\u002FScript complete package   \r\nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary   \r\nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package   ","2025-05-04T04:41:55",{"id":249,"version":250,"summary_zh":251,"released_at":252},120106,"6.8.0","## GalTransl v6.8.0\n* 新增一项检查项：缺失控制符。启用后会查找控制符与原文不匹配的情况。\n\u003Cimg width=\"1060\" height=\"157\" alt=\"image\" src=\"https:\u002F\u002Fgithub.com\u002Fuser-attachments\u002Fassets\u002Feb751e42-78db-4c52-a7c3-d2839bfc4740\" \u002F>\n\n* 修复默认词典存在的问题\n* 不再控制大模型的温度\n* 其他已知问题修复\n\n## GalTransl_DumpInjector_v2.1.0\n* 修复在使用msg-tool模式时，GBK编码注入选项不生效的问题，由@lifegpc在https:\u002F\u002Fgithub.com\u002FGalTransl\u002FGalTransl_DumpInjector\u002Fpull\u002F4中提出并解决\n* 现在选择日文脚本目录后，会自动填写其他相关目录，从而减少目录选择次数\n\n## GalTransl-v4-4B-2512\n* [GalTransl-v4-4B-2512](https:\u002F\u002Fhuggingface.co\u002FSakuraLLM\u002FGalTransl-v4-4B-2512) 是基于Sakura-4B-Qwen3-Base-v2 的本地翻译模型，适用于luna翻译器等即时翻译场景，非常方便实用\n\n\n---\n\n在源码部署时，Python版本暂时限制为3.11.9及以下，否则GenDic功能可能需要安装Rust编译环境来安装对应的pip包。  \n❗️ 单文件分割设置会直接影响缓存文件的读取命中率，**迁移旧项目时请确保单文件分割设置一致**  \n\nGalTransl-ver：脚本完整包\u002FScript full package  \nGalTransl-ver-core：脚本更新包，不会覆盖你的字典\u002FScript update package, will not overwrite your dictionary  \nGalTransl-ver-win：Windows免环境完整包\u002FWindows environment-free complete package","2025-12-20T04:00:33"]