红色警戒吧 关注:288,248贴子:4,579,423
  • 14回复贴,共1

[教程]如何汉化CNCNET5

只看楼主收藏回复

一楼不说事


IP属地:陕西1楼2021-07-20 12:32回复
    需要的工具 : 记事本 ,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里面找不到文本,我们下一个楼层会讲这些特殊的地方


    IP属地:陕西2楼2021-07-20 12:47
    收起回复
      这一楼说说MainMenu的汉化方法
      我们在Dnspy里面找到了MainMenu绘制的类,但是却没有看到Text。
      原来Text放在ini配置文件里面,我们进入Resources目录
      再进入主题的目录,比如Yuri Theme,里面有一个MainMenu.ini
      打开这个ini,我们很惊喜的找到原来Text在这里。

      在这个文件里修改保存即可。
      其他主题里面也是一样的方法。


      IP属地:陕西3楼2021-07-20 12:53
      回复
        这一楼说说Options的汉化方法

        同样在clientxna.exe里面也找到有关Options的语句。
        它藏在哪里呢?
        我们进入Resources目录,进入Binaries目录,再进入XNA目录
        把DTAConfig.dll拖到Dnspy里面
        在这个文件里面我们可以找到Options绘制的语句

        用例子中同样的方法可以进行汉化。
        有的人可能会遇到编辑类的时候点编译下面出现报错。
        这是反编译的时候代码出现问题了,修复它需要一定的C#语言知识
        这里提供另一种修改Text的方法
        我们在代码窗口按右键,点击编辑IL指令
        找到你要翻译的文本,翻译后点击确定
        用这种方式不会出现报错,但是操作会比较繁琐。
        如果你有一定的C#语言知识,还是推荐用编辑类的方法。
        教程到此结束,大家快去汉化自己的CNCNET5吧!


        IP属地:陕西4楼2021-07-20 13:02
        回复
          好家伙,干货真不错


          IP属地:河南来自Android客户端5楼2021-07-20 15:57
          回复
            好厉害


            IP属地:天津来自Android客户端6楼2021-07-20 16:12
            回复
              在这里放一个几乎没有汉化的汉化包
              alonehacker.lanzoui.com/ijDAVrnavij


              IP属地:陕西7楼2021-07-20 16:35
              回复
                我只想知道他们为啥没有原版的启动器,只有尤复的。
                连队指挥官


                IP属地:北京来自Android客户端8楼2021-07-20 17:17
                收起回复