Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

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),安装即可。
如果安装了最新 VC++ 运行库依旧无法运行,请检查程序所在目录下是否残留 MSVCP140.dll、VCRUNTIME140.dll 等文件,如有请删除。

🍬第三方库

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

🎋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

AltStyle によって変換されたページ (->オリジナル) /