3DMGAME论坛

标题: [MOD汉化教程]只需30秒你就能汉化一个MOD(26号更新小助手,更简单更粗暴) [打印本页]

作者: ET    时间: 2020-4-25 18:37
标题: [MOD汉化教程]只需30秒你就能汉化一个MOD(26号更新小助手,更简单更粗暴)
本帖最后由 lcsy 于 2020-4-26 15:08 编辑

一,使用的工具
1,dnspy                                链接:https://github.com/0xd4d/dnSpy/releases
2,汉化小助手 本人原创工具    链接: PS:易语言编写,某些管家软件可能不太友好.

26号更新小助手
针对正则表达式比较难搞,小助手加入一个暴力提取模式.举例
text("abcde")
text("abcdf")
你想提取引号"" 中的内容
前面的文本填写  text("
后面的文本填     ")
暴力提取就可以了



教程针对没有提供外置语言文件的MOD,至于提供语言接口的MOD,直接改Languages下面的文件就行.不再描述
怎么判断 你看到{=xxxxxxxxx}字符串前面带类似这种的就是
,直接在 该MOD\ModuleData\Languages\CN\下建立一个module_strings-CN.xml文件 内容模板如下
<


本次以 PreventEscape1--也就是阻止俘虏逃跑  为例  

PreventEscape发布链接:https://www.nexusmods.com/mountandblade2bannerlord/mods/134

二,正文

1,先加载MOD进入游戏,取一个关键词  

[attach]5040791[/attach]

这里我们关键词取 Base Chance 长点更好,不容易出现重复

1,  打开DNSPY工具
将游戏根目录\Modules\PreventEscape\bin\Win64_Shipping_Client\PreventEscape.dll拖进dnspy窗口里.(如图)
[attach]5040787[/attach]


2.找到字符串所在的类文件,正常都是搜索关键词
,方法1 在dnspy右下方的框内搜索
,方法2 依次展开左侧树形列表,在右上角的窗口按ctrl+F搜索关键词
'方法3 点dnspy右上角的 文件---导出到工程  然后使用其它工具搜索定位 比如notepad++ ,sublime等,这种适合大型dll修改,目前骑砍2MOD都比较小,没必要!

[attach]5040792[/attach]

已成功定位需要汉化的字符串在 PreventEscapeSubModule-setting下,再随便在里面翻看下,别的关键词是不是都在 如果没有再翻翻别的地方


然后再右上代码窗口内点右键 选择编辑类  会弹出一个新的窗口,
[attach]5040797[/attach]


[attach]5040798[/attach]

3 复制 新窗口(编辑窗口)里所有的代码,粘贴到一个你找的到的记事本中 ,点击编译

这时点击编译是看看有没有什么报错,如图这就是缺少运行库产生的问题


[attach]5040811[/attach]

'解决方法
[attach]5040812[/attach]
解决方法:
查看引用 把对应的文件拖进来

前两个在bin\Win64_Shipping_Client\目录里.也就是PreventEscape.dll同级目录
后面的在游戏根目录\bin\Win64_Shipping_Client\下面

简单粗暴点的办法就是把MOD目录下 bin\Win64_Shipping_Client\和游戏根目录下 bin\Win64_Shipping_Client\下在的所有dll都拖进来

无论你用哪种方法,只是在没有修改任何代码的情况下编译没有报错就行

-------------------------------------------------分割线(如果前面的操作没有成功,后面的就不用看了)-----------------------------------------------------------------


我们再回到\PreventEscape\Settings

检查下代码
<
[SettingProperty("Base chance (bandits), %/day", 0f, 1f, false, "Base chance that a prisoner will escape from bandits")]
[SettingProperty("Base chance, %/day", 0f, 1f, false, "Base chance that a prisoner will escape from noble")]


我标出的红字部分正好就是需要汉化的字符串.
如果你只是想试试,直接汉化引号部分的英文字符串(红色标注部分)就行.点编译,然后dnspy左上角文件--保存全部,就完成了


-------------------------------------------------分割线-----------------------------------------------------------------
但是我说过的汉化只需30秒完成,这部分想深入汉化的朋友可以看看

批量提取需要汉化的字符串.提取的字符串没有必要是纯文本.保持文本符号结构就行了.举个例子
text 不能汉化
"text" 可以汉化
单纯的提取text并替换成 文本
那么结果就是
文本
"文本"
如果用"文本"替换"text" ,就不会改变不能汉化的text.
结果如下

text
"文本"

暴力模式
26号更新小助手
针对正则表达式比较难搞,小助手加入一个暴力提取模式.举例
text("abcde")
text("abcdf")
你想提取引号"" 中的内容
前面的文本填写  text("
后面的文本填     ")
点 暴力提取就可以了



正则模式
< [SettingProperty("Base chance (bandits), %/day", 0f, 1f, false, "Base chance that a prisoner will escape from bandits")]
[SettingProperty("Base chance, %/day", 0f, 1f, false, "Base chance that a prisoner will escape from noble")]
[SettingProperty("Price change rate, days", 0f, 100f, false, "Captors will ask half as much as [value] days before, and ransomers will agree to pay twice as much.")]


1,正则表达式 SettingProperty(\([\s\S]*?)\)]
分析上面的代码结构 发现其都是以[SettingProperty(    开头      以 )] 结尾 至于为什么不是以[SettingProperty开头 以 ] 结尾.看第三行代码 出现了两个]符号,会导致正则表达式提取错误.必须唯一出现才能正确取出
第三行代码如果以SettingProperty( 开头  以 ] 结尾    提取的结果是这样的    Price change rate, days", 0f, 100f, false, "Captors will ask half as much as [value
第三行代码如果以SettingProperty( 开头  以 )] 结尾   提取的结果是这样的   "Price change rate, days", 0f, 100f, false, "Captors will ask half as much as [value] days before, and ransomers will agree to pay twice as much."
那么哪个正确就很明显了
那么我们想提取字符串的正则表达式就是  SettingProperty(\([\s\S]*?)\)]           正则表达式这块我也不是很精通.有兴趣的朋友自行百度


