Mobaxterm 全版本汉化教程,安全第一,授人以渔

查看 205|回复 11
作者:anysoft   
Mobaxterm 全版本汉化教程,安全第一,授人以渔。
- 包含Mobaxterm、MoTTYNew.exe、MobaRTE.exe等
- 界面翻译、非标字符翻译、16进制替换翻译
1. 前言
前两年曾经跟进Mobaxterm的版本汉化,由于个人时间问题22.1后续没更新了,陆续有朋友问我能否继续更新。
在此统一告知,因个人生活工作时间原因,没有足够的精力跟进更新,(基本不再跟进更新)。
在此发布详细的汉化流程/教程/语言资源等,喜欢使用新版本的小伙伴可以自己照着去翻译,另外Mobaxterm毕竟是远程连接的工具,处于
[color=]安全考虑
还是
[color=]建议自己去翻译
比较稳妥。(当然如果你不在意安全问题可以随意~~),看到论坛有朋友讲到有些汉化版中有后门,所以安全问题还是重视点。
另外偶然发现在GitHub上也有朋友一直跟进翻译,至于安全与否自行斟酌使用,不做评价。可以搜 MobaXterm Chinese Simplified
2. 工具准备
Sisulizer 4  自己搜
  用作界面翻译(因为Radialix 3部分界面反编译失败,无法展示和修改)
Radialix 3  自己搜
  用作界面翻译和非标字符翻译
aardio   https://ide.update.aardio.com/releases/aardio.7z
  用作16进制替换(有兴趣可以自己改成python脚本)
已经上传python3脚本(感谢
[color=]GPT
同学友情提供
平替aardio脚本),可以看17楼或者直接资源下载

3. 翻译流程
视频B站已发布:(建议看视频,流程清晰)
MobaxTerm 汉化翻译教程_哔哩哔哩_bilibili
[color=]- sisulizer4  翻译部分界面
- Radialix 3 翻译部分界面中只读字符对象,非标字符(只读)翻译
[color=]- aardio脚本进行16进制翻译
[color=]- 翻译 MoTTYNew.exe 和MobaRTE.exe 等
- 7z 替换 CygUtils.plugin 中插件
3.1 使用 sisulizer4
创建翻译项目


1683771987301.png (549.34 KB, 下载次数: 0)
下载附件
2023-5-11 10:33 上传

选择要翻译的程序


1683772029293.png (362.55 KB, 下载次数: 0)
下载附件
2023-5-11 10:33 上传

文件格式默认不要修改


1683772050361.png (164.53 KB, 下载次数: 0)
下载附件
2023-5-11 10:33 上传

不要全选,否则会导致翻译后程序无法正常加载插件包


1683772130142.png (321.52 KB, 下载次数: 0)
下载附件
2023-5-11 10:33 上传

选中扫描继承窗口


1683772172332.png (241.91 KB, 下载次数: 0)
下载附件
2023-5-11 10:33 上传

语言选中文简体就行,和翻译文件配套


1683772204297.png (245.16 KB, 下载次数: 0)
下载附件
2023-5-11 10:33 上传

项目创建完成后,选择“文件”-->“导入”,选择对应的tmx文件对程序进行自动翻译


1683772252512.png (307.53 KB, 下载次数: 0)
下载附件
2023-5-11 10:33 上传

选择tmx


1683772290394.png (200.74 KB, 下载次数: 0)
下载附件
2023-5-11 10:33 上传

翻译完成,右击左边的菜单,选择构建会在程序目录zh文件夹下生成一个翻译后的exe


1683772326502.png (264.27 KB, 下载次数: 0)
下载附件
2023-5-11 10:34 上传

把CygUtils.plugin 复制到zh文件夹,(不然程序启动会提示缺少包文件),启动zh文件夹下MobaXterm_Personal_23.1.exe即可看到翻译效果。
到了这里大部分已经翻译完成,还有一些界面及菜单问题需要下一步翻译
3.2 Radialix 3 翻译非标字符
创建项目


1683773095257.png (330.05 KB, 下载次数: 0)
下载附件
2023-5-11 10:48 上传

选择源语言为英语(美国)


1683773142066.png (173.76 KB, 下载次数: 0)
下载附件
2023-5-11 10:48 上传

非标字符标签页勾选提取非标字符串


1683773172403.png (169.56 KB, 下载次数: 0)
下载附件
2023-5-11 10:48 上传

目标设置选项页选择为:“创建本地化文件”


1683773196090.png (113.11 KB, 下载次数: 0)
下载附件
2023-5-11 10:48 上传

目标语言选择"中文(简体)"


1683773222028.png (74.17 KB, 下载次数: 0)
下载附件
2023-5-11 10:48 上传

在使用 Radialix 3 翻译时候,需要注意两点
1. 关联完记忆库后需要在菜单栏  项目-->属性-->自动翻译中去掉模糊翻译
2. RT_RCDATA -- TFORMXTERM 和 TFORMPORTFORWARDINGEDIT,需要切换只读后翻译,再切换回来(确保被翻译和翻译后的对象处于非只读状态,也就是颜色不是灰色)


1683773718368.png (377.83 KB, 下载次数: 0)
下载附件
2023-5-11 10:56 上传

3.3 16进制替换
针对菜单和一些弹出对话框消息的字符需要用16进制替换


1683772877134.png (328.07 KB, 下载次数: 0)
下载附件
2023-5-11 10:41 上传

3.4 TTY和RTE替换


