Skip to content

cngege/GitHubDesktop2Chinese

Repository files navigation

GitHubDesktop2Chinese

GitHub Actions GitHub Actions GitHub Release GitHub Release GitHub License

🥮这是什么

这是一个自动替换GithubDesktop中文本为目标语言文本的程序,
优点是对GithubDesktop频繁更新的版本变化兼容性比较高。
即便只有那么一两条失去了翻译,也只需要手动再修改添加一下即可,
项目维护成本很低

🎯怎么使用它

🎀GOTO BiliBili Video🎀

第一种方法: 下载或自行构建 GitHubDesktop2Chinese.exe 双击运行, 自动联网获取最新localization.json完成汉化
第二种方法: 下载或自行构建 GitHubDesktop2Chinese.exe 和 localization.json 放在同一个文件夹。运行程序即可
GitHubDesktop每次版本更新都需要运行一次此程序才能完成汉化

🎏怎么编译源代码

下载克隆项目 本地使用VS2022 使用CMAKE打开(直接用vs2022打开项目文件夹),即可构建

👕我怎么帮助完成汉化或者后续更新时如何补充汉化

只需要克隆仓库,阅读json/关于一些注意事项.txt,注意一些编写时的事项, 然后在json/localization.json 文件中参照已经写过的格式补充要汉化的条目即可
将此文件放在程序目录下,确保程序可以读取运行 然后提交PR 如果你写了部分翻译条目,可以先将其放在main_dev或者renderer_dev条目中, 然后按下shift运行软件,开启 仅替换指定映射项,以优化汉化作者替换时间 进行汉化测试 完成之后, 将对应条目移动到mainrenderer 数组最后, 提交PR

🍬映射文件:localization.json

此文件存储所有GitHubDesktop中英文文本到本地化(中文)文本之间的映射,
使用正则匹配的方式 将包含英文字符串的文本替换为包含中文字符串的文本。
项目更新主要更新此文件。

  • 路径: [项目目录]/json/localization.json
  • 主节点 - version(int): 此json文件的版本,此值仅会因未来格式更新而更新
  • 主节点 - minversion(string): 需要最低的加载器版本
  • 主节点 - tip(array[string]): 用于在加载器中显示的通知信息
  • 主节点 - select(JSON): 本地化时提示进行选择性修改
    • array[]
      • replaceFile(string): 进行替换的文件
      • tooltip(string): 提示信息
      • enable(bool):此条是否启用
      • replace(array[]): 二维数组, 用户启用时的替换项
  • 主节点 - main(array): 存储用于替换GitHubDesktop的main.js的映射
  • 主节点 - main_dev(array): 存储用于替换GitHubDesktop的main.js的映射,区别于开发时快速替换
  • 主节点 - renderer(array): 存储用于替换GitHubDesktop的renderer.js的映射
  • 主节点 - renderer_dev(array): 存储用于替换GitHubDesktop的renderer.js的映射,区别于开发时快速替换

使用环境变量开启GitHubDesktop预览版选项

内部脚本预览版判断机制

	const nn = !1;
	function rn() {
		return !nn && "1" === process.env.GITHUB_DESKTOP_PREVIEW_FEATURES
	}
	// rn() 返回true时,开启预览版机制
  • 设置环境变量开启预览版选项
 > set GITHUB_DESKTOP_PREVIEW_FEATURES=1
 > "GitHub Desktop.lnk"
  • 或者通过加载器按提示选择自动开启预览版功能

🤖3.4.19版本代码开始支持, 3.5.0正式版前端界面支持AI生成提交摘要

3.4.19 仅预览版支持显示AI按钮,或者通过上述手段开启预览版选项
3.5.0 已经默认在添加协作者右侧显示

AI机器人

🧭其他

如果报错提示找不到openssl 的dll文件,请更新到最新版
如果你有任何建议可以提issues.

Tip

如果打开 GitHubDesktop2Chinese.exe 时发现缺失 MSVCP140_ATOMIC_WAIT.dll,可以尝试下载微软运行库 Microsoft Visual C++ Redistributable 14.42.34433.0。 找到 最新的 Microsoft Visual C++ 可再发行程序包版本,选择与你相应的操作系统的版本进行下载(比如64位的电脑选择 vc_redist.x64.exe ,32位的电脑选择 vc_redist.x86.exe),安装即可。

🍬第三方库

感谢以下诸位提供的优质的开源项目

🎋TODO

  • json文件格式修改,用于标识文件版本、最低支持加载器(GitHubDesktop2Chinese.exe)的版本
  • 加载器加入程序版本宏定义
  • 加载器支持替换映射的第三个参数,即查找参数,将第三个参数(如果有)进行全局正则查找,
    将匹配到的结果在第二个参数中进行特殊字符的替换,替换标记为#{number}
  • 加载器检查json文件所需最低版本是否满足需求,如果不满足且定义了--nopause则提示后退出, 否则提示后询问是否强制替换
  • 加载器在没有定义--nopause的情况下,在替换之前进行一次暂停,以便用户自行确认信息后是否往下执行
  • 加载器自动检测更新,用户可以选择一键自动更新
  • 提示确认后自动更新
  • JSON文件附加描述文本,在加载器中显示
  • 加载器显示所有项目参与者并在汉化后显示
  • 汉化异常后恢复汉化前文件
  • 改动json格式允许进行提示后选择性汉化
  • 在映射文件中添加转为预览版
  • 支持使用系统http代理,包括环境变量和读系统代理注册表
  • 下载更新的断点续传功能
  • 读取GitHub Desktop的最新版和本地版本比较,如果有新版,则用其他颜色给出提示

🍬星标(收藏)历史

Star History Chart

🏘️感谢大家的群策群力

Contributors

点击展开示例图片 展示图

About

GithubDesktop语言本地化(汉化)工具 【GitHub桌面客户端中文汉化】

Topics

Resources

License

Stars

Watchers

Forks

Contributors