3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

查看: 48108|回复: 518
打印 上一主题 下一主题

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

  [复制链接]

111

主题

2378

帖子

8472

积分

3DM创意工坊

Rank: 11Rank: 11Rank: 11Rank: 11

贡献度
517
金元
63737
积分
8472
精华
3
注册时间
2010-6-3
跳转到指定楼层
主题
发表于 2020-4-25 18:37 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 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进入游戏,取一个关键词  



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

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



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



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


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





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

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




'解决方法

解决方法:
查看引用 把对应的文件拖进来

前两个在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.使用汉化小助手提取字符串


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



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



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



整个复制这个记事本j里的内容(替代翻译完成.txt)回到dnspy

点击编译


编译完成

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


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


进游戏看下

没毛病

教程到此结束





















































MB2 MOD汉化小助手1.1.rar

392.01 KB, 下载次数: 138

评分

5

查看全部评分

回复

使用道具 举报

111

主题

2378

帖子

8472

积分

3DM创意工坊

Rank: 11Rank: 11Rank: 11Rank: 11

贡献度
517
金元
63737
积分
8472
精华
3
注册时间
2010-6-3
来自 2#
 楼主| 发表于 2020-4-28 01:07 | 只看该作者
本帖最后由 ET 于 2020-4-28 01:25 编辑
纸篓 发表于 2020-4-28 00:11
难道我找错地方了?

解决了


public class SettingSorterOverlayVM : global::TaleWorlds.Library.ViewModel
编缉类的时候

主窗口显示是正确的.但是一编辑类就自动变成 ViewModel


每次编辑类的时候都要替换.算是DNSPY的锅.不晓得能不能改设置using System;
using System.ComponentModel;
using PartyScreenEnhancements.Comparers;
using PartyScreenEnhancements.Saving;
using TaleWorlds.Library;