2.使用汉化小助手提取字符串
[attach]5040831[/attach]

如上图,我们复制提取文本到一个记事本或者excel表格里(建议表格)
[attach]5040834[/attach]

[attach]5040835[/attach]
整理完成后保存,然后回到汉化小助手导入刚才整理好的汉化文本

[attach]5040837[/attach]

点击汉化字符串,小助手完成后,会自动弹出一个记事本文档(替代翻译完成.txt)

[attach]5040838[/attach]

整个复制这个记事本j里的内容(替代翻译完成.txt)回到dnspy
[attach]5040840[/attach]
点击编译

[attach]5040841[/attach]
编译完成

然后dnspy 左上角    文件  -   全部保存  -  确定


保留你这个翻译文本,下次用到的时候,只需要打开dnspy复制 打开小助手粘贴 点击提取 点击汉化 复制汉化后的代码 粘贴替换dnspy里的代码.编译 全部保存就行了
绝对不会超过30秒.小助手里有一键机翻(有道),还有新旧版本文本字符串变动对比功能.


进游戏看下
[attach]5040845[/attach]
没毛病

教程到此结束






















































作者: icybeer    时间: 2021-1-1 12:27
谢谢楼主

作者: t2dk48190    时间: 2021-1-1 13:06
机翻神器 虽然我不用,但挡不住我对大神的膜拜
作者: まよいの帰り道    时间: 2021-1-6 21:39
感谢教学

作者: Ares灬新歌    时间: 2021-1-10 22:39
11111111111111111

作者: 强迫症1231    时间: 2021-1-12 20:21
66666666666666

作者: 忘记曾经    时间: 2021-1-13 05:43
111111111111

作者: fei400656    时间: 2021-1-22 23:07
hjghsdfsdfsdf

作者: 依然天雪    时间: 2021-2-15 02:39
看看,谢谢分享

作者: 061225    时间: 2021-2-18 14:02
给力,过来溜达下

作者: 915542916    时间: 2021-2-22 14:33
666666666666666666

作者: 1477886534    时间: 2021-2-23 11:51
谢谢大佬分享

作者: kongxp    时间: 2021-3-13 14:06
111111111111
作者: 36536aa    时间: 2021-3-17 14:36
谢谢楼主分享!

