需要的工具 : 记事本 ,Dnspy ,xnb中文字体
我们都知道CNCNET5是用XNA绘制的界面,所以就需要用Dnspy来进行反编译。
我们打开Dnspy,把clinetxna.exe拖进去

看到如上界面,思考(猜测)可知GUI绘制应该是在DXGUI里面
用多人游戏举个例子,点击DTAClinet.DXGUI.Multiplayer.CnCNet

根据这些类名我们可以判断出大厅相关的在CnCNetLobby里面,点击CnCNetLobby

在代码窗口里往下翻,果然看到了按钮的文本,我们右键,编辑类
把Text = 后面翻译成中文。注意只翻译Text = 后面的内容!
如图

再点击编译,文件-保存模块。

然后打开clientxna.exe看看效果。
意外出现了!
改成中文的地方都变成了问号!
造成这个的原因是缺少字体,我们可以做一个xnb格式的中文字体替换掉。
这里为了偷懒我们把mo界面汉化的字体拿来用,楼中楼有下载链接。
把这5个文件放到Resources目录里替换掉

重新打开游戏
这下中文恢复正常了。
其他地方可以像这个例子一样翻译。
但是有些地方在clientxna.exe里面找不到文本,我们下一个楼层会讲这些特殊的地方
我们都知道CNCNET5是用XNA绘制的界面,所以就需要用Dnspy来进行反编译。
我们打开Dnspy,把clinetxna.exe拖进去

看到如上界面,思考(猜测)可知GUI绘制应该是在DXGUI里面
用多人游戏举个例子,点击DTAClinet.DXGUI.Multiplayer.CnCNet

根据这些类名我们可以判断出大厅相关的在CnCNetLobby里面,点击CnCNetLobby

在代码窗口里往下翻,果然看到了按钮的文本,我们右键,编辑类
把Text = 后面翻译成中文。注意只翻译Text = 后面的内容!
如图

再点击编译,文件-保存模块。

然后打开clientxna.exe看看效果。
意外出现了!
改成中文的地方都变成了问号!
造成这个的原因是缺少字体,我们可以做一个xnb格式的中文字体替换掉。
这里为了偷懒我们把mo界面汉化的字体拿来用,楼中楼有下载链接。
把这5个文件放到Resources目录里替换掉

重新打开游戏
这下中文恢复正常了。
其他地方可以像这个例子一样翻译。
但是有些地方在clientxna.exe里面找不到文本,我们下一个楼层会讲这些特殊的地方