namespace PartyScreenEnhancements.ViewModel.Settings.Tabs.Sorting
{
   
// Token: 0x02000011 RID: 17
   
public class SettingSorterOverlayVM : ViewModel  //修改为:public class SettingSorterOverlayVM : global::TaleWorlds.Library.ViewModel

难受没学过C#,也找不到人问,只能自己摸索










回复 支持 1 反对 0

使用道具 举报

11

主题

488

帖子

1681

积分

游戏狂人

Rank: 6Rank: 6

贡献度
213
金元
8290
积分
1681
精华
0
注册时间
2015-8-14
QQ
来自 3#
发表于 2020-4-28 15:15 | 只看该作者
ET 发表于 2020-4-28 15:10
那么能请你教我怎么解决那个
Cannot reference 'System.Runtime.CompilerServices.TupleElementNamesAttr ...

解决不了问题,但是可以解决提出问题的人。。不。。语句~!
删了它!

他的代码结构并没有依赖这两个变量名。
只是依赖了传参。
删除之【return: {}】,之后安逸了


回复 支持 反对

使用道具 举报

111

主题

2378

帖子

8472

积分

3DM创意工坊

Rank: 11Rank: 11Rank: 11Rank: 11

贡献度
517
金元
63737
积分
8472
精华
3
注册时间
2010-6-3
来自 4#
 楼主| 发表于 2020-4-28 16:39 | 只看该作者
本帖最后由 ET 于 2020-4-28 16:50 编辑

关于XorberaxBanks-Banks修改时无法引用System.Runtime.CompilerServices.TupleElementNamesAttribute
仅做记录
0.修改引用删除
<

1.修改代码片断1

<2.修改代码片段2<3.修改代码片段3
<

4.修改代码片段4
<
回复 支持 反对

使用道具 举报

0

主题

9

帖子

68

积分

初级玩家

Rank: 2

贡献度
0
金元
680
积分
68
精华
0
注册时间
2012-3-4
5#
发表于 2021-1-1 12:27 | 只看该作者
谢谢楼主
回复 支持 反对

使用道具 举报

34

主题

1660

帖子

1768

积分

游戏狂人

Rank: 6Rank: 6

贡献度
35
金元
16275
积分
1768
精华
0
注册时间
2011-4-27
6#
发表于 2021-1-1 13:06 | 只看该作者
机翻神器 虽然我不用,但挡不住我对大神的膜拜
回复 支持 反对

使用道具 举报

1

主题

286

帖子

396

积分

高级玩家

Rank: 4

贡献度
0
金元
3955
积分
396
精华
0
注册时间
2014-9-20
7#
发表于 2021-1-6 21:39 | 只看该作者
感谢教学
回复 支持 反对

使用道具 举报

0

主题

7

帖子

66

积分

初级玩家

Rank: 2

贡献度
0
金元
660
积分
66
精华
0
注册时间
2013-2-21
8#
发表于 2021-1-10 22:39 | 只看该作者
11111111111111111
回复 支持 反对

使用道具 举报

0

主题

331

帖子

400

积分

高级玩家

Rank: 4

贡献度
0
金元
3999
积分
400
精华
0
注册时间
2013-7-26
9#
发表于 2021-1-12 20:21 | 只看该作者
66666666666666
回复 支持 反对

使用道具 举报

0

主题

3

帖子

63

积分

初级玩家

Rank: 2

贡献度
0
金元
630
积分
63
精华
0
注册时间
2016-5-8
10#
发表于 2021-1-13 05:43 | 只看该作者
111111111111
回复 支持 反对

使用道具 举报

0

主题

376

帖子

419

积分

高级玩家

Rank: 4

贡献度
1
金元
4154
积分
419
精华
0
注册时间
2008-12-19
11#
发表于 2021-1-22 23:07 | 只看该作者
hjghsdfsdfsdf
回复 支持 反对

使用道具 举报

0

主题

130

帖子

194

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1940
积分
194
精华
0
注册时间
2014-2-2
12#
发表于 2021-2-15 02:39 | 只看该作者
看看,谢谢分享
回复 支持 反对

使用道具 举报

1

主题

440

帖子

692

积分

超级玩家

Rank: 5Rank: 5

贡献度
1
金元
6883
积分
692
精华
0
注册时间
2012-5-23
13#
发表于 2021-2-18 14:02 | 只看该作者
给力,过来溜达下
回复 支持 反对

使用道具 举报

0

主题

6

帖子

7

积分

新手玩家

Rank: 1

贡献度
0
金元
70
积分
7
精华
0
注册时间
2018-7-7
14#
发表于 2021-2-22 14:33 | 只看该作者
666666666666666666
回复 支持 反对

使用道具 举报

0

主题

57

帖子

120

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1200
积分
120
精华
0
注册时间
2015-7-24
15#
发表于 2021-2-23 11:51 | 只看该作者
谢谢大佬分享
回复 支持 反对

使用道具 举报

15

主题

1763

帖子

2021

积分

游戏达人

Rank: 7Rank: 7Rank: 7

贡献度
65
金元
17610
积分
2021
精华
0
注册时间
2004-2-9
16#
发表于 2021-3-13 14:06 | 只看该作者
111111111111
回复 支持 反对

使用道具 举报

0

主题

13

帖子

13

积分

新手玩家

Rank: 1

贡献度
0
金元
130
积分
13
精华
0
注册时间
2021-3-16
17#
发表于 2021-3-17 14:36 | 只看该作者
谢谢楼主分享!
回复 支持 反对

使用道具 举报

0

主题

114

帖子

149

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1486
积分
149
精华
0
注册时间
2017-7-16
18#
发表于 2021-3-17 18:13 | 只看该作者
11111111111111
回复 支持 反对

使用道具 举报

12

主题

138

帖子

710

积分

超级玩家

Rank: 5Rank: 5

贡献度
108
金元
2779
积分
710
精华
0
注册时间
2016-12-5
19#
发表于 2021-4-8 08:24 | 只看该作者
6666666666666
回复 支持 反对

使用道具 举报

0

主题

17

帖子

17

积分

新手玩家

Rank: 1

贡献度
0
金元
170
积分
17
精华
0
注册时间
2019-11-9
20#
发表于 2021-4-18 14:02 | 只看该作者
谢谢楼主!
回复 支持 反对

使用道具 举报

0

主题

20

帖子

21

积分

新手玩家

Rank: 1

贡献度
0
金元
213
积分
21
精华
0
注册时间
2020-12-15
21#
发表于 2021-4-26 03:13 来自手机 | 只看该作者
谢谢大佬
回复 支持 反对

使用道具 举报

3

主题

478

帖子

559

积分

高级玩家

Rank: 4

贡献度
1
金元
5548
积分
559
精华
0
注册时间
2011-11-20
22#
发表于 2021-5-25 14:04 | 只看该作者
zsfcafaafa1
回复 支持 反对

使用道具 举报

0

主题

675

帖子

755

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
7549
积分
755
精华
0
注册时间
2012-6-7
23#
发表于 2021-5-25 15:36 | 只看该作者
感谢楼主分享的内容!看到楼主这么努力分享,我只能顶个贴感谢一下了!
回复 支持 反对

使用道具 举报

0

主题

51

帖子

116

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1159
积分
116
精华
0
注册时间
2016-8-17
24#
发表于 2021-5-28 16:35 | 只看该作者
         感谢分享
回复 支持 反对

使用道具 举报

0

主题

41

帖子

55

积分

初级玩家

Rank: 2

贡献度
0
金元
545
积分
55
精华
0
注册时间
2019-8-3
25#
发表于 2021-6-21 17:27 | 只看该作者
666666666666666666666666666666666666
回复 支持 反对

使用道具 举报

3

主题

478

帖子

559

积分

高级玩家

Rank: 4

贡献度
1
金元
5548
积分
559
精华
0
注册时间
2011-11-20
26#
发表于 2021-6-24 21:12 | 只看该作者
阿达啊啊大爱的
回复 支持 反对

使用道具 举报

0

主题

25

帖子

28

积分

新手玩家

Rank: 1

贡献度
0
金元
282
积分
28
精华
0
注册时间
2019-4-27
27#
发表于 2021-6-24 21:36 | 只看该作者
                                
回复 支持 反对

使用道具 举报

1

主题

296

帖子

305

积分

高级玩家

Rank: 4

贡献度
0
金元
3049
积分
305
精华
0
注册时间
2021-3-30
28#
发表于 2021-8-28 09:41 | 只看该作者
楼主辛苦了,谢谢楼主,感谢楼主分享,楼主好人一生平安!!!
回复 支持 反对

使用道具 举报

0

主题

111

帖子

170

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1700
积分
170
精华
0
注册时间
2012-4-26
29#
发表于 2021-8-28 22:28 | 只看该作者
222222222222222222222
回复 支持 反对

使用道具 举报

0

主题

7

帖子

66

积分

初级玩家

Rank: 2

贡献度
0
金元
664
积分
66
精华
0
注册时间
2015-4-4
30#
发表于 2021-9-9 20:43 | 只看该作者
666666666666666666
回复 支持 反对

使用道具 举报

0

主题

98

帖子

161

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1613
积分
161
精华
0
注册时间
2015-6-17
31#
发表于 2021-9-16 02:40 | 只看该作者
55555555555555555555555555555555
回复 支持 反对

使用道具 举报

0

主题

104

帖子

155

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1545
积分
155
精华
0
注册时间
2014-5-17
32#
发表于 2021-9-16 19:11 | 只看该作者
6366666666666666666666666666666666
回复 支持 反对

使用道具 举报

2

主题

191

帖子

214

积分

中级玩家

Rank: 3Rank: 3

贡献度
2
金元
2059
积分
214
精华
0
注册时间
2010-9-6
33#
发表于 2021-9-27 19:15 | 只看该作者
asdadadadadadadad1
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-3-23 10:26 , Processed in 0.047559 second(s), 21 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表