Wexond汉化计划

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 很多逻辑和我之前习惯的不太一样,例如:

  1. edge是收藏夹,Chrome是书签
  2. edge是新建标签页,Chrome是打开新的标签页
  3. edge是新建InPrivate窗口,Chrome是打开新的无痕窗口
  4. edge是扩展,Chrome是扩展程序
  5. 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

国内CF反代

国际Github Release

结束语

emmmm,马上又开学了,不知道下一次发博客得什么时候了——

也许我买到新手机后可能会发一篇评测?

当然如果你有想让我写的内容也可以直接发到我的邮箱!

我的邮箱

下次再见啦——