ohhhhhhhhhh
好久不见(咕咕咕太久了没人看了23333
Wexond 汉化计划
不耐烦的可以点击########################################
之前在翻 awesome-electron 的时候,看到一些很奇葩的应用:
用“浏览器”做浏览器——
并且这么做的还真的有几个,看起来确实挺好的
Wexond 便是其中之一,界面十分现代化,你甚至能在上面装Chrome扩展!
为什么选择 Electron ?
Wexond 被许多人憎恨使用 Electron 说, 像它是一个网络浏览器内的网络浏览器。这是有点真实,但从技术上讲,这并不重要(也请记住,像Firefox这样的浏览器也有使用网络技术构建的用户界面)。它不会使浏览器更慢或更重, 根据 Wexond 资源使用情况, 与 Chrome 相比, 情况正好相反。选择 Electron 是构建浏览器的最佳选项。我们可以构建我们想要的 UI,使自定义更好。我们没有足够的资源来构建 Chromium 数周,编辑近 2500 万行代码并搜索数周,例如负责更改按钮图标的代码。相反,我们选择了 Electron,它只使用几个Chromium组件,需要正确显示外部内容,而无需任何谷歌服务,这使得浏览器更轻。尽管只使用Chromium的一部分,它并没有真正影响浏览器的功能。我们可以实现除谷歌服务之外的所有Chromium功能。
不过因为太好看了,就原谅它吧==
不过目前Wexond依然是一个不完成品:并没有管理扩展等功能,如果访问对应的页面的话会显示网络错误,必须自己将扩展的crx解压到对应位置,有些访问底层api的扩展不可用等。
并且!它目前还没有中文!
于是我便开始琢磨该如何改变显示语言——
作者目前貌似并没有打算实现i18n,并且由于是electron应用,使用TypeScript    ,改起来应该很简单?
于是我直接创建了一个fork,打算来大搞一番
但是这时的我事实上并没有任何TypeScript基础,便在当晚恶补了一遍JavaScript入门和TypeScript入门教程。。。(我太难了)
于是我便开始了艰难的汉化旅程。。。
汉化Readme和文档
说实话,这部分的文字是最多的,但也是最容易汉化的。
因为直接上google翻译基本就能差不多完整翻译了,只需要一些些少许的修补,就能非常流畅了。
文档(docs文件夹)内有一堆快捷键说明和扩展安装方法,我觉得这些东西着实应该直接内置在应用程序内。。
大概花了我半个小时的时间?
汉化应用本体
这部分其实是最麻烦的,因为 Wexond 的显示的文字是完全硬编码在源码中,没有独立的语言文件
找英文
我想到的第一个方法是直接根据我能看到的文字,用VSCode直接在源码中搜索,并且替换为对应的中文——
事实证明这种方法很有效,但是也催生了一些人类迷惑行为:
比如:
- 刚刚翻译完了这句,在下文同样的语境同样的文字,翻译成了不一样的、、、
 - 汉化了一下突然某个功能就崩溃了
 
等等等。
另外,吐槽一下,新标签页的自定义的那几个选项我是真的看不懂,是有梗还是什么情况??
连google翻译出来的都完全文不对题(有道翻译的也差不多,应该不是翻译软件的问题)
正常情况下google应该比我聪明多了啊(doge)
就是下面这玩意:
就非常令人头秃,我最后直接按照显示的效果重新命名了这部分
于是我找到了另一个方法:
翻源码
逐渐发现规律之后,找到硬编码的文字就简单多了
几乎所有的界面显示的文字,都在每个目录下的index.tsx文件中
但是!!
仅index.tsx就有92个之多,并且这玩意到底是啥我也不清楚、、
于是,继JavaScript入门和TypeScript入门之后,我又看了一晚上React的教程、、
看过之后发现,其实好多都是写逻辑的,需要汉化的一半不到的样子
然后汉化完这部分了
右键菜单
这部分东西,我找了半天也没找到全部的菜单项
最后发现,如果不自定义右键菜单的话是显示Electron自带的Chromium的菜单项的
并且这部分自定义在逻辑代码中,让我翻了好久
不过也都全部翻译完了
翻译习惯
我本人平时是使用Edge Chromium的,所以发现Chrome 很多逻辑和我之前习惯的不太一样,例如:
edge是收藏夹,Chrome是书签edge是新建标签页,Chrome是打开新的标签页edge是新建InPrivate窗口,Chrome是打开新的无痕窗口edge是扩展,Chrome是扩展程序- more
 
所以我翻译的时候就很纠结,到底该用哪个翻译
最后纠结了半天,因为Wexond是书签,更像Chrome一点,我就用了Chrome系的翻译
其实我翻译的时候参考的不是原版
Chrome,是一个第三方的叫Cent Browser的浏览器(中文名百分浏览器)
这一部分是最耗时间的,整整用了我3天(因为粗略看了三种语言的入门教程。。
发布
一开始我是直接Fork的原仓库,并没有看仓库的tag版本,以为master就是当前最新的正式版、、
然后我改的也是master分支
结果master是个nightly版本,也不好再回退回去
于是就这么将错就错了下去
最后打包的时候还有个自动更新的选项,但是我把自动更新的yml直接去了
因为如果自动更新,URL还是旧的,那就会直接更新到新版的英文版本(我其实也懒得做自动更新)
打包的时候我用了一点“魔法”,直接把160 MB的包压缩到了1.64 MB (手动Doge)
程序本体压缩到了2.3 MB左右
下载链接
文件不大,压缩包1.64 MB
结束语
emmmm,马上又开学了,不知道下一次发博客得什么时候了——
也许我买到新手机后可能会发一篇评测?
当然如果你有想让我写的内容也可以直接发到我的邮箱!
下次再见啦——