3DM汉化补丁+动态汉化,实现真正意义上的完整汉化
闲来无事,突然想起来了这个游戏,之前因为汉化折磨了好久,突然灵光一现想到了配合3DM的补丁+框架实现动态汉化吐槽:这游戏作者也是真的怪,明明很好的一个游戏评论区也全是need Chinese他就是不做官方汉化,老外的思想是真的...只能说也就那样吧
汉化原理
这游戏特殊点在于这游戏对字节数的读取有问题?(我猜的)
当你通过正常手段汉化的时候,会导致中文占两个字节他读取出来之后全部都是口口口口口口
那么我们就使用3DM修改好的内核补丁实现字节的正常读取,因为游戏内容的更新3DM的补丁会出现汉化不完整的情况
但因为使用了内核补丁,能正常读取双字节了,这时候再配合框架,实动态汉化大大提高了可玩性,玩家可以根据自己的情况任意修改和校正汉化内容
当游戏再次更新时,就无需考虑补丁汉化需要频繁更新的问题了
[常见问题]
(一)翻译不准确时,如何修改自定义汉化内容?
打开游戏目录下的BepInEx---> Translation---> zh--->Text---> AutoGeneratedTranslations.txt
查找你想修改的内容
(二)如何快速定位自己需要修改的汉化位置?
打开AutoGeneratedTranslations.txt后 Ctrl+F 勾上 循环
然后 查找 游戏里出现错误字段中的关键字
如:老板名(自动翻译结果是老板名字 , 实际上真正应该翻译为 Boos名字)
修改之后记得保存文本,然后重新上游戏之后生效,建议一次性多改点
(三)为什么有时候翻译的很慢,有时候翻译的很快,有时候不翻译?
翻译的慢:是因为用的翻译源是谷歌,自己想办法用科学或者ctrl+0更换翻译源
不翻译:首先检查第二步操作是否正确 , 其次就是你的网络问题,想办法用科学或者更换源
(四)为什么操作完 第一步和第二步 之后进不去游戏了/进游戏闪退?
检查电脑运行库,安装所需要运行库,如果还不行就删除第二步放进去的那些文件 , 然后启动游戏试试
如果可以,那可能是电脑系统问题不支持框架 , 解决办法自行研究,实在不行就还是用3DM的补丁汉化玩吧 (这种情况微无其微)
如果再不行,那恭喜你汉化与你无缘了(不会有人这么倒霉吧)
(五)想自己在游戏中对比翻译文本?
Ctrl+T 切换自动翻译结果 , 建议英语稍微还行的可以配合上二 进行大范围内容修改和校正
(六)该汉化什么时候需要更新?
理论上来说永远不需要更新,游戏更新了也不需要更新,除非3DM的内核补丁需要更新的时候才需要等更新
汉化也是动态汉化,游戏更新出的任何新内容都会自动汉化,当然了你也可以配合上二 进行汉化的修改和校正
附件太大了论坛上传不了,上传网盘了自行下载吧
蓝奏云https://wwd.lanzouo.com/ilmtT23ftfaf
密码:**** Hidden Message *****
本帖最后由 ZJ974548918 于 2024-10-5 15:45 编辑
补充:不好意思,说明里写错了哈 是Alt+T是切换翻译部分对比,Alt+0是切换翻译源
如果发现游戏更新之后没效果了,就先测试一下只用论坛补丁看有没有效果,如果也没有那就需要等3dm的补丁更新才可以继续使用
如果有效果,那就自己重新检查自动翻译的安装步骤,肯定是自己没弄好
感谢老哥分享汉化,方便了很多玩家来游玩这个游戏呢。
作者目前几个版本删改的东西还蛮多的,所以是打算把游戏做完再出汉化的,毕竟这游戏国内也不火,看论坛凉成这样就知道了。 感谢老哥分享! 这两天玩主要3dm的补丁用不了手柄了很闲的,另外汉化一直用拍屏翻译也有点难绷 讨厌君(`) 发表于 2024-7-4 04:29
感谢老哥分享! 这两天玩主要3dm的补丁用不了手柄了很闲的,另外汉化一直用拍屏翻译也有点难绷 ...
这种方式也是基于补丁的,不知道你能不能行
感谢楼主分享
ASDASDASDASDASDA
NIUBI
XIONGDI
66666666666666666
汉化补丁的bug有办法修复吗
6666666666666666666
6666666666666666666
ZJ974548918 发表于 2024-7-4 14:47
这种方式也是基于补丁的,不知道你能不能行
试过了,手柄还是不能用,应该是3dm补丁的问题,只能等他们更新了
本帖最后由 styyds6 于 2024-7-5 22:00 编辑
窗口报了一大串下面的红色错误,只截取了一小部分,但是游戏可以正常运行 During invoking native->managed trampolineException: Il2CppInterop.Runtime.Il2CppException: System.ArgumentException: Type cannot be null.
--- BEGIN IL2CPP STACK TRACE ---
System.ArgumentException: Type cannot be null.
at UnityEngine.GameObject.GetComponentsInChildren (System.Type type, System.Boolean includeInactive) in <00000000000000000000000000000000>:0
--- END IL2CPP STACK TRACE ---
at Il2CppInterop.Runtime.Il2CppException.RaiseExceptionIfNecessary(IntPtr returnedException) in /home/runner/work/Il2CppInterop/Il2CppInterop/Il2CppInterop.Runtime/Il2CppException.cs:line 36
at UnityEngine.GameObject.GetComponentsInChildren(Type type)
at XUnity.AutoTranslator.Plugin.Core.Hooks.UGUI.GameObject_SetActive_Hook._Postfix(GameObject __instance, Boolean value)
at DMD<UnityEngine.GameObject::SetActive>(GameObject this, Boolean value)
at (il2cpp -> managed) SetActive(IntPtr , Byte , Il2CppMethodInfo* )
During invoking native->managed trampoline
Exception: Il2CppInterop.Runtime.Il2CppException: System.ArgumentException: Type cannot be null.
--- BEGIN IL2CPP STACK TRACE ---
System.ArgumentException: Type cannot be null.
at UnityEngine.GameObject.GetComponentsInChildren (System.Type type, System.Boolean includeInactive) in <00000000000000000000000000000000>:0
--- END IL2CPP STACK TRACE ---
at Il2CppInterop.Runtime.Il2CppException.RaiseExceptionIfNecessary(IntPtr returnedException) in /home/runner/work/Il2CppInterop/Il2CppInterop/Il2CppInterop.Runtime/Il2CppException.cs:line 36
at UnityEngine.GameObject.GetComponentsInChildren(Type type)
at XUnity.AutoTranslator.Plugin.Core.Hooks.UGUI.GameObject_SetActive_Hook._Postfix(GameObject __instance, Boolean value)
at DMD<UnityEngine.GameObject::SetActive>(GameObject this, Boolean value)
at (il2cpp -> managed) SetActive(IntPtr , Byte , Il2CppMethodInfo* )
During invoking native->managed trampoline
Exception: Il2CppInterop.Runtime.Il2CppException: System.ArgumentException: Type cannot be null.
--- BEGIN IL2CPP STACK TRACE ---
System.ArgumentException: Type cannot be null.
at UnityEngine.GameObject.GetComponentsInChildren (System.Type type, System.Boolean includeInactive) in <00000000000000000000000000000000>:0
--- END IL2CPP STACK TRACE ---
at Il2CppInterop.Runtime.Il2CppException.RaiseExceptionIfNecessary(IntPtr returnedException) in /home/runner/work/Il2CppInterop/Il2CppInterop/Il2CppInterop.Runtime/Il2CppException.cs:line 36
at UnityEngine.GameObject.GetComponentsInChildren(Type type)
at XUnity.AutoTranslator.Plugin.Core.Hooks.UGUI.GameObject_SetActive_Hook._Postfix(GameObject __instance, Boolean value)
at DMD<UnityEngine.GameObject::SetActive>(GameObject this, Boolean value)
at (il2cpp -> managed) SetActive(IntPtr , Byte , Il2CppMethodInfo* )
During invoking native->managed trampoline
Exception: Il2CppInterop.Runtime.Il2CppException: System.ArgumentException: Type cannot be null.
--- BEGIN IL2CPP STACK TRACE ---
System.ArgumentException: Type cannot be null.
at UnityEngine.GameObject.GetComponentsInChildren (System.Type type, System.Boolean includeInactive) in <00000000000000000000000000000000>:0
--- END IL2CPP STACK TRACE --- RE: 3DM汉化补丁+动态汉化,实现真正意义上的完整汉化 [修改]
感谢分享 支持大佬
7777777777
感谢感谢
66666666666
seet65 发表于 2024-7-5 10:31
汉化补丁的bug有办法修复吗
手柄只能等,大概率是读取方式被改变了,导致手柄的输入输出没办法正确识别对于操作
好啊,可以不用吃灰了! 6666666666666666666666666666666666666
1111111111111111111111111 哪个大佬能修复下bug啊 ddddddddddddddd dghsfhdgfh
给有一个月节骨眼
检测不到手柄 感谢大佬的汉化
1111111111111111111111111111