作者: 276651269    时间: 2021-3-17 18:13
11111111111111

作者: areeed    时间: 2021-4-8 08:24
6666666666666

作者: Ankh-Lost    时间: 2021-4-18 14:02
谢谢楼主!

作者: 汝之所求    时间: 2021-4-26 03:13
谢谢大佬
作者: wishizhend    时间: 2021-5-25 14:04
zsfcafaafa1

作者: zelite    时间: 2021-5-25 15:36
感谢楼主分享的内容!看到楼主这么努力分享,我只能顶个贴感谢一下了!
作者: 逃逸天涯    时间: 2021-5-28 16:35
         感谢分享

作者: 86vbf    时间: 2021-6-21 17:27
666666666666666666666666666666666666

作者: wishizhend    时间: 2021-6-24 21:12
阿达啊啊大爱的

作者: 迷影小帅哥    时间: 2021-6-24 21:36
                                

作者: zz2453476677    时间: 2021-8-28 09:41
楼主辛苦了,谢谢楼主,感谢楼主分享,楼主好人一生平安!!!
作者: LostKey    时间: 2021-8-28 22:28
222222222222222222222

作者: 邪魅孤傲i    时间: 2021-9-9 20:43
666666666666666666

作者: c161216    时间: 2021-9-16 02:40
55555555555555555555555555555555

作者: 流ヅ年    时间: 2021-9-16 19:11
6366666666666666666666666666666666

作者: jy02998404    时间: 2021-9-27 19:15
asdadadadadadadad1

作者: 塞爱维    时间: 2021-9-27 21:28
非常有用
作者: 应验教教主    时间: 2021-10-11 17:07
啊啊啊啊

作者: eragons11    时间: 2021-11-5 16:04
感谢分享!

作者: 卡兹sama    时间: 2021-11-9 04:48
6666666666666

作者: li1love09    时间: 2021-11-9 08:06
大佬 是不是适合所有MOD汉化么 巫师3的MOD也能汉化的吗
作者: 1161653004    时间: 2021-12-3 06:49
5555555555555555555555555555

作者: djy9941    时间: 2021-12-7 23:24
感谢楼主分享,楼主辛苦了

作者: 1109201621    时间: 2021-12-26 14:05
感谢楼主分享
作者: BFAJoJohn    时间: 2021-12-29 23:11
DDDDDDDDD

作者: -----------666    时间: 2022-1-15 01:29
66666666666

作者: zxiaoqingzz    时间: 2022-1-17 02:46
奔夺革 吉格斯工

作者: Sad_cry    时间: 2022-1-26 23:31
感谢分享

作者: leo8    时间: 2022-1-30 18:07
谢谢楼主!
作者: 22_33ww    时间: 2022-2-8 15:09
好耶!

作者: Xing76319906    时间: 2022-3-5 18:54
6666666666666666666666666666

作者: 离别时    时间: 2022-3-5 19:21
谢谢分享


作者: 呆到﹏自然萌ゞ    时间: 2022-4-6 00:12
666666666

作者: cenabeyond    时间: 2022-4-6 16:38
大发送到发送到发送到发
作者: x898466    时间: 2022-4-6 16:46
6666666666666666666

作者: a981328770    时间: 2022-4-6 22:29
支持支持

作者: slimlady    时间: 2022-4-9 20:18
牛啊 围观学习
作者: okko0620    时间: 2022-4-10 13:42
谢谢分享!

作者: FRANKYALE    时间: 2022-4-12 15:58
66666666666666

作者: 梅轼君    时间: 2022-4-15 00:13
谢谢谢谢
作者: 你说、我说    时间: 2022-4-18 18:10
6666666666666666666666666666

作者: zhangsj_01    时间: 2022-4-20 22:17
6666666666666666666

作者: wojiaohanchen    时间: 2022-4-24 00:45
6666666666666666666

作者: 2557365412q    时间: 2022-4-27 07:29
1111111111111111

作者: jpqa123    时间: 2022-4-27 15:07
[MOD汉化教程]只需30秒你就能汉 ...