MoTTY为远程连接的ssh界面
MobaRTE为远程文件对比的程序
翻译流程参考3.1 3.2 即可


1683773295299.png (309.08 KB, 下载次数: 0)
下载附件
2023-5-11 10:48 上传

4. 资源
https://wwi.lanzoup.com/b0be9oscj
密码:h6k4
[color=]所有用到资源均已上传,其他程序自行搜索下载
5. 参考
[color=]不懂得可以参考大佬的教程
【汉化教程】--第4课:Radialix 3基础知识与自动翻译 - 『脱壳破解区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn
【汉化教程】--第5课:程序的语言包文件制作 - 『脱壳破解区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn
6.  结语
同类产品
目前远程连接工具很多,收费的,免费的,开源的都有。英文版本也不是啥门槛,刚开始习惯中文,慢慢的用久了就可以全英文版本了。没必要为了中文或则好看而忽视了安全你问题。
Xshell / Portx / Termius / windterm /tabby
建议多端使用可以用
Termius 免费版,window下喜欢花哨的话可以用 mobaxterm原版或自己翻译,服务器较多且经常传输文件建议还是用xshell吧。

下载次数, 下载附件

anysoft
OP
  


xuerff 发表于 2023-5-11 14:05
aardio脚本能不能仔细说说,顺便求一下脚本代码研究一下

其实和语言没关系。
就是一些字符串是直接二进制写在exe里边的,我用16进制方式读取整个exe文件后进行16进制替换,替换完了后写出到exe文件。
代码如下:写的非常粗暴
[JavaScript] 纯文本查看 复制代码import console;
import crypt;
import crypt.bin;
console.log("开始翻译");
var path = "D:\Development\Softwares\MobaXterm\23.2_preview\zh";
var filename = "MobaXterm_Personal_23.2_Preview1_CHS.exe";
var translatefile = "D:\Development\Softwares\MobaXterm\rdmp\translate.ini";
var data = string.load(path + "\" + filename);
data = crypt.bin.encodeHex(data)
data = string.replace(data," ","");
data = string.replace(data,'\r\n',"");
data = string.replace(data,'\r',"");
data = string.replace(data,'\n',"");
data = string.upper(data);
var file = io.open(translatefile);
var line = "";
var count = 0;
var newfile = "";
while(file.read(0)){
    line = file.read("%s");
    if(#line > 3){
            var tab = string.split(line,"\|");
                if(string.find(data,tab[1])){
                        if(#tab[1]!=#tab[2]){
                                console.log(tab[1])
                                continue;
                        }
                        
                        count++;
            //if(string.find(data,tab[1])){
                    data = string.replace(data,tab[1],tab[2]);
            }else {
                    newfile = newfile+"\r\n"+line;
            }
            
        }
}
//^.*:
//;.*$
// \r\n
string.save(path + "\a.txt", newfile)
string.save(path + "\1" +  filename ,crypt.bin.decodeHex(data));
console.log("翻译完成:" + count);
console.pause(true);
至于16进制怎么来的?
用hxd或者winhex等编辑器打开exe搜素关键字,找到对应16进制,然后关键词替换为中文,复制对应的16进制就输出成了 translate.ini文件
刚刚让GPT帮忙写了个python脚本,试了下好用又快
[Python] 纯文本查看 复制代码import binascii
import os
path = "D:\\Development\\Softwares\\MobaXterm\\23.2_preview\\zh"
input_file_name = "MobaXterm_Personal_23.2_Preview1_CHS.exe"
output_file_name = "2MobaXterm_Personal_23.2_Preview1_CHS.exe"
translate_file_name = "D:\\Development\\Softwares\\MobaXterm\\rdmp\\translate.ini"
# 打开要修改的exe文件
with open(os.path.join(path,input_file_name), 'rb') as f:
    data = bytearray(f.read())
# 读取translate.ini文件并进行数据替换
with open(translate_file_name, 'r') as f:
    for line in f:
        # 按|分隔数据对
        src, dest = line.strip().split('|')
        # 将16进制字符串转换成字节数组
        src_bytes = binascii.unhexlify(src)
        dest_bytes = binascii.unhexlify(dest)
        # 在data中搜索并替换数据对
        offset = 0
        while True:
            # 在偏移量offset处开始搜索
            offset = data.find(src_bytes, offset)
            if offset == -1:
                # 没有找到,退出循环
                break
            # 找到了,将原始数据替换为目标数据
            print('找到一处,替换中...')
            data[offset:offset+len(src_bytes)] = dest_bytes
            # 移动偏移量到替换后的位置,避免重复替换
            offset += len(dest_bytes)
# 输出修改后的exe文件
with open(os.path.join(path,output_file_name), 'wb') as f:
    f.write(data)
josan2e9hz   

https://github.com/kingToolbox/WindTerm/
开源免费,当前正式版本为2.5版本,
不会访问【非用户指定的IP地址】,
所以无在线升级。
已经使用windows版本很长时间了,安全稳定,
还可以替代本地的cmd和powershell。
shandian281   

抢个沙发再说,很详尽的内容,感谢大佬分享。
27149   

感谢楼主分享!!还这么详细 …   收藏!
tanzhiwei   

虽然我用Xshell,还是支持下楼主
独行剑侠   

感恩大佬!我之前一直用的版本太难用了。感谢~
[i]
lockxxx   

感谢楼主分享
ghosttang   

翻译汉化真的是一个体力技术活
WX2886   

感谢大佬分享
您需要登录后才可以回帖 登录 | 立即注册

返回顶部