从 此处 下载最新版汉化补丁
本仓库源码滚动更新,如需下载特定时间戳的仓库快照,请到Release页面下载。
Note
如果在安装过程中出现任何问题
请先尝试在 Steam 右键 DELTARUNE
选择 属性 -> 本地文件 -> 验证游戏文件完整性
待 Steam 验证完毕后再次尝试
Tip
获取安装目录方法:在 Steam 右键 DELTARUNE
选择 管理 -> 浏览本地文件
- 前往 https://github.com/gm3dr/DeltaruneChinesePatcher/releases/latest 下载安装器
- (仅限 macOS) 将安装器移动到
Applications目录下 - 将汉化补丁放到安装器根目录 (macOS 操作步骤见下文),打开安装器
- (仅限 macOS 或 Linux) 输入 DELTARUNE 安装目录(或「浏览」,选中 DELTARUNE 安装目录)
- 点击「安装补丁」即可
Tip
Windows 版安装器可以全自动从 Steam 获取 DELTARUNE 安装路径
安装 DELTARUNE 后重启电脑,再运行汉化安装器,就会自动填入路径,无需手动操作
Important
macOS 没有注册表,所以无法自动填写游戏路径
在 Finder 中右键 DELTARUNE Chinese Patcher.app,选择「显示包内容」即可显示包内文件
补丁需要放到安装器 DELTARUNE Chinese Patcher.app/Contents/MacOS 文件夹
需要填入的游戏目录为 DELTARUNE 目录下 DELTARUNE.app/Contents/Resources
下载汉化补丁,将里面所有的内容全部解压到 DELTARUNE 安装目录下,全部覆盖
使用 DeltaPatcher 按照以下表格逐行进行输入
输入后点击 Apply patch
| Original file | XDelta patch |
|---|---|
DELTARUNE 安装路径/data.win |
补丁路径/main.xdelta |
DELTARUNE 安装路径/chapter1_windows/data.win |
补丁路径/chapter1.xdelta |
DELTARUNE 安装路径/chapter2_windows/data.win |
补丁路径/chapter2.xdelta |
DELTARUNE 安装路径/chapter3_windows/data.win |
补丁路径/chapter3.xdelta |
DELTARUNE 安装路径/chapter4_windows/data.win |
补丁路径/chapter4.xdelta |
DELTARUNE 安装路径/chapter5_windows/data.win |
补丁路径/chapter5.xdelta |
Tip
Linux 不需要额外操作,可以与 Windows 共用补丁
游戏文件和补丁文件一样,都是完全相同的
这是因为 Steam 使用 Proton 兼容层运行 Windows 版 DELTARUNE
| Original file | XDelta patch |
|---|---|
DELTARUNE 安装路径/game.ios |
补丁路径/main.xdelta |
DELTARUNE 安装路径/chapter1_mac/game.ios |
补丁路径/chapter1.xdelta |
DELTARUNE 安装路径/chapter2_mac/game.ios |
补丁路径/chapter2.xdelta |
DELTARUNE 安装路径/chapter3_mac/game.ios |
补丁路径/chapter3.xdelta |
DELTARUNE 安装路径/chapter4_mac/game.ios |
补丁路径/chapter4.xdelta |
DELTARUNE 安装路径/chapter5_mac/game.ios |
补丁路径/chapter5.xdelta |
Important
macOS 需要使用 macOS 版本的补丁,Windows 版补丁无法使用
macOS 的游戏安装路径为「安装目录下 DELTARUNE.app/Contents/Resources」
翻译文本(workspace/ch*/imports/text_src)与修改的中文贴图(workspace/ch*/imports/pics/workspace/ch*/imports/pics_zhname)使用 CC BY-NC-SA 4.0 协议许可
在保留好人汉化组署名的前提下,您可以对补丁的文本和贴图进行修改,并合法使用,好人汉化组对修改后的内容不承担任何责任。
打包工具源码 src 及 Powershell 脚本 *.ps1 在 GPL 通用公共许可证 v3(GPL v3) 下开源。
GML 代码 workspace/ch*/imports/code 是从 DELTARUNE 游戏中,使用 Undertale Mod Tool 工具解包并修改的。由于改动较小,无法分别列出,恕我们无法给出授权协议
您可以使用或修改这些代码,后果自负,好人汉化组对于这些代码的改动不承担任何责任。
本地生成补丁需要如下依赖:
- .NET 10.0 SDK(用于编译
src/deltarunePacker.csproj) - Node.js & npm(用于运行
atlas_packer图集切片工具) - Steam 客户端(且账户中拥有 DELTARUNE,以获取特定 Depot 的游戏文件)
- (可选)如果需要拉取最新文本,需在根目录创建
secrets.ps1存放你的 API Token。
Important
在生成像素字体时需要调用 bmfont64.exe 程序,必须保证文件路径没有任何汉字或特殊字符。否则可能会因路径编码不匹配而报错。
所有打包过程已整合成 PS1 脚本,存放在根目录。直接按顺序运行即可:
自动识别操作系统(Windows/macOS/Linux),并前往对应的 Steam 安装目录抓取所需文件。
Important
运行此脚本前,请在系统浏览器输入 steam://open/console 打开 Steam 控制台,并逐行输入以下命令,下载指定版本的游戏:
download_depot 1671210 1671212 5291565625263756968download_depot 1671210 1671213 667983367427050155download_depot 1690940 1690941 7280478300334929399download_depot 1690940 1690942 1337622988459417429
通过 API 全自动下载第 1~5 章最新的中英文 en.json 与 cn.json。
Tip
在运行该脚本前,请确保您拥有“好人汉化组” Weblate 翻译站的访问权限。在仓库根目录新建 secrets.ps1:
$env:TOKEN = "你的 API Token"
$env:URL = "翻译站网址"通过 node atlas_packer/run.js 根据 template.mst 模板,将散装的本地化贴图合成为游戏引擎使用的完整大图。
调用 .NET 10 工具链编译打包器,并运行 src 目录下的 deltarunePacker 的资源导入工具,将汉化贴图、文本等导入到各章 data.win中。
调用 xdelta3 生成各平台的补丁差分文件,并调用 7z 打包补丁和安装器,构建出汉化补丁成品。
├── atlas_packer # 图集生成工具
│ ├── package.json
│ ├── run.js # 主脚本
│ └── template.mst # 模板
├── cn_installer # 汉化安装器、打包依赖、自解压模块
├── prproj # Adobe Premiere Pro 2025 工程项目
├── src # 汉化打包核心工具源码 (C#)
│ ├── Importer.cs / Exporter.cs / Loader.cs / Program.cs
│ └── lib # 底层基础库(UndertaleModLib.dll, Underanalyzer.dll)
├── tool # 额外的辅助工具(7z.exe、bmfont64.exe、xdelta3.exe)
└── workspace # 汉化工作区
├── ch1 ~ ch4 # 1 - 4章汉化资源(贴图、字体、文本、代码等)
├── demo # Demo 版汉化资源
├── global # 人名替换表、跨章节共享资源
├── main # 章节选择器汉化资源(主要是代码)
└── result # 输出
Note
.gitignore 过滤了所有的临时目录(temp, obj, bin),底层依赖包(node_modules)、游戏本体文件(data.win, game.ios)、密钥文件(secrets.*)。在提交 PR 时请勿夹带此类文件。
atlas使用的纹理页图集,包含所有新纹理,使用node atlas_packer/run生成code修改过的 GML 代码font字体font原字体的补字字体pics原字体的字符单图bmfc补字字体的 bmfont 基础配置
pics贴图,用于生成纹理页图集pics_zhname人名翻译版贴图,用于生成纹理页图集text_src打包使用的语言文件
Important
除了第三章 Tenna 的 funnytext 艺术字有特殊处理,自动居中外
其余贴图都需要保证大小与原本的相同,否则会报错
- 废话:把代码中硬编码没有走游戏多语言系统的文本改动了
修改了各种坐标值来微调文字显示位置和动画 - 改动了
is_english使得游戏即使当lang为en时也会从语言文件夹中加载 json - 改动了
obj_writer添加了汉字字符字宽逻辑 - 改动了
DEVICE_MENU(读档界面)使得日文下显示的是简体中文而不是English - 改动了
obj_credits覆盖掉了原有的日文本地化名单为汉化组名单 - 改动了
scr_kana_check去除了文本中含有日文时切换为日文字体的功能
这个功能原本用于保证日文玩家名也能在英文时正常显示 - 改动了
scr_change_language、obj_initializer2、scr_84_lang_load、scr_84_init_localization、DEVICE_MENU来实现人名翻译的切换
添加了变量global.names用于存储人名翻译选项的值,往true_config.ini里添加了NAMES项用来存储人名翻译选项的设定
- 改动了
obj_writer把后三章的`保留特殊字符文本功能带回了第一章 - 改动了
obj_writer把后三章的\n换行逻辑带回了第一章 - 改动了
obj_town_event来实现 Sans 店名的人名翻译切换 - 改动了
obj_84_lang_helper来实现 Toriel 黑板的人名翻译切换
- 改动了
obj_fusionmenu来让存档点的伙伴页面字串不被横向压缩 obj_welcometothecity_backinglights,逐字效果的适配- 改动了
obj_town_event来实现 Sans 店名的人名翻译切换 - 改动了
obj_84_lang_helper来实现 Toriel 黑板的人名翻译切换 - 改动了
obj_pipis_egg_bullet/obj_pipis_enemy来实现 Pipis 的人名翻译切换
- 改动了
obj_fusionmenu来让存档点的伙伴页面字串不被横向压缩 - 改动了
obj_writer_quiz添加了汉字字符字宽逻辑 - 改动了
scr_rhythmgame_lyrics使得音游小游戏强制使用日文方式显示字间隙 - 改动了
obj_ch3_closet加长了 Tenna 发癫 - 改动了
obj_watercooler/obj_holywatercooler把 Watercooler/Holywatercooler 说话逻辑改为和日文一样随机字符 - 改动了
obj_rouxls_annyoing_dog_controller把 Rouxls 战的神烦狗 参战从英文的文本改为了和日文一样的贴图形式 - 改动了
obj_room_green_room来实现 Ramb 位置上方的人名翻译切换 - 改动了
obj_dw_ranking_t_explain来实现 T 级房间 Tenna 的人名翻译切换 - 改动了
scr_rhythmgame_draw来实现音游小游戏的人名翻译切换 - 改动了
obj_ch3_couch_video来实现 Tenna 小视频的人名翻译切换 - 改动了
obj_rouxls_biplane_flag来实现 Rouxls 战飞机旗帜弹幕的人名翻译切换
- 改动了
obj_fusionmenu来让存档点的伙伴页面字串不被横向压缩 - 清空了
obj_dw_church_intro_guei_Draw_0来去除一个文本中的特殊字符
这条文本的中文译文中不含这个特殊字符 - 改动了
obj_takingtoolong来让 TAKING TOO LONG 不会 TAKING TOO LONG - 把
obj_micmenu回退到了 Patch 1.02 之前的版本
Patch 1.02 为了允许麦克风有更多字符能显示,强制这里使用日文字体,所以回退到旧版 - 改动了
obj_room_town_mid来实现 Sans 店名的人名翻译切换 - 改动了
obj_84_lang_helper来实现 Toriel 黑板的人名翻译切换 - 改动了
scr_rhythmgame_draw来实现音游小游戏的人名翻译切换
- 改动了
obj_fusionmenu来让存档点的伙伴页面字串不被横向压缩 - 改动了
scr_rhythmgame_draw来实现音游小游戏的人名翻译切换 - 改动了
scr_rhythmgame_lyrics使得音游小游戏强制使用日文方式显示字间隙 - 改动了
obj_ch5_DWCR01来修复泡泡对话不会正常结束消失的问题 - 改动了
obj_ch5_LW20W_end来修正 Weird Route 结尾的显示效果 - 改动了
obj_date_controller来修复 Pink 战约会阶段的何意味强制换行问题
以及帮忙修复了 Pink 战某些文本描边显示异常的问题 - 改动了
obj_battlecontroller来修正 Netskie 战的查看文本显示 - 改动了
obj_green_enemy来实现 Green 战斗中 Green 牌子的人名翻译切换 - 改动了
obj_yellow_enemy来实现 Yellow 战斗中 Green 牌子的人名翻译切换 - 帮忙修复了
obj_terracota_enemy的错误结束回合问题 - 改动了
obj_yellow_trial_manager来修正审判介面手柄按钮偏移的问题 - 改动了
obj_town_mid_conbini来实现 Sans 店名的人名翻译切换 - 改动了
obj_dw_cliff_climbrefresher来修复自动换行导致的显示异常 - 改动了
obj_plat_foreground_writer来修复横版跳跃状态下互动文本错位的问题 - 改动了
obj_84_lang_helper与obj_room_torielclass来实现 Toriel 黑板的人名翻译切换
normal.ttfSimSun 12x(中易宋体 内嵌点阵 12)
(修改过拼音、全角问号叹号、全角逗号句号、双层直角引号)battle.ttfSimSun 16x(中易宋体 内嵌点阵 16)sans.ttf方正少儿(手机端主题提取的两万字大字库版)noelle.ttfBoutique Bitmap 9x9 R(精品点阵体 9x9 R)8bit.ttfBoutique Bitmap 9x9 B (精品点阵体 9x9 B)legend.ttf基于 DR 日文使用的 Maru Monica 补字,By 晓晓_Akatsuki
tennaIntroF1_compressed_28第三章的 Tenna 神人小视频1-4宣传片B站官号发布的 1-4 章汉化发布宣传片
为了控制文件大小,去除了宣传片使用的所有视频素材,请在下方网盘下载后全部放置到文件夹内
https://1813524098.share.123pan.cn/123pan/KPMSVv-ydDjvch5_intro_en第五章的 Flowery 出场动画ch5宣传片B站官号发布的 1-5 章汉化发布宣传片
为了控制文件大小,去除了宣传片使用的所有视频素材,请在下方网盘下载后全部放置到文件夹内
https://1813524098.share.123pan.cn/123pan/KPMSVv-phcdd