作者: Akaabnehiroya    时间: 2022-4-27 15:49
感谢分享

作者: sen0501    时间: 2022-5-2 17:30
非常详细 爆赞

作者: dgb870701    时间: 2022-5-9 20:52
谢谢大佬,我自己也学习学习

作者: 3dm_15306401    时间: 2022-5-10 17:53
dddddddddddddddddddddddddddddddddddd

作者: yellowge    时间: 2022-5-11 22:03
6666666666

作者: 有你那就好    时间: 2022-5-14 01:18
风格风格顺丰是

作者: ujgba    时间: 2022-5-30 11:25
奥利该

作者: 论坛有怪兽    时间: 2022-5-30 11:36
6666666666666

作者: 3dm_16529998    时间: 2022-5-30 11:47
666666666666666666666666

作者: a934462377    时间: 2022-6-4 10:49
666666666666666

作者: a519581035    时间: 2022-6-4 17:19
谢谢分享!!!

作者: 3dm_19430436    时间: 2022-6-12 20:39
666666666666
作者: aaazzzaz    时间: 2022-6-15 15:26
好好好好好好非常好
作者: ymh1991ymh    时间: 2022-6-16 19:50
感谢楼主分享优质内容,希望继续努力!
作者: 536369178    时间: 2022-6-16 19:52
厉害了!先收藏,再回复!谢谢!楼主太棒了!我先下为敬!
作者: kori00    时间: 2022-6-18 09:02
前来学习

作者: li1love09    时间: 2022-6-18 09:06
老哥 我就想下 是任何MOD都能汉化么 不单单是骑砍的? 学会了这 是不是其他游戏的MOD 生肉的 我也能自己汉化?
作者: wangmeng198223    时间: 2022-6-23 16:19
回复支持版主支持楼主新闻发布更多更好的东东

作者: klh12378910    时间: 2022-6-23 16:53
6666666666666666

作者: 宁做登徒子    时间: 2022-7-2 09:05
牛啊牛啊牛

作者: afottu    时间: 2022-7-3 21:21
丰东股份刚哥

作者: bighead_1980    时间: 2022-7-18 19:35
111111111111111
作者: 落叶丶微笑    时间: 2022-7-26 10:51
6666666666666666666666666666666666

作者: a841215632157    时间: 2022-8-7 23:27
11111111111111
作者: kkdtz1    时间: 2022-8-10 08:14
66666666666

作者: 11830289.9    时间: 2022-8-10 14:56
太强了,感谢大佬分享。

作者: 时间毁灭诺言    时间: 2022-8-13 15:57
1111111111111111111111111111

作者: 132354    时间: 2022-8-15 17:40
不错,试一下

作者: zdthmkp123    时间: 2022-8-18 08:55
谢谢分享

作者: woshishui??    时间: 2022-8-18 21:13
感谢大佬无私的分享

作者: 羽根が无い天使    时间: 2022-8-22 17:15
666666666666666666666666

作者: 淫乳花僧逗奶    时间: 2022-8-22 19:02
66666666666

作者: Mars`dada    时间: 2022-8-28 16:52
666666666666666

作者: a3285631532    时间: 2022-9-2 11:06
66666666666666

作者: saintxue    时间: 2022-9-3 11:45
某些管家软件可能不太友好.

26号更新小助手
针对正则表达式比较难搞,小助手加入一个暴力提取模式.举例
text("abcde")
text("abcdf")

作者: xym814    时间: 2022-9-26 18:58
这种汉化是基于程序能读取中文编码的情况才行吧  有的英文游戏并不识别中文编码  
作者: wd287658279    时间: 2022-10-11 10:46
66666666试试研究下

作者: dongzijun    时间: 2022-10-13 12:03
xiazai
dzada


作者: 2515928590    时间: 2022-10-13 13:25
先收藏一下

作者: yoyotv323    时间: 2022-10-13 14:44

感谢分享
作者: w774431242    时间: 2022-10-16 09:44
这么好的东西!感谢楼主分享!感谢论坛!看看隐藏内容是什么!谢谢!




欢迎光临 3DMGAME论坛 (https://bbs.3dmgame.com/) Powered by Discuz! X3.2