比特币开发文档中文翻译

317 阅读2分钟

比特币开发文档中文翻译

以前有所涉猎web3相关技术,长时间没碰,很多知识都已经忘了。今天再回去看相关的知识,其中看到比特币开发文档时,想着看中文快速过一下知识点,发现网站没有多语言。到github上看了下有没有翻译成中文的,结果有些是停止翻译了的,有些是用不同技术栈翻译的。

本着费曼学习法,何不自己根据网站的开源仓库developer.bitcoin.org和技术栈(sphinx)翻译成中文呢。于是今天开了这个坑。

首先,下载源码:

git clone https://github.com/bitcoin-dot-org/developer.bitcoin.org

根据文档提示,加上自己电脑环境,我是Mac电脑上装了conda,所以我切了个python3的环境:

cd developer.bitcoin.org
conda activate py3
pip install -r requirements.txt
make html
cd _build/html
python -m http.server

然后在浏览器打开 http://localhost:8000 。发现网页空白,F12看浏览器Console,说是jQuery未定义。那就是没有引入jquery cdn。

查找了下问题。自己在_theme/layout.html中添加了jquery cdn。重新make html后打开网页,可以显示内容了。

但是有些页面除了头,页面内容却是空白,搜了一下 issues,发现有人已经提出这个问题(issues144)了。但是仓库作者好像弃坑了,已经两年多没更新了,这个问题也没得到解决。

为此,我想着是不是因为requirements.txt里面的sphinx包没锁版本,导致高版本出现的侧边栏主题问题(.sphinxsidebar {margin-left: -100%;})。所以,我尝试了修改下sphinx的版本,最后定位成sphinx==4.2.0版本,解决了上面jquery的问题(不再需要自己加jquery cdn了),但是侧边栏主题样式的问题还是存在。

由于对sphinx不了解。一开始想通过主题覆盖来解决这个bug,但是一看到sphinx的文档,稍微翻阅了一下,没翻到,头大了。也懒得翻了。

再回到源码,翻阅了下,于是通过添加覆盖更高权重的css来解决这个问题。

在文件_theme/static/sphinxbootstrap4.css_t添加:

div.sphinxsidebar.coverml100 {
    margin-left: 0px !important;
}

然后文件_theme/static/sphinxbootstrap4.js_t修改:

- $(".sphinxsidebar").addClass("col-md-3");
+ $(".sphinxsidebar").addClass("col-md-3 coverml100");

重新make html后打开网页,正常了。

最后,这个翻译仓库地址为developer.bitcoin.cn。还没有部署到合适的域名上。后续会持续翻译更新仓库,并部署到一个域名上供在线